前回 CloudFormation で Amazon EC2 インスタンスを作成し、インターネット経由でアクセスを試みましたが、セキュリティグループの設定が抜けていたため、今回は「セキュリティグループ」及び「タイムゾーン」の設定も含め CloudFormation で Amazon EC2 インスタンスを作成する手順を解説します。
【AWS】CloudFormation で Amazon EC2 インスタンスを作成する手順【単純な作成】【Part.1】
CloudFormation でリソースを作成する順番
以下の順番でリソースを作成します。
- VPC
- サブネット(Subnet)
- セキュリティグループ(Security Group)
- EC2 インスタンス
以下、それぞれのリソースについて分解して解説し、最後に1つにまとめます。
CloudFormation で VPC を作成する
CloudFormation で VPC を作成します。
VPC の設定は以下で説明する 4 種類のみとなります。
【VPC の作成】
AWSTemplateFormatVersion: “2010-09-09” |
■CidrBlock
VPC に含める CIDR ブロックを設定します。
例: “10.0.0.0/16″。
■EnableDnsSupport
VPC に対して DNS 解決がサポートされているかどうかを指定します。
この属性が true の場合、Amazon DNS サーバーはインスタンスの DNS ホスト名を対応する IP アドレスに解決します。それ以外の場合は解決しません。
デフォルトでは、値は true に設定されます。
■EnableDnsHostnames
VPC 内に起動されるインスタンスが DNS ホスト名を取得するかどうかを指定します。
この属性が true の場合、VPC 内のインスタンスは DNS ホスト名を取得します。それ以外の場合は取得しません。
EnableDnsHostnames を true に設定できるのは、EnableDnsSupport 属性も true に設定した場合のみです。
デフォルトでは、値は false に設定されます。
■InstanceTenancy
ハードウェア専有インスタンスの属性を設定します。
- default ← インスタンスは共有するハードウェアで実行されます。
- dedicated ← インスタンスはシングルテナントのハードウェアで実行されます。
- host ← インスタンスは Dedicated Host で実行します。Dedicated Host はユーザーが設定を制御できる隔離サーバーです。
CloudFormation で Subnet(サブネット)を作成する
CloudFormation で Subnet を作成します。
【Subnet(サブネット)の作成】
MySubnet01: |
■AvailabilityZone
サブネットを作成するアベイラビリティーゾーンです。デフォルトは、AWS によってゾーンが選択されます。
■CidrBlock
CIDR ブロックを設定します。
■VpcId
サブネットを作成する VPC の ID を含む Ref 構造です。
VPC ID は、「 Ref: VPCID 」のように、Ref プロパティの値として設定します。
CloudFormation でセキュリティグループを作成する
CloudFormation でセキュリティグループを新規作成し EC2 インスタンスに割り当てます。
【セキュリティグループ作成の構文】
Type: AWS::EC2::SecurityGroup |
【インターネット経由で SSH ログインを有効にする場合】
InstanceSecurityGroup: |
■GroupName
セキュリティグループの名前を設定します。
有効な値
- Constraints(制約): Up to 255 characters in length.(255文字まで) Cannot start with sg-.(sg-で始めることはできない)
- Constraints for EC2-Classic: ASCII characters
- Constraints for EC2-VPC(VPCの制約): a-z, A-Z, 0-9, spaces, and ._-:/()#,@[]+=&;{}!$*
■GroupDescription
セキュリティグループの説明。
有効な値
- Constraints(制約): Up to 255 characters in length.(255文字まで)
- Constraints for EC2-Classic: ASCII characters
- Constraints for EC2-VPC(VPCの制約): a-z, A-Z, 0-9, spaces, and ._-:/()#,@[]+=&;{}!$*
■SecurityGroupIngress
以下に続く構文でインバウンドルールを設定します。
■IpProtocol
IP プロトコルの名前または番号を設定します。
■FromPort
TCP および UDP プロトコルのポート範囲の開始番号、または ICMP タイプの番号を設定します。
■ToPort
TCP および UDP プロトコルのポート範囲の終了番号、または ICMP コードを設定します。
CloudFormation で EC2 インスタンスを作成する
【EC2 インスタンスの作成】
# EC2 |
全部を足したテンプレート
上記各リソースを作成するテンプレートを総合したテンプレートです。
AWSTemplateFormatVersion: “2010-09-09” |
コメント