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