2014-04-12 9 views
8

Próbuję laucnh instancji przy użyciu boto. Instancja musi zostać uruchomiona w określonej podsieci w mojej VPC, a także w określonej grupie bezpieczeństwa w moim vpc.Python Boto: W jaki sposób określa się identyfikator podsieci ORAZ grupę zabezpieczeń?

Poniższy kod z powodzeniem uruchamia instancję w moim VPC na właściwej podsieci:

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

Poniższy kod daje mi następujący błąd:

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

Tutaj jest błąd otrzymuję. Mam ten sam błąd, kiedy podać użyciu identyfikatora podsieci zamiast rzeczywistej nazwy podsieci:

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> 

byłbym niezwykle wdzięczny i wdzięczny, jeśli ktoś wie, jak uruchomić moje wystąpienie w moim konkretnej podsieci i do mojego określona grupa zabezpieczeń

Odpowiedz

10

Ponieważ uruchamiasz VPC, musisz określić grupy bezpieczeństwa według ich identyfikatora, a nie ich nazwy. Nazwy są poprawne tylko w "klasycznym" EC2. Tak więc, jeśli dana grupa zabezpieczeń ma identyfikator sg-12345678, można użyć polecenia podobnego do tego:

reservation = conn.run_instances(
    image_id=base_ami, 
    key_name=bakery_key, 
    security_group_ids=['sg-12345678'], 
    subnet_id=bakery_subnet) 
Powiązane problemy