LoginSignup
0
0

More than 3 years have passed since last update.

AWS CDKで構築したVPCのテンプレートを眺めるだけの記事

Last updated at Posted at 2019-10-05

早速眺めていきます。

ソース

cdk_stack.py
from aws_cdk import (
    core,
    aws_ec2 as ec2
)

class CdkStack(core.Stack):

    def __init__(self, scope: core.Construct, id: str, **kwargs) -> None:
        super().__init__(scope, id, **kwargs)

        ec2.Vpc(self,"CDK_TEST_HIROGA")

app.synth() するところは省略。

Overview

(アイコンが小さくて分かりづらい...)
image.png

  • VPC: 1つ
  • Subnet: Public2つ、Private2つ
  • InternetGateway: VPCに対して1つ
  • NatGateway: PublicSubnetごとに1つ、合計2つ
  • EIP: NatGatewayごとに1つ、合計2つ
  • ほか、RouteTable, Route, SubnetRouteTableAssociation

VPC

  • デフォルトのCIDR Blockは10.0.0.0/16
  • Nameの命名規則は、指定しない限り スタック名/リソースのIDになるようだ。
  CDKTESTHIROGA2CBE18D7:
    Type: AWS::EC2::VPC
    Properties:
      CidrBlock: 10.0.0.0/16
      EnableDnsHostnames: true
      EnableDnsSupport: true
      InstanceTenancy: default
      Tags:
        - Key: Name
          Value: cdk/CDK_TEST_HIROGA
    Metadata:
      aws:cdk:path: cdk/CDK_TEST_HIROGA/Resource

Public Subnet

  • ネットワークアドレスはデフォルトで18ビット。
  • AZ IDはデフォルトで apne1-az4apne1-az11
  • aws-cdk:subnet-name は、既存のSubnetをCDKでimportする際に参照するための値。何も指定しないと aws-cdk:subnet-type とおなじになるらしい。2
  • aws-cdk:subnet-type はISOLATED, PRIVATE, PUBLICのいずれか。

image.png

  CDKTESTHIROGAPublicSubnet1SubnetEDE92B34:
    Type: AWS::EC2::Subnet
    Properties:
      CidrBlock: 10.0.0.0/18
      VpcId:
        Ref: CDKTESTHIROGA2CBE18D7
      AvailabilityZone:
        Fn::Select:
          - 0
          - Fn::GetAZs: ""
      MapPublicIpOnLaunch: true
      Tags:
        - Key: Name
          Value: cdk/CDK_TEST_HIROGA/PublicSubnet1
        - Key: aws-cdk:subnet-name
          Value: Public
        - Key: aws-cdk:subnet-type
          Value: Public
    Metadata:
      aws:cdk:path: cdk/CDK_TEST_HIROGA/PublicSubnet1/Subnet

おまけ

今回作成したテンプレート


  1. こういう記事ではAZ IDを使ったほうがいいみたいですね。クラメソさんブログ 

  2. Importing an existing VPC 

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0