0
我有一個EC2實例A,不能重新啓動,但問題是它將因維護而關閉。我基本上是用我的代碼如下所示創建該實例的AMI:如何從以前的EC2實例的AMI啓動VPC中的EC2實例的完全相同的副本
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」的EXACT SAME REPLICA,即需要啓動的實例需要具有相同的VPC,SEC組,鍵名等。 我想我需要存儲實例A的在變量的詳細信息,然後利用它們來從AMI或類似的東西推出一個新的實例..
PS:該follwing代碼有助於獲得實例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__)
<?XML版本= 「1.0」 編碼= 「UTF-8」?>參數組名不能與參數子網 5242ae3a-03EA-491C-a230-5d86afcc3870使用 我需要在VPC中做到這一點 –
InvalidParameterCombination
Nishant嘗試更新/編輯答案,我們需要一個sg_ids數組,早些時候它是一個對象數組。 – padmakarojha
我試圖用了硬編碼SG名稱: 實例= [我當r在預訂我在r.instances] 因爲我在實例: KEY_NAME = i.key_name #security_group = 「SG-f05ee295」 #I .groups INSTANCE_TYPE = i.instance_type #打印security_group [0] #子網名稱= i.subnet_id 儲備= conn.run_instances(image_id = ami_id,KEY_NAME = KEY_NAME,INSTANCE_TYPE = INSTANCE_TYPE,security_group_ids = [ 'SG-f05ee295'] ) print「new replica system id is」+ reserve.instances [0] .id 仍然說我無法使用VPC子羣進行非VPC啓動 –