![无法授予属于 AWS 中安全组的所有服务器的访问权限](https://linux22.com/image/645480/%E6%97%A0%E6%B3%95%E6%8E%88%E4%BA%88%E5%B1%9E%E4%BA%8E%20AWS%20%E4%B8%AD%E5%AE%89%E5%85%A8%E7%BB%84%E7%9A%84%E6%89%80%E6%9C%89%E6%9C%8D%E5%8A%A1%E5%99%A8%E7%9A%84%E8%AE%BF%E9%97%AE%E6%9D%83%E9%99%90.png)
我当前的结构
- 使用 Auto Scaling 组设置的 VPC 中的 1 个实例。
- 同一 VPC 中的 1 个实例,使用 HaProxy 负载均衡器将 MySQL 流量路由到 RDS 实例(在同一 VPC 中)
我已经测试并确认负载均衡器正在连接到 RDS 实例并且一切正常。
我的问题是,如果不将源实例的 IP 专门添加到负载均衡器的安全组,我就无法从 AWS 中的任何其他实例使用 mysql 连接到负载均衡实例。
我不想使用 IP 地址,因为该实例配置为自动扩展,这将产生更多实例。 我想通过sg-{security-group-id}
在规则中分配 IP 地址,它将允许所有实例分配给该安全组。
安全组的可视化设置
- 具有自动缩放功能的 VPC 实例,配置了安全组 ID
sg-scaled
- 配置了安全组id的LB实例
sg-lb
sg 尺度
---------------------------------
| HTTP | TCP | 80 | 0.0.0.0/0 |
| HTTPS | TCP | 443 | 0.0.0.0/0 |
---------------------------------
sg-lb
----------------------------------
| HTTP | TCP | 80 | my_ip/32 | (stats)
| MYSQL | TCP | 3306 | sg-scaled | <-- *this
----------------------------------
*这个:该行不应该翻译为“所有实例都已分配给安全组 ID sg-scaled
”吗?
答案1
哇。好的。。我搞清楚问题出在哪里了。我的应用程序尝试通过子域进行连接,而我已将该子域路由到公共弹性 IP。这似乎是罪魁祸首。
为了利用安全组作为允许的传入连接,您必须使用私人的弹性 IP 的 IP 地址(如果您决定使用)。