在 AWS 中,我们的自动扩展组正在不同的可用区域启动新实例(以实现高可用性),这些 Web 实例当然需要访问端口 3306 上的数据库(RDS)服务。
现在,我应该在 RDS 安全组中允许端口 3306 使用哪些 IP 地址?
由于每个新启动的实例每次都有不同的 IP 地址,那么我们如何将它们添加到安全组中?
顺便说一句:这不仅是 RDS 安全组的问题,也是所有安全组的问题,因为我无法限制它们。
答案1
您无需将 EC2 实例的 IP 地址添加到 RDS 安全组,只需添加另一个安全组即可。这样,您的 EC2 实例所在的安全组中的每个实例都可以访问您的 RDS 安全组/资源。
在这张稍微模糊的图像中,您可以看到我的 Web 安全组(结尾为 f4)已添加到我的 RDS 安全组(结尾为 C6)。
您可能知道的一个相关概念是IAM 角色。它们不适用于这种情况,但了解它们很有用。它们可以允许 EC2 实例访问几乎任何 EC2 资源(例如 S3),而无需存储凭据。EC2 实例需要以角色启动,但我相信角色策略可以随时更改。