无法授予属于 AWS 中安全组的所有服务器的访问权限

无法授予属于 AWS 中安全组的所有服务器的访问权限

我当前的结构

  • 使用 Auto Scaling 组设置的 VPC 中的 1 个实例。
  • 同一 VPC 中的 1 个实例,使用 HaProxy 负载均衡器将 MySQL 流量路由到 RDS 实例(在同一 VPC 中)

我已经测试并确认负载均衡器正在连接到 RDS 实例并且一切正常。

我的问题是,如果不将源实例的 IP 专门添加到负载均衡器的安全组,我就无法从 AWS 中的任何其他实例使用 mysql 连接到负载均衡实例。

我不想使用 IP 地址,因为该实例配置为自动扩展,这将产生更多实例。 我想通过sg-{security-group-id}在规则中分配 IP 地址,它将允许所有实例分配给该安全组。

安全组的可视化设置

  • 具有自动缩放功能的 VPC 实例,配置了安全组 IDsg-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 地址(如果您决定使用)。

相关内容