2014-04-12 16 views
8

Tôi đang cố gắng để laucnh một thể hiện bằng cách sử dụng boto. Ví dụ này cần được khởi chạy trên một mạng con cụ thể bên trong VPC của tôi và cũng trong một nhóm bảo mật cụ thể trong vpc của tôi.Python Boto: Làm cách nào để bạn chỉ định id mạng con và nhóm bảo mật?

Các mã sau đây ra mắt thành công một trường hợp trong VPC tôi trên subnet đúng:

conn.run_instances(
     image_id=base_ami, 
     key_name=bakery_key, 
     subnet_id=bakery_subnet) 

Các mã sau đây mang lại cho tôi những lỗi sau:

reservation = conn.run_instances(
     image_id=base_ami, 
     key_name=bakery_key, 
     security_groups=['TheNameOfMySecurityGroup'], 
     subnet_id=bakery_subnet) 

Đây là lỗi tôi nhận được. Tôi nhận được lỗi tương tự khi tôi chỉ định sử dụng subnet ID thay vì tên thực tế của subnet:

Traceback (most recent call last): 
File "./botobakery.py", line 24, in <module> 
subnet_id=bakery_subnet) 
    File "/usr/lib/python2.6/site-packages/boto/ec2/connection.py", line 935, in run_instances 
verb='POST') 
File "/usr/lib/python2.6/site-packages/boto/connection.py", line 1177, in get_object 
raise self.ResponseError(response.status, response.reason, body) 
boto.exception.EC2ResponseError: EC2ResponseError: 400 Bad Request 
<?xml version="1.0" encoding="UTF-8"?> 
<Response><Errors><Error><Code>InvalidParameterCombination</Code><Message>The parameter groupName cannot be used with the parameter subnet</Message></Error></Errors>  <RequestID>c8a6b824-4ab3-41d2-9633-9830c167d2d6</RequestID></Response> 

tôi sẽ vô cùng biết ơn và đánh giá cao nếu ai biết làm thế nào để khởi động dụ tôi vào subnet cụ thể của tôi và vào của tôi nhóm bảo mật cụ thể

Trả lời

10

Vì bạn đang khởi chạy vào VPC, bạn phải chỉ định nhóm bảo mật theo ID của họ thay vì tên của họ. Tên chỉ hợp lệ trong EC2 "cổ điển". Vì vậy, nếu nhóm bảo mật được đề cập có ID là sg-12345678 bạn có thể sử dụng lệnh như sau:

reservation = conn.run_instances(
    image_id=base_ami, 
    key_name=bakery_key, 
    security_group_ids=['sg-12345678'], 
    subnet_id=bakery_subnet) 
Các vấn đề liên quan