今回はAWSのCloudFormationを利用してElasticIPを関連付けた状態でEC2インスタンスを作成してみたいと思います。

Amazon Web Servicesではじめる新米プログラマのためのクラウド超入門
- 作者: WINGSプロジェクト阿佐志保
- 出版社/メーカー: 翔泳社
- 発売日: 2016/06/21
- メディア: Kindle版
- この商品を含むブログ (1件) を見る
コード
gistabfebd7c1e9048e60c0ce3cf9eb7228d
各項目の説明
- Instance - EC2インスタンスの設定
- AvailabilityZone -
ap-northeast-1a
のようにリージョンも含めた記載で書きます。このAZにインスタンスが構築されます。 - ImageId - インスタンス構築に利用するAMIのIDです。今回はAmazonLinuxの最新版を利用します。
- InstanceType - そのまま構築したいインスタンスタイプを指定します。
- KeyName - 構築したインスタンスにログインするためのキーペア名を指定します。
- SecurityGroupIds - アタッチするセキュリティグループを指定します。複数個指定できます。
- SubnetId - インスタンスを配置するサブネットのIDを指定します。
- Tags -
Key
とValue
のセットでタグを指定します。複数指定可能です。
- AvailabilityZone -
- ElasticIP - ElasticIPを払い出す
- Domain -
vpc
かstandard
を指定します。VPCでElasticIPを利用する場合はvpc
を、standard
はEC2-Classicを利用する際に利用します。
- Domain -
- ElasticIPAssociate - ElasticIPをインスタンスに関連付ける
- AllocationId -
!GetAtt ElasticIP.AllocationId
でElasticIPに割りあてられたIDを取得します。 - InstanceId -
!Ref Instance
で作成したインスタンスのリソースIDを取得します。
- AllocationId -
まとめ
"AWS::EC2::EIP"
でElasticIPを払い出して
AWS::EC2::EIPAssociation
で関連付け
!GetAtt ElasticIP.AllocationId
でElasticIPのIDを取得して
InstanceId: !Ref Instance
で作成したインスタンスのResourceIDを取得しています。
インスタンスを構築して、ElasticIPを取得して、付与するという3Stepの作業をすることになるのですこしコードは長くなりますが、やってることひとつひとつは単純ですね。

Amazon Web Servicesではじめる新米プログラマのためのクラウド超入門
- 作者: WINGSプロジェクト阿佐志保
- 出版社/メーカー: 翔泳社
- 発売日: 2016/06/21
- メディア: Kindle版
- この商品を含むブログ (1件) を見る