咨询AWS EC2实例预置时添加Spot请求的CloudFormation模板示例
CloudFormation 预置带Spot请求的EC2实例示例模板
你不需要在CloudFormation中单独定义Spot请求资源,只需要在AWS::EC2::Instance资源的属性中添加InstanceMarketOptions配置即可自动创建关联的Spot请求,以下是可用的模板示例:
模板使用前注意事项
- 替换模板中所有带
<占位符>标记的参数为你实际环境的对应值 SpotOptions中的MaxPrice为你愿意支付的Spot实例最高小时价,不配置时默认采用按需实例价格InterruptionBehavior支持3种取值:terminate(中断直接销毁实例)、stop(中断停止实例)、hibernate(中断休眠实例),可根据业务场景选择SpotInstanceType可选one-time(一次性Spot请求)或persistent(持久型Spot请求,实例中断后会自动重新申请)
完整模板示例
AWSTemplateFormatVersion: '2010-09-09' Description: EC2 Spot Instance CloudFormation Template Resources: MySpotEC2Instance: Type: AWS::EC2::Instance Properties: InstanceType: <t3.micro> # 替换为你需要的实例规格 ImageId: <ami-0abcdef1234567890> # 替换为对应区域的AMI ID KeyName: <your-key-pair-name> # 替换为你的EC2密钥对名称 SubnetId: <subnet-0123456789abcdef0> # 替换为目标子网ID SecurityGroupIds: - <sg-0123456789abcdef0> # 替换为目标安全组ID # Spot请求核心配置 InstanceMarketOptions: MarketType: spot SpotOptions: MaxPrice: "0.01" # 按需修改最高出价,单位:美元/小时 SpotInstanceType: one-time InterruptionBehavior: terminate Tags: - Key: Name Value: My-Spot-EC2-Instance Outputs: InstanceId: Description: ID of the created Spot EC2 instance Value: !Ref MySpotEC2Instance SpotRequestId: Description: Associated Spot Request ID Value: !GetAtt MySpotEC2Instance.SpotInstanceRequestId
部署后验证
模板部署完成后,你可以在EC2控制台的「Spot请求」页面找到对应ID的Spot请求,查看其状态、价格、中断设置等信息。
内容的提问来源于stack exchange,提问作者arya b raj
相关产品推荐
相关产品推荐

