为什么 ECS CloudFormation 模板创建 EC2 Spot 队列
Why does ECS CloudFormation template create an EC2 Spot Fleet
我使用基本设置在 ECS 中创建了一个集群,除了我为集群使用 1 个按需 t2.micro EC2 实例外,没有关于配置的具体信息。
我想看看究竟创建了什么,并查看了 CloudFormation template 集群创建的内容。
我注意到模板中有 EcsSpotFleet 的配置
EcsSpotFleet:
Condition: CreateWithSpot
Type: AWS::EC2::SpotFleet
Properties:
SpotFleetRequestConfigData:
AllocationStrategy: !Ref SpotAllocationStrategy
IamFleetRole: !Ref IamSpotFleetRoleArn
TargetCapacity: !Ref AsgMaxSize
SpotPrice: !If [ CreateWithSpotPrice, !Ref SpotPrice, !Ref 'AWS::NoValue' ]
TerminateInstancesWithExpiration: true
LaunchSpecifications:
....
我想知道为什么要创建这个? 因为我知道 Cluster 实例是使用 ASG + LC 创建的。我唯一的解释是这个队列用于 运行 宁 CloudFormation 堆栈。我在文档中找不到对此的解释,甚至不确定 CloudFormation 堆栈是否需要实例 运行。
p.s。我是 AWS 的新手,对 CloudFormation 也知之甚少。
并非 CloudFormation 中的所有代码都会被执行。它仍然取决于“条件”标志。
AWS 通常使用“条件”
创建一个涵盖大部分用户案例和 enables/disable 部分模板的模板
您可以在此处阅读有关 AWS 文档中条件的更多信息:https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/conditions-section-structure.html
我使用基本设置在 ECS 中创建了一个集群,除了我为集群使用 1 个按需 t2.micro EC2 实例外,没有关于配置的具体信息。
我想看看究竟创建了什么,并查看了 CloudFormation template 集群创建的内容。
我注意到模板中有 EcsSpotFleet 的配置
EcsSpotFleet:
Condition: CreateWithSpot
Type: AWS::EC2::SpotFleet
Properties:
SpotFleetRequestConfigData:
AllocationStrategy: !Ref SpotAllocationStrategy
IamFleetRole: !Ref IamSpotFleetRoleArn
TargetCapacity: !Ref AsgMaxSize
SpotPrice: !If [ CreateWithSpotPrice, !Ref SpotPrice, !Ref 'AWS::NoValue' ]
TerminateInstancesWithExpiration: true
LaunchSpecifications:
....
我想知道为什么要创建这个? 因为我知道 Cluster 实例是使用 ASG + LC 创建的。我唯一的解释是这个队列用于 运行 宁 CloudFormation 堆栈。我在文档中找不到对此的解释,甚至不确定 CloudFormation 堆栈是否需要实例 运行。
p.s。我是 AWS 的新手,对 CloudFormation 也知之甚少。
并非 CloudFormation 中的所有代码都会被执行。它仍然取决于“条件”标志。
AWS 通常使用“条件”
创建一个涵盖大部分用户案例和 enables/disable 部分模板的模板您可以在此处阅读有关 AWS 文档中条件的更多信息:https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/conditions-section-structure.html