目前我正在设计Cloudformation模板以创建EC2实例并监控EC2实例,使用cloudwatch启用详细信息监控,并在达到指标后将实例状态更改为停止,
我能够创建一个能够启用指标的实例,但我无法将实例状态更改为停止。
答案 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
。
可能值得一试。