メニュー
AWS CloudFormation
ユーザーガイド (API Version 2010-05-15)

AWS::EC2::SpotFleet

AWS::EC2::SpotFleet リソースは、スポットインスタンスのコレクションのリクエストを作成します。スポットフリートは、指定した容量ターゲットを満たすようなスポットインスタンスの数を起動しようと試みます。詳細については、Linux インスタンス用 Amazon EC2 ユーザーガイドの「スポットインスタンス」を参照してください。

構文

AWS CloudFormation テンプレートでこのエンティティを宣言するには、次の構文を使用します。

JSON

Copy
{ "Type" : "AWS::EC2::SpotFleet", "Properties" : { "SpotFleetRequestConfigData" : SpotFleetRequestConfigData } }

YAML

Copy
Type: "AWS::EC2::SpotFleet" Properties: SpotFleetRequestConfigData: SpotFleetRequestConfigData

プロパティ

SpotFleetRequestConfigData

スポットフリートリクエストの設定。

Required: Yes

タイプ: Amazon EC2 SpotFleet SpotFleetRequestConfigData

更新に伴う要件: 置換。

戻り値

参照番号

このリソースの論理 ID が Ref 組み込み関数に提供されると、Ref によりリソース名が返されます。

Ref 関数の使用方法の詳細については、「Ref」を参照してください。

次の例は、2 つの起動指定でスポットフリートを作成します。加重容量は同じです。したがって、Amazon EC2 はそれぞれの指定で同じ数のインスタンスを起動します。詳細については、「スポットフリートの仕組み」(Linux インスタンス用 Amazon EC2 ユーザーガイド) を参照してください。

JSON

Copy
"SpotFleet": { "Type": "AWS::EC2::SpotFleet", "Properties": { "SpotFleetRequestConfigData": { "IamFleetRole": { "Fn::GetAtt": [ "IAMFleetRole", "Arn"] }, "SpotPrice": "1000", "TargetCapacity": { "Ref": "TargetCapacity" }, "LaunchSpecifications": [ { "EbsOptimized": "false", "InstanceType": { "Ref": "InstanceType" }, "ImageId": { "Fn::FindInMap": [ "AWSRegionArch2AMI", { "Ref": "AWS::Region" }, { "Fn::FindInMap": [ "AWSInstanceType2Arch", { "Ref": "InstanceType" }, "Arch" ] } ]}, "SubnetId": { "Ref": "Subnet1" }, "WeightedCapacity": "8" }, { "EbsOptimized": "true", "InstanceType": { "Ref": "InstanceType" }, "ImageId": { "Fn::FindInMap": [ "AWSRegionArch2AMI", { "Ref": "AWS::Region" }, { "Fn::FindInMap": [ "AWSInstanceType2Arch", { "Ref": "InstanceType" }, "Arch" ] } ]}, "Monitoring": { "Enabled": "true" }, "SecurityGroups": [ { "GroupId": { "Fn::GetAtt": [ "SG0", "GroupId" ] } } ], "SubnetId": { "Ref": "Subnet0" }, "IamInstanceProfile": { "Arn": { "Fn::GetAtt": [ "RootInstanceProfile", "Arn" ] } }, "WeightedCapacity": "8" } ] } } }

YAML

Copy
SpotFleet: Type: AWS::EC2::SpotFleet Properties: SpotFleetRequestConfigData: IamFleetRole: !GetAtt [IAMFleetRole, Arn] SpotPrice: '1000' TargetCapacity: Ref: TargetCapacity LaunchSpecifications: - EbsOptimized: 'false' InstanceType: Ref: InstanceType ImageId: Fn::FindInMap: - AWSRegionArch2AMI - Ref: AWS::Region - Fn::FindInMap: - AWSInstanceType2Arch - Ref: InstanceType - Arch SubnetId: Ref: Subnet1 WeightedCapacity: '8' - EbsOptimized: 'true' InstanceType: Ref: InstanceType ImageId: Fn::FindInMap: - AWSRegionArch2AMI - Ref: AWS::Region - Fn::FindInMap: - AWSInstanceType2Arch - Ref: InstanceType - Arch Monitoring: Enabled: 'true' SecurityGroups: - GroupId: Fn::GetAtt: - SG0 - GroupId SubnetId: Ref: Subnet0 IamInstanceProfile: Arn: Fn::GetAtt: - RootInstanceProfile - Arn WeightedCapacity: '8'

関連リソース

CloudWatch アラームに応じて Amazon ECS サービスをスケールするには、Application Auto Scaling AWS::ApplicationAutoScaling::ScalableTarget および AWS::ApplicationAutoScaling::ScalingPolicy リソースを使用します。