Назад | Перейти на главную страницу

Ошибка Boto3 на authorize_security_group_egress

Когда я пытаюсь обновить правило выхода с помощью boto3. Я получаю следующую ошибку:

client.authorize_security_group_egress(
  GroupId=group_id,CidrIp="0.0.0.0/0",
  IpProtocol='tcp',
  FromPort=from_port,
  ToPort=to_port)

ВНИМАНИЕ: root: неожиданная ошибка: произошла ошибка (UnknownParameter) при вызове операции AuthorizeSecurityGroupEgress: параметр CidrIp не распознается

Но это нормально работает с правилами входа.

Здесь может быть несколько проблем.

Во-первых, работает только с EC2-VPC. Не работает с EC2-classic http://boto3.readthedocs.io/en/latest/reference/services/ec2.html#EC2.Client.authorize_security_group_egress

[Только EC2-VPC] Добавляет одно или несколько исходящих правил в группу безопасности для использования с VPC. В частности, это действие позволяет экземплярам отправлять трафик в один или несколько диапазонов IP-адресов CIDR назначения или в одну или несколько групп безопасности назначения для одного и того же VPC. Это действие не применяется к группам безопасности для использования в EC2-Classic. Дополнительные сведения см. В разделе Группы безопасности для вашего VPC в Руководстве пользователя Amazon Virtual Private Cloud.

Во-вторых, boto3 содержит некоторую ошибку документации. как упоминалось @Tayler, возможно, вам следует просто опустить CidrIp. Честно говоря, я не понимаю, зачем вам создавать такие правила выхода, поскольку они используются по умолчанию для всех групп безопасности.

Если вы хотите удалить все правила в группе, вам нужно использовать revoke_security_group_egress. authorize_security_group_egress не может «обновлять» правила, он только добавляет правила.