2012-03-05 46 views

回答

31
import boto 
c = boto.connect_ec2(ec2_key, ec2_secret) 
image = c.get_image(ec2_ami) 

reservation = image.run(key_name=ec2_keypair, 
         security_groups=ec2_secgroups, 
         instance_type=ec2_instancetype) 

instance = reservation.instances[0] 
c.create_tags([instance.id], {"Name": instance_name}) 
+18

注意你也可以做instance.add_tag('Name',instance_name) – garnaat 2012-03-06 19:39:59

1

在EC2中沒有api來改變機器的實際名稱。你基本上有兩種選擇。

  1. 您可以在用戶數據中傳遞所需的計算機名稱,並在服務器啓動時運行腳本來更改計算機的名稱。
  2. 您可以使用EC2標籤來命名服務器ec2-create-tags <instance-id> --tag:Name=<computer name>。這個解決方案的缺點是服務器不會實際更新到這個名稱。這個標籤是嚴格爲您或當您查詢aws中的服務器列表。

一般來說,如果您希望服務器在啓動時進行自我配置,我發現在EC2中重命名您的計算機只會導致更多的麻煩。如果你不需要,我建議不要使用它們。使用標籤或elb實例是最好的方法。

+0

EC2創建標籤 'I-0d44bd39' --tag名稱=哞 必選項 '-K,--private鍵KEY' 失蹤(-h爲使用)同理:ec2addtag --tag名稱= moo說我錯過了一個私鑰? --tag:Name = moo語法不起作用。 – Jeff 2012-03-06 01:07:18

+0

該命令用於命令行工具。對於博託使用'create_tags('i-0d44bd39',dict(Name = moo))' – bwight 2012-03-06 14:06:13

相關問題