📝
CloudFormation で EC2 インスタンスを作成する際にキャパシティーの予約の設定を none にできない
EC2 インスタンスに関するプロパティにはキャパシティ予約の設定がないため、CloudFormation からキャパシティ予約の設定を none にはできませんでした。
代替案としては起動テンプレートで設定する方法があります。
1. EC2 インスタンスを作成してみる
以下の最小構成のテンプレートで EC2 インスタンスを作成してみます。
AWSTemplateFormatVersion: "2010-09-09"
Resources:
MyEC2Instance:
Type: AWS::EC2::Instance
Properties:
ImageId: ami-0d4aa492f133a3068
InstanceType: t2.micro
EC2 インスタンス起動後にキャパシティー予約の設定を確認すると、open になっていました。

2. 起動テンプレートを作成してみる
AWS::EC2::LaunchTemplate CapacityReservationSpecification - AWS CloudFormation
起動テンプレートではキャパシティ予約の設定が可能なので、以下のテンプレートで起動テンプレートを作成してみます。
AWSTemplateFormatVersion: "2010-09-09"
Resources:
MyLaunchTemplate:
Type: AWS::EC2::LaunchTemplate
Properties:
LaunchTemplateName: MyLaunchTemplate
LaunchTemplateData:
ImageId: ami-0d4aa492f133a3068
InstanceType: t2.micro
CapacityReservationSpecification:
CapacityReservationPreference: none
起動テンプレートのキャパシティー予約の設定を確認すると、none になっていました。

3. 起動テンプレートから EC2 インスタンスを起動してみる
手順 2 で作成した起動テンプレートから EC2 インスタンスを起動したところ、キャパシティー予約の設定が none になっていました。

まとめ
今回は CloudFormation で EC2 インスタンスを作成する際にキャパシティーの予約の設定を none にできないという内容を紹介しました。
どなたかの参考になれば幸いです。
Discussion