2012-03-05 28 views

Trả lời

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

Lưu ý bạn cũng có thể làm instance.add_tag ​​('Name', instance_name) – garnaat

1

Trong EC2, không có api nào để thay đổi tên thực của máy. Về cơ bản bạn có hai lựa chọn.

  1. Bạn có thể chuyển tên mong muốn của máy tính trong dữ liệu người dùng và khi máy chủ bắt đầu chạy tập lệnh sẽ thay đổi tên máy tính.
  2. Bạn có thể sử dụng thẻ EC2 để đặt tên cho máy chủ ec2-create-tags <instance-id> --tag:Name=<computer name>. Nhược điểm của giải pháp này là máy chủ sẽ không thực sự cập nhật tên này. Thẻ này là đúng cho bạn hoặc khi bạn đang truy vấn danh sách máy chủ trong aws.

Nói chung nếu bạn đang ở điểm mà bạn muốn máy chủ tự cấu hình khi khởi động, tôi thấy rằng đổi tên máy tính của bạn trong EC2 gây ra nhiều rắc rối hơn giá trị của nó. Tôi đề nghị không sử dụng chúng nếu bạn không cần. Sử dụng các thẻ hoặc trường hợp elb là cách tốt hơn để đi.

+0

EC2 tạo-thẻ 'i-0d44bd39' --tag Tên = moo buộc tùy chọn '-K, --private-key KEY' mất tích (-h để sử dụng) Tương tự như vậy: ec2addtag ​​--tag Tên = moo nói tôi đang thiếu một khóa riêng? Cú pháp --tag: Name = moo không hoạt động. – Jeff

+0

Lệnh đó dành cho các công cụ dòng lệnh. Đối với boto sử dụng 'create_tags ('i-0d44bd39', dict (Tên = moo))' – bwight

Các vấn đề liên quan