【发布时间】:2020-12-01 18:19:30
【问题描述】:
我正在尝试使用 boto3 编写一个脚本来启动一个实例并等待它启动。根据 wait_until_running 的文档,它应该等到实例完全启动(我假设检查应该没问题)但不幸的是它只适用于 wait_until_stopped 并且在 wait_until_running 的情况下它只是启动实例并且不等到它完全开始。不知道我在这里做错了什么还是这是boto3的错误。
代码如下:
import boto3
ec2 = boto3.resource('ec2',region_name="ap-southeast-2")
ec2_id = 'i-xxxxxxxx'
instance = ec2.Instance(id=ec2_id)
print("starting instance " + ec2_id)
instance.start()
instance.wait_until_running()
print("instance started")
【问题讨论】:
-
服务员只等到状态变为
running以下:pending,running,shutting-down,terminated,stopping,stopped。跨度> -
wait_until_running()应该等到实例的状态更改为running。它不会等到操作系统完全启动,并且所有服务都已启动等。这就是我假设您说“完全启动”时的意思。 -
Thaks @MarkB,我只是想设置几秒钟的睡眠间隔并检查直到端口 22 可以访问(确保实例最终启动)。这是一个好方法还是有其他更好的 AWS 方法来完成这项工作。
标签: python amazon-web-services boto3