2016-05-03 13 views
5

Próbuję użyć boto3 do aktualizacji reguł grupy bezpieczeństwa, aby dodać regułę do grupy bezpieczeństwa a (sg_a), aby umożliwić grupie bezpieczeństwa b (sg_b) do dostępu do portu 8443.jak używać boto3 authorize_security_group_ingress do dodawania reguły między dwiema grupami zabezpieczeń w domyślnym VPC

próbuję użyć klienta EC2 do osiągnięcia tego celu z poniższego

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

ale mam ten błąd:

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

Jak używać zezwo ze_security_group_igress dla niestandardowej VPC?

+0

[Docs może pomóc] (http://boto3.readthedocs.io/en/latest/reference/services/ec2.html#EC2.Client.authorize_security_group_ingress) – hangtwenty

+1

prawidłowe składni: ' ec2.authorize_security_group_ingress ( GroupID = sg_a, IpPermissions = [{ 'IpProtocol': 'tcp, 'FromPort' from_port, 'ToPort' to_port, 'UserIdGroupPairs' : [{ "GroupId": sg_b }] }], ) ' – blindstack

+0

Proszę napisać rozwiązanie i oznaczyć je jako rozwiązane. – mootmoot

Odpowiedz

3

prawidłowe składni:

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