【发布时间】:2015-09-29 15:38:19
【问题描述】:
我有一个不能重新启动的 EC2 实例 A,但问题是它将因维护而停机。我基本上使用我的代码创建了这个实例的 AMI,如下所示:
import boto.ec2
import time
import sys
conn = boto.ec2.connect_to_region("ap-southeast-1")
image_id = conn.create_image(sys.argv[1], "nits", description="Testing", no_reboot=True, block_device_mapping=None, dry_run=False)
image = conn.get_all_images(image_ids=[image_id])[0]
while image.state != 'available':
time.sleep(10)
image.update()
print "The image is being Created, Please wait!! state:%s" % (image.state)
if image.state == 'available':
print "AMI CREATED SUCCESSFULLY with AMI id = %s" % image_id
else:
print "Something Went Wrong!!"
上述脚本运行良好,并创建了我作为系统参数提供的实例的 AMI。我需要启动实例“A”的完全相同的副本,即需要启动的实例需要具有相同的 VPC、sec 组、密钥名称等。 我在想我需要将实例 A 的详细信息存储在一个变量中,然后使用它们从 AMI 或类似的东西启动一个新实例..
P.S:以下代码有助于获取实例 A 的详细信息:
reservations=conn.get_all_instances(sys.argv[1])
instances = [i for r in reservations for i in r.instances]
for i in instances:
print(i.__dict__)
【问题讨论】: