CloudFormation의 스택에 전부 척 흔들어 보았다
12900 단어 CloudFormationAWS
「후리가나 흔들어 보면 알기 쉬워지잖아?」
라고 생각해 조속히, 기입해 보았습니다.
스스로 보면 알기 쉬워졌으므로 이것으로 좋다고 합니다(;´∀`)
콘솔 매개변수
作法 考えるな 感じろ
AWSTemplateFormatVersion: "2010-09-09"
何作るか紹介するね
Description:
VPCとサブネット作るよ
VPC and Subnet Create
コンソール上で決める詳細情報だよ
Metadata:
コンソールで表示させる入力パラメーターの表示順序決めるよ
"AWS::CloudFormation::Interface":
パラメーターの一覧だよ
ParameterGroups:
項目欄(ラベル)
- Label:
項目で実際に表示される文字 この場合Project Name Prefixと表示されるよ
default: "Project Name Prefix
パラメーター
Parameters:
PJPrefixが書かれたスタックはみんな仲間 クロススタックするとき便利だよ!
- PJPrefix
コンソールで入力するパラメーターだよ
Parameters:
さっきの呪文はここで入力できるよ
PJPrefix:
指定 文字で入力してね(ここではhogeとします)
Type: String
↑ 어떤 것? ↑
스택 만들 때 파라미터라든지 결정되지만, 거기의 설정을 결정하고 있습니다.
이미지와 비추어 보면 이미지하기 쉬울지도!
VPC 및 인터넷 게이트웨이 설정
スタックの設定だよ
Resources:
VPCの設定決めるよ!
VPC:
タイプ 指定したCIDRブロックでVPCを設定するよ
Type: "AWS::EC2::VPC"
情報
Properties:
CIDRブロック
CidrBlock: 10.0.0.0/16
VPCへのDNS解決 有効
EnableDnsSupport: "true"
VPCへのDNS名前解決 有効 ※DNS解決が有効になっていないと名前解決を有効にできないよ!
EnableDnsHostnames: "true"
テナント属性決めるよ デフォルトだと共有ハードウェアになるよ。
InstanceTenancy: default
タグ
Tags:
キー Name
- Key: Name
値 事前に定義した変数(序盤のhoge)を!Subで呼べるよ。つまり"hoge-vpc"ってなるよ!
Value: !Sub "${PJPrefix}-vpc"
インターネットゲートウェイの設定だよ
InternetGateway:
タイプ インターネットゲートウェイ
Type: "AWS::EC2::InternetGateway"
情報
Properties:
タグ
Tags:
キー Name
- Key: Name
値 事前に定義した変数(序盤のhoge)を!Subで呼べるよ。つまり"hoge-igw"ってなるよ!
Value: !Sub "${PJPrefix}-igw"
VPCにインターネットゲートウェイをアタッチするよ!
InternetGatewayAttachment:
タイプ VPCにゲートウェイをアタッチするよ
Type: "AWS::EC2::VPCGatewayAttachment"
情報
Properties:
インターネットゲートウェイのID このRef関数はInternetGatewayの設定を持ってきてくれるよ!
InternetGatewayId: !Ref InternetGateway
VPCのID このRef関数はVPCの設定を持ってきてくれるよ!
VpcId: !Ref VPC
퍼블릭 및 프라이빗 서브넷 구성
パブリックサブネットAの設定だよ
PublicSubnetA:
タイプ サブネット
Type: "AWS::EC2::Subnet"
詳細
Properties:
アベイラビリティゾーン
AvailabilityZone: "ap-northeast-1a"
CIDRブロック
CidrBlock: 10.0.0.0/24
VPCのID Ref関数は指定した値を返してくれるよ(この場合はVPCの設定を持ってきてくれるよ)
VpcId: !Ref VPC
タグ
Tags:
キー Name
- Key: Name
値 事前に定義した変数(hoge)を!Subで呼べるよ つまり"hoge-public-subnet-a"ってなるよ!
Value: !Sub "${PJPrefix}-public-subnet-a"
パブリックサブネットCの設定だよ
PublicSubnetC:
タイプ サブネット
Type: "AWS::EC2::Subnet"
詳細
Properties:
アベイラビリティゾーン
AvailabilityZone: "ap-northeast-1c"
CIDRブロック
CidrBlock: 10.0.2.0/24
VPCのID Ref関数は指定した値を返してくれるよ(この場合はVPCの設定を持ってきてくれるよ)
VpcId: !Ref VPC
タグ
Tags:
キー Name
- Key: Name
値 事前に定義した変数(hoge)を!Subで呼べるよ つまり"hoge-public-subnet-c"ってなるよ!
Value: !Sub "${PJPrefix}-public-subnet-c"
プライベートサブネットAの設定だよ
PrivateSubnetA:
タイプ サブネット
Type: "AWS::EC2::Subnet"
詳細
Properties:
アベイラビリティゾーン
AvailabilityZone: "ap-northeast-1a"
CIDRブロック
CidrBlock: 10.0.1.0/24
VPCのID Ref関数は指定した値を返してくれるよ(この場合はVPCの設定を持ってきてくれるよ)
VpcId: !Ref VPC
タグ
Tags:
キー Name
- Key: Name
値 事前に定義した変数(hoge)を!Subで呼べるよ つまり"hoge-private-subnet-a"ってなるよ!
Value: !Sub "${PJPrefix}-private-subnet-a"
プライベートサブネットCの設定だよ
PrivateSubnetC:
タイプ サブネット
Type: "AWS::EC2::Subnet"
詳細
Properties:
アベイラビリティゾーン
AvailabilityZone: "ap-northeast-1c"
CIDRブロック
CidrBlock: 10.0.3.0/24
VPCのID Ref関数は指定した値を返してくれるよ(この場合はVPCの設定を持ってきてくれるよ)
VpcId: !Ref VPC
タグ
Tags:
キー Name
- Key: Name
値 事前に定義した変数(hoge)を!Subで呼べるよ つまり"hoge-private-subnet-c"ってなるよ!
Value: !Sub "${PJPrefix}-private-subnet-c"
라우팅 테이블 설정
パブリックルートテーブルAの設定だよ
PublicRouteTableA:
タイプ ルートテーブル
Type: "AWS::EC2::RouteTable"
詳細
Properties:
VPCのID Ref関数は指定した値を返してくれるよ(この場合はVPCの設定を持ってきてくれるよ)
VpcId: !Ref VPC
タグ
Tags:
キー Name
- Key: Name
値 事前に定義した変数(hoge)を!Subで呼べるよ つまり"hoge-public-route-a"ってなるよ!
Value: !Sub "${PJPrefix}-public-route-a"
パブリックルートテーブルCの設定だよ
PublicRouteTableC:
タイプ ルートテーブル
Type: "AWS::EC2::RouteTable"
詳細
Properties:
VPCのID Ref関数は指定した値を返してくれるよ(この場合はVPCの設定を持ってきてくれるよ)
VpcId: !Ref VPC
タグ
Tags:
キー Name
- Key: Name
値 事前に定義した変数(hoge)を!Subで呼べるよ つまり"hoge-public-route-c"ってなるよ!
Value: !Sub "${PJPrefix}-public-route-c"
プライベートルートテーブルAの設定だよ
PrivateRouteTableA:
タイプ ルートテーブル
Type: "AWS::EC2::RouteTable"
詳細
Properties:
VPCのID Ref関数は指定した値を返してくれるよ(この場合はVPCの設定を持ってきてくれるよ)
VpcId: !Ref VPC
タグ
Tags:
キー Name
- Key: Name
値 事前に定義した変数(hoge)を!Subで呼べるよ つまり"hoge-private-route-a"ってなるよ!
Value: !Sub "${PJPrefix}-private-route-a"
プライベートルートテーブルCの設定だよ
PrivateRouteTableC:
タイプ ルートテーブル
Type: "AWS::EC2::RouteTable"
詳細
Properties:
VPCのID Ref関数は指定した値を返してくれるよ(この場合はVPCの設定を持ってきてくれるよ)
VpcId: !Ref VPC
タグ
Tags:
キー Name
- Key: Name
値 事前に定義した変数(hoge)を!Subで呼べるよ つまり"hoge-private-route-c"ってなるよ!
Value: !Sub "${PJPrefix}-private-route-c"
인터넷 게이트웨이 라우팅 설정
パブリックルートA
PublicRouteA:
タイプ ルート
Type: "AWS::EC2::Route"
詳細
Properties:
ルートテーブルのID Ref関数は指定した値を返してくれるよ(この場合はPublicRouteTableAの設定を持ってきてくれるよ)
RouteTableId: !Ref PublicRouteTableA
送信先のCIDRブロック
DestinationCidrBlock: "0.0.0.0/0"
ゲートウェイID Ref関数は指定した値を返してくれるよ(この場合はInternetGatewayの設定を持ってきてくれるよ)
GatewayId: !Ref InternetGateway
パブリックルートC
PublicRouteC:
タイプ ルート
Type: "AWS::EC2::Route"
詳細
Properties:
ルートテーブルのID Ref関数は指定した値を返してくれるよ(この場合はPublicRouteTableCの設定を持ってきてくれるよ)
RouteTableId: !Ref PublicRouteTableC
送信先のCIDRブロック
DestinationCidrBlock: "0.0.0.0/0"
ゲートウェイID Ref関数は指定した値を返してくれるよ(この場合はInternetGatewayの設定を持ってきてくれるよ)
GatewayId: !Ref InternetGateway
라우팅 테이블 연결
パブリックサブネットAのルートテーブル関連付け
PublicSubnetARouteTableAssociation:
タイプ サブネットをルートテーブルに関連付ける
Type: "AWS::EC2::SubnetRouteTableAssociation"
詳細
Properties:
サブネットのID Ref関数は指定した値を返してくれるよ(この場合はPublicSubnetAの設定を持ってきてくれるよ)
SubnetId: !Ref PublicSubnetA
ルートテーブルのID Ref関数は指定した値を返してくれるよ(この場合はPublicRouteTableAの設定を持ってきてくれるよ)
RouteTableId: !Ref PublicRouteTableA
パブリックサブネットCのルートテーブル関連付け
PublicSubnetCRouteTableAssociation:
タイプ サブネットをルートテーブルに関連付ける
Type: "AWS::EC2::SubnetRouteTableAssociation"
詳細
Properties:
サブネットのID Ref関数は指定した値を返してくれるよ(この場合はPublicSubnetCの設定を持ってきてくれるよ)
SubnetId: !Ref PublicSubnetC
ルートテーブルのID Ref関数は指定した値を返してくれるよ(この場合はPublicRouteTableCの設定を持ってきてくれるよ)
RouteTableId: !Ref PublicRouteTableC
プライベートサブネットAのルートテーブル関連付け
PrivateSubnetARouteTableAssociation:
タイプ サブネットをルートテーブルに関連付ける
Type: "AWS::EC2::SubnetRouteTableAssociation"
詳細
Properties:
サブネットのID Ref関数は指定した値を返してくれるよ(この場合はPrivateSubnetAの設定を持ってきてくれるよ)
SubnetId: !Ref PrivateSubnetA
ルートテーブルのID Ref関数は指定した値を返してくれるよ(この場合はPrivateRouteTableAの設定を持ってきてくれるよ)
RouteTableId: !Ref PrivateRouteTableA
プライベートサブネットCのルートテーブル関連付け
PrivateSubnetCRouteTableAssociation:
タイプ サブネットをルートテーブルに関連付ける
Type: "AWS::EC2::SubnetRouteTableAssociation"
詳細
Properties:
サブネットのID Ref関数は指定した値を返してくれるよ(この場合はPrivateSubnetCの設定を持ってきてくれるよ)
SubnetId: !Ref PrivateSubnetC
ルートテーブルのID Ref関数は指定した値を返してくれるよ(この場合はPrivateRouteTableCの設定を持ってきてくれるよ)
RouteTableId: !Ref PrivateRouteTableC
출력①: VPC와 VPC의 CIDR
アウトプット これはスタック同士で参照や応答できるクロススタックの目印だよ
Outputs:
VPC:
値 Ref関数は指定した値を返してくれるよ(この場合はVPCの設定を持ってきてくれるよ)
Value: !Ref VPC
クロススタックの参照元にするよ
Export:
名前 事前に定義した変数(hoge)を!Subで呼べるよ つまり"hoge-vpc"ってなるよ!
Name: !Sub "${PJPrefix}-vpc"
VPCのCIDR
VPCCIDR:
値
Value: 10.0.0.0/16
クロススタックの参照元にするよ
Export:
名前 事前に定義した変数(hoge)を!Subで呼べるよ つまり"hoge-vpc-cidr"ってなるよ!
Name: !Sub "${PJPrefix}-vpc-cidr"
출력 ② : 퍼블릭 서브넷 및 프라이빗 서브넷
パブリックサブネットA
PublicSubnetA:
値 Ref関数は指定した値を返してくれるよ(この場合はPublicSubnetAの設定を持ってきてくれるよ)
Value: !Ref PublicSubnetA
クロススタックの参照元にするよ
Export:
名前 事前に定義した変数(hoge)を!Subで呼べるよ つまり"hoge-public-subnet-a"ってなるよ!
Name: !Sub "${PJPrefix}-public-subnet-a"
パブリックサブネットACIDR
PublicSubnetACIDR:
値
Value: 10.0.0.0/24
クロススタックの参照元にするよ
Export:
名前 事前に定義した変数(hoge)を!Subで呼べるよ つまり"hoge-public-subnet-a-cidr"ってなるよ!
Name: !Sub "${PJPrefix}-public-subnet-a-cidr"
パブリックサブネットC
PublicSubnetC:
値 Ref関数は指定した値を返してくれるよ(この場合はPublicSubnetCの設定を持ってきてくれるよ)
Value: !Ref PublicSubnetC
クロススタックの参照元にするよ
Export:
名前 事前に定義した変数(hoge)を!Subで呼べるよ つまり"hoge-public-subnet-c"ってなるよ!
Name: !Sub "${PJPrefix}-public-subnet-c"
パブリックサブネットCCIDR
PublicSubnetCCIDR:
値
Value: 10.0.2.0/24
クロススタックの参照元にするよ
Export:
名前 事前に定義した変数(hoge)を!Subで呼べるよ つまり"hoge-public-subnet-c-cidr"ってなるよ!
Name: !Sub "${PJPrefix}-public-subnet-c-cidr"
プライベートサブネットA
PrivateSubnetA:
値 Ref関数は指定した値を返してくれるよ(この場合はPrivateSubnetAの設定を持ってきてくれるよ)
Value: !Ref PrivateSubnetA
クロススタックの参照元にするよ
Export:
名前 事前に定義した変数(hoge)を!Subで呼べるよ つまり"hoge-private-subnet-a"ってなるよ!
Name: !Sub "${PJPrefix}-private-subnet-a"
プライベートサブネットACIDR
PrivateSubnetACIDR:
値
Value: 10.0.1.0/24
クロススタックの参照元にするよ
Export:
名前 事前に定義した変数(hoge)を!Subで呼べるよ つまり"hoge-private-subnet-a-cidr"ってなるよ!
Name: !Sub "${PJPrefix}-private-subnet-a-cidr"
プライベートサブネットC
PrivateSubnetC:
値 Ref関数は指定した値を返してくれるよ(この場合はPrivateSubnetCの設定を持ってきてくれるよ)
Value: !Ref PrivateSubnetC
クロススタックの参照元にするよ
Export:
名前 事前に定義した変数(hoge)を!Subで呼べるよ つまり"hoge-private-subnet-c"ってなるよ!
Name: !Sub "${PJPrefix}-private-subnet-c"
プライベートサブネットCCIDR
PrivateSubnetCCIDR:
値
Value: 10.0.3.0/24
クロススタックの参照元にするよ
Export:
名前 事前に定義した変数(hoge)を!Subで呼べるよ つまり"hoge-private-subnet-c-cidr"ってなるよ!
Name: !Sub "${PJPrefix}-private-subnet-c-cidr"
출력③ : 루트 테이블
パブリックルートテーブルA
PublicRouteTableA:
値 Ref関数は指定した値を返してくれるよ(この場合はPublicRouteTableAの設定を持ってきてくれるよ)
Value: !Ref PublicRouteTableA
クロススタックの参照元にするよ
Export:
名前 事前に定義した変数(hoge)を!Subで呼べるよ つまり"hoge-public-route-a"ってなるよ!
Name: !Sub "${PJPrefix}-public-route-a"
パブリックルートテーブルC
PublicRouteTableC:
値 Ref関数は指定した値を返してくれるよ(この場合はPublicRouteTableCの設定を持ってきてくれるよ)
Value: !Ref PublicRouteTableC
クロススタックの参照元にするよ
Export:
名前 事前に定義した変数(hoge)を!Subで呼べるよ つまり"hoge-public-route-c"ってなるよ!
Name: !Sub "${PJPrefix}-public-route-c"
プライベートルートテーブルA
PrivateRouteTableA:
値 Ref関数は指定した値を返してくれるよ(この場合はPrivateRouteTableAの設定を持ってきてくれるよ)
Value: !Ref PrivateRouteTableA
クロススタックの参照元にするよ
Export:
名前 事前に定義した変数(hoge)を!Subで呼べるよ つまり"hoge-private-route-a"ってなるよ!
Name: !Sub "${PJPrefix}-private-route-a"
プライベートルートテーブルC
PrivateRouteTableC:
値 Ref関数は指定した値を返してくれるよ(この場合はPrivateRouteTableCの設定を持ってきてくれるよ)
Value: !Ref PrivateRouteTableC
クロススタックの参照元にするよ
Export:
名前 事前に定義した変数(hoge)を!Subで呼べるよ つまり"hoge-private-route-c"ってなるよ!
Name: !Sub "${PJPrefix}-private-route-c"
일단 종료
일단 VPC, 서브넷, 인터넷 게이트웨이, 라우팅 테이블, 아웃풋의 스택 모두에 척 흔들어봤습니다만, 그래. 꽤 공부가 되었다. 전보다 읽을 수 있게 되었다고 할까,
영어(;'∀')무리(;'∀')
같은 알레르기는 완화된 것 같습니다.
이 VPC편 외에
라고 포치포치 써 갈까라고 생각합니다('◇')ゞ
Reference
이 문제에 관하여(CloudFormation의 스택에 전부 척 흔들어 보았다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/sengoku4902/items/c48c75f8b9d95972e947텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)