我在 Amazon AWS 上有以下设置:
- 自动扩展组
- ELB
- RDS 数据库
- 所有内容均位于默认 VPC 中
关于此设置,我唯一还不太明白的是与安全规则有关。
对于 RDS 实例,我想要:
- 仅允许
3306
由 Auto-Scaling 组启动的 EC2 实例访问端口, - 允许从我自己的IP访问相同的端口
3306
。
我已经为后者设置了 SG,它运行良好。但是,我不确定如何处理第一点。
各种资源都提到只需将 EC2 实例使用的相同 SG 附加到 RDS 实例即可。但是,例如,如果 EC2 SG 允许每个人进行端口流量,并且如果我将相同的 SG 用于 RDS 实例,那么这是否也会授予每个人对 RDS 实例的80
端口访问权限?80
所以问题是:如何创建一个 SG,仅允许 Auto-Scaling 组中的 EC2 实例访问 RDS 端口3306
,而不允许其他所有人访问?
最后,如何创建 SG对于 EC2 实例仅允许 ELB 访问?
我非常希望使用 AWS Web UI 来实现这一点。谢谢!
答案1
要将 RDS 访问限制为您的 Auto Scaling EC2 实例,并仅允许从您的 ELB 访问您的 EC2 实例,您将使用相同的方法:根据源安全组(而不是源 IP 地址 CIDR)向您的安全组添加规则。
假设您的 EC2 实例安全组是 sg-123,您可以执行以下操作:
- 在 AWS 管理控制台中,编辑您的 RDS 安全组传入规则。
- 为端口 3306 添加传入规则。对于“源”字段,您通常会在其中放置 IP CIDR,而是放置您的 EC2 实例的安全组 ID,例如 sg-123。
- 保存更改。
这将允许任何附加了该安全组的 EC2 实例进入您的 RDS 实例。
您可以在 EC2 实例的安全组上对 ELB 的安全组执行相同的操作。这将授予从 ELB 访问 EC2 实例的权限。