改变Ec2实例状态的Cloudformation

时间:2017-02-15 12:25:39

标签: amazon-web-services amazon-cloudformation

目前我正在设计Cloudformation模板以创建EC2实例并监控EC2实例,使用cloudwatch启用详细信息监控,并在达到指标后将实例状态更改为停止,

我能够创建一个能够启用指标的实例,但我无法将实例状态更改为停止。

2 个答案:

答案 0 :(得分:2)

如果要在指定的AWS::CloudWatch::Alarm资源转换为stop状态时将EC2实例状态更改为ALARM,则可以使用特殊arn:aws:automate:region:ec2:stop ARN来完成此操作警报的AlarmActions属性。

但请注意,在此之前,您需要使用Amazon EC2或CloudWatch控制台手动创建至少一个停止,终止或重启警报,以创建 EC2ActionsAccess IAM角色。创建此IAM角色后,您可以直接使用CloudFormation资源创建停止,终止或重新启动警报。有关详细信息,请参阅PutMetricAlarm documentation

答案 1 :(得分:1)

查看CloudFormation AWS::EC2::Instance resource的官方文档,似乎不支持此功能。

您始终可以从源中删除资源,但这当然会终止实例,我不认为这是您正在寻找的内容。

也许一种解决方法是更改​​UserData部分,以便它在shutdown -h now的行中运行某些内容,同时将InstanceInitiatedShutdownBehavior更改为stop

可能值得一试。