EC2实例有6种状态:
'pending'|'running'|'shutting-down'|'terminated'|'stopping'|'stopped'
我想知道如何以编程方式将状态设置为其中一种状态。
我有一些代码可以查看ec2实例中每个实例的所有状态。
ec2 = boto3.resource("ec2", region_name="us-west-2")
vpc = ec2.Vpc("vpc-123456")
for instance in vpc.instances.all():
for tag in instance.tags:
print(instance.state["Name"])
我得到了
的输出running
running
running
running
...
...
我想知道我是否可以将这些状态更改为pending
或shutting-down
。
instance.set("stopping")
的某些内容。我理解也许如果我将一个实例设置为状态stopping
,那么下次我检查这个实例时,我会得到stopped
状态。
答案 0 :(得分:11)
您不能直接更改EC2实例状态值。状态根据您启动/启动/停止/终止实例所采取的操作而更改。请查看以下Boto3 EC2 client方法:
run_instances()
start_instances()
stop_instances()
terminate_instances()
答案 1 :(得分:2)
您可以使用Instance.stop()
,Instance.reboot()
,Insance.terminate()
资源方法。