我的RDS实例配置为仅接受来自EC2安全组的连接。我通过SSH连接我的SQL客户端。
这没关系,但是现在,我有一个external service,还需要连接数据库。
此服务告诉我他将使用此范围的IP:https://ip-ranges.amazonaws.com/ip-ranges.json
所以,我必须在我的RDS安全组中将其列入白名单。
我的问题:如何自动将此json添加到我的SG。
由于
答案 0 :(得分:1)
没有自动方式自动应用该组IP范围。您需要解析它并自己应用范围。使用您喜欢的工具(bash,python,c#,手动)。
但是,他给你的JSON文件是所有区域中所有AWS的IP范围。
如果您的外部服务可以告诉您他们使用哪些区域,您可以显着减少该列表。
例如,如果您可以将其减少到仅弗吉尼亚州(us-east-1),则需要应用187个IP块。
默认情况下,安全组的限制为50条。每个网络接口限制5个网络安全组。因此,基本上你正在考虑250条规则的硬性限制。
如果需要,您可以联系AWS支持,他们可以通过将每个网络的安全组界面限制降低到1来将每安全组规则限制调整为250。或者您可以将最多250个扩展到250规则超过5个安全组。
如果您需要超过250条规则,则需要设置具有2个以上公共IP地址的代理,以容纳所需的额外安全组。
附加说明:
应用所有这些IP范围将允许任何人从AWS实例连接到您的RDS实例。这可能是一个太宽的安全漏洞。
答案 1 :(得分:0)
您可以设置lambda函数来为您执行此操作。以下是来自AWS实验室的python中的脚本示例,它针对ELB安全组和cloudfront ip地址范围执行此操作。
https://github.com/awslabs/aws-cloudfront-samples/tree/master/update_security_groups_lambda