使用Boto3修改给定EC2安全组的规则

Use*_*233 6 python amazon-ec2 amazon-web-services boto3

我最近一直致力于以编程方式向我的EC2服务器上的安全组添加和删除入口规则.但是,我现在似乎已经打了一个墙.

我希望能够通过python脚本修改现有规则,但我无法找到有关Boto3文档的任何指导.

有什么办法可以做到这一点吗?

谢谢

ran*_*rkr 10

AWS添加了新的API(modify_security_group_rules),其中可以修改安全组规则。以下代码供参考:

import boto3
client = boto3.client('ec2')
sg_rules_list = [{'SecurityGroupRuleId': 'sgr-07de36a0521f39c8b',
                  'SecurityGroupRule': {
                      'IpProtocol': 'tcp',
                      'FromPort': 22,
                      'ToPort': 22,
                      'CidrIpv4': '3.3.3.3/32',
                      'Description': 'added ssh port'
                  }
                  }
                 ]
response = client.modify_security_group_rules(GroupId='sg-00f3b9232325b20fb',
                                              SecurityGroupRules=sg_rules_list)
Run Code Online (Sandbox Code Playgroud)

有关此内容的更多详细信息,请访问 AWS 博客:使用新安全组规则 ID 轻松管理安全组规则


Don*_*bab 8

好像没有办法修改安全组规则.你必须删除旧的:

security_group.revoke_ingress(IpProtocol="tcp", CidrIp="0.0.0.0/0", FromPort=3306, ToPort=3306)
Run Code Online (Sandbox Code Playgroud)

并添加新的:

security_group.authorize_ingress(IpProtocol="tcp",CidrIp="0.0.0.0/0",FromPort=3306,ToPort=3306)
Run Code Online (Sandbox Code Playgroud)

希望它有所帮助.


hel*_*loV 7

Boto3:SecurityGroup

SG 中没有用于修改规则的 API。您必须先撤销规则,然后使用授权添加具有修改参数的规则。该链接还包含代码片段。

  • 授权出口()
  • 授权入口()
  • revoke_egress()
  • revoke_ingress()