在 AWS 的安全组中自动添加一系列 IP



我的 RDS 实例配置为仅接受来自 EC2 安全组的连接。我通过 SSH 连接我的 SQL 客户端。

这没关系,但是现在,我有一个外部服务也需要连接DB。

此服务告诉我,他将使用此范围的IP:https://ip-ranges.amazonaws.com/ip-ranges.json

因此,我必须将其列入 RDS 安全组的白名单。

我的问题:如何将此 json 自动添加到我的 SG 中。

谢谢

没有自动应用这组 IP 范围的方法。您需要分析它并自己应用范围。使用您喜欢的工具(bash,python,c#,手动)。

但是,他为您提供的 JSON 文件是所有区域中所有 AWS 的 IP 范围。

如果外部服务可以告诉您它们使用哪些区域,则可以显著减少该列表。

例如,如果可以将其减少到仅弗吉尼亚区域 (us-east-1),则有 187 个 IP 块要应用。

默认情况下,安全组的规则限制为 50 个。每个网络接口限制为 5 个网络安全组。所以基本上你看到的是250条规则的硬性限制。

如果需要,您可以联系 AWS 支持人员,他们可以通过将每个网络接口的安全组限制减少到 1,将每个安全组的规则限制调整为 250。或者,您可以将多达 250 条规则分布在 5 个安全组中。

来源:亚马逊 VPC 限制

如果需要超过 250 个规则,则需要设置具有 2+ 个公共 IP 地址的代理,以容纳所需的额外安全组。

附加说明:

应用所有这些 IP 范围将允许任何人从 AWS 实例连接到您的 RDS 实例。这可能是一个太大的安全漏洞,无法打开。

您可以设置一个 lambda 函数来为您执行此操作。下面是来自 AWS 实验室的 python 脚本示例,该示例适用于 ELB 安全组和 cloudfront IP 地址范围。

https://github.com/awslabs/aws-cloudfront-samples/tree/master/update_security_groups_lambda

最新更新