2016-05-03 1 views
5

Я пытаюсь использовать boto3 для обновления правил группы безопасности, чтобы добавить правило в группу безопасности a (sg_a), чтобы разрешить группу безопасности b (sg_b), чтобы получить доступ к порту 8443.Как использовать boto3 authorize_security_group_ingress для добавления правила между двумя группами безопасности в не умолчанию VPC

Я пытаюсь использовать EC2 клиента для достижения этой цели с помощью следующей

ec2.authorize_security_group_ingress(
     GroupId=sg_a, 
     SourceSecurityGroupName=sg_b, 
     IpProtocol='tcp', 
     FromPort=service_port, 
     ToPort=service_port 
    ) 

, но я получил эту ошибку:

botocore.exceptions.ClientError: An error occurred (VPCIdNotSpecified) when calling the AuthorizeSecurityGroupIngress operation: No default VPC for this user. 

Как использовать с уполномоченным ze_security_group_igress для VPC не по умолчанию?

+0

[Документы могут помочь] (http://boto3.readthedocs.io/en/latest/reference/services/ec2.html#EC2.Client.authorize_security_group_ingress) – hangtwenty

+1

правильный синтаксис: ' ec2.authorize_security_group_ingress ( GroupID = sg_a, IpPermissions = [{ 'IpProtocol': 'TCP', 'FromPort': from_port, 'ToPort': to_port, 'UserIdGroupPairs' : [{ 'GroupId': sg_b }] }], ) ' – blindstack

+0

Пожалуйста, сообщите ваше решение и пометьте ему как решение. – mootmoot

ответ

3

правильный синтаксис:

ec2.authorize_security_group_ingress( 
    GroupId=sg_a, 
    IpPermissions=[ 
     {'IpProtocol': 'tcp', 
     'FromPort': from_port, 
     'ToPort': to_port, 
     'UserIdGroupPairs': [{ 'GroupId': sg_b }] } 
    ], 
) 

 Смежные вопросы

  • Нет связанных вопросов^_^