设置
- ECS(容器化)应用程序(Node.js,仅限 API)
- ECS 容器实例的 Auto Scaling 组
- Auto Scaling 组前的负载均衡器
- 覆盖所有实例和ELB的VPC
- 托管在另一个 VPC 中的数据库,未明确管理 ( MongoDB Atlas ),可能不在同一个区域。
问题
我希望我的数据库使用良好的安全策略,因此我选择按照 Atlas 的建议将 IP 列入白名单 - 而不是使用0.0.0.0/0
.
每台服务器都有自己的 IP 地址,在自动缩放事件中,需要通过自动化将其添加到 Atlas 安全规则中(这是可能的,但并不理想)。
我如何(使用 NAT 网关?弹性 IP?)为我的所有负载平衡实例获取一个 IP。
失败的解决方案?
我尝试使用 NAT 网关,本质上是场景 2,其中我的所有实例都位于私有子网中,NAT 位于具有 Internet 访问权限的公共子网中,并且实例通过它访问数据库。这行得通!NAT 上的弹性 IP,我能够在 Atlas 上对其进行授权,但是它存在奇怪的问题,即实例在 65 到 75 秒内没有响应,并且在 ping 时间歇性地响应。我怀疑这是因为它在技术上在互联网上不可用,并且有一些我不完全理解的路由正在发生。一旦你得到了200
一切都会正常工作,一段时间,然后又是 70 秒的延迟,然后又恢复良好......
非常感谢您的输入,已经搜索了一段时间没有运气!