CloudFormationでAWSリソースを作るためのコードの中身です。
初めて触ったので簡単にネットワーク関連3種類だけです。
1.作成するリソース
作るのはVPC、サブネット、インターネットゲートウェイのみ。
いずれも東京リージョンに置く設定です。
※作成されるリソース
・VPC
・パブリックサブネット×1
・プライベートサブネット×2
・インターネットゲートウェイ
2.YAMLファイル
こちらが実際のファイルの中身です。
何らかのエディターなりメモ帳なりにコピーします。
保存時に拡張子を「.yml」か「.yaml」にするだけです。
【yamlファイルのコード】
AWSTemplateFormatVersion: '2010-09-09'
Parameters:
VpcCIDR:
Type: String
Default: "10.0.0.0/16"
Description: The CIDR block for the VPC.
PublicSubnetCIDR:
Type: String
Default: "10.0.0.0/24"
Description: The CIDR block for the public subnet.
PrivateSubnetCIDR1:
Type: String
Default: "10.0.1.0/24"
Description: The CIDR block for the private subnet 1.
PrivateSubnetCIDR2:
Type: String
Default: "10.0.2.0/24"
Description: The CIDR block for the private subnet 2.
Resources:
# VPC and Subnets
VPC:
Type: 'AWS::EC2::VPC'
Properties:
CidrBlock: !Ref VpcCIDR
EnableDnsSupport: true
EnableDnsHostnames: true
Tags:
- Key: Name
Value: Tokyo-VPC
PublicSubnet:
Type: 'AWS::EC2::Subnet'
Properties:
VpcId: !Ref VPC
CidrBlock: !Ref PublicSubnetCIDR
AvailabilityZone: !Select [ 0, !GetAZs '' ]
MapPublicIpOnLaunch: true
Tags:
- Key: Name
Value: PublicSubnet
PrivateSubnet1:
Type: 'AWS::EC2::Subnet'
Properties:
VpcId: !Ref VPC
CidrBlock: !Ref PrivateSubnetCIDR1
AvailabilityZone: !Select [ 0, !GetAZs '' ]
Tags:
- Key: Name
Value: PrivateSubnet1
PrivateSubnet2:
Type: 'AWS::EC2::Subnet'
Properties:
VpcId: !Ref VPC
CidrBlock: !Ref PrivateSubnetCIDR2
AvailabilityZone: !Select [ 1, !GetAZs '' ]
Tags:
- Key: Name
Value: PrivateSubnet2
# Internet Gateway
InternetGateway:
Type: 'AWS::EC2::InternetGateway'
Properties:
Tags:
- Key: Name
Value: tokyo-igw
3.作成結果
CloudFormationの「スタック」画面を確認します。
画像のように、色々作成できています。
画像にある範囲では、3種類ほど見えています。
<作成結果>
・クラスター(とりまとめ役)
・VPC
・パブリックサブネット
・プライベートサブネット
・インターネットゲートウェイ
VPCは画像では見れませんが、できてます。
4.設定内容
各リソースの設定内容も書いておきます。
①リソース
②VPC
③EC2
こちらは今回は使ってないけどEC2です。