我现在正在使用我的脚本(Python)在使用AWS cloudformation创建堆栈后发送检查实例状态的请求。 但这似乎不是一个好的解决方案。然后我尝试使用cfn-signal检查实例的状态,结果发现当收到信号时,成功创建了cloudformation堆栈,但EC2实例仍在检查中。
使用AWS cloudformatoin启动EC2实例
时,如何知道实例已准备就绪答案 0 :(得分:2)
您可以使用AWS的WaitCondition。基本上,WaitCondition与CloudFormation模板一起使用,以确保所需的资源正在运行。
有关详细信息click here
以下摘录摘自上述文章
什么是WaitCondition以及谁需要它?
WaitCondition可以被视为一个定时信号量,它暂停执行yourCloudFormation模板,并在继续进行堆栈创建操作之前等待一些成功信号。在某些情况下,您需要暂停CloudFormation堆栈的执行,例如资源依赖性或用户体验。一些场景还包括:
- 作为用户体验的一部分,您希望暂停CloudFormation模板的完成并显示输出部分,直到所有资源都已正确配置并处于工作状态。
- 存在资源依赖性,必须在其他AWS资源可以联系之前正确配置实例上的一些其他脚本和包。例如,对于成功的后端配置,前端应用程序应处于运行状态。
- 在其他实例执行身份验证之前,Active Directory应处于运行状态的环境。
- 在私有子网实例尝试从外部世界获取包之前,NAT实例应处于工作状态。