You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为EC2自动扩缩组场景在MongoDB Cloud维护有限IP访问列表?

MongoDB Cloud IP访问控制列表(ACL)维护最优策略

针对自动扩缩组EC2动态公网IP难以维护MongoDB Cloud ACL,且需保留EC2源IP以便直接接收响应的问题,以下是几个最优解决方案:

方案1:基于VPC NAT网关固定弹性IP(EIP)

  • 核心思路:将EC2迁移至私有子网,每个可用区部署一个绑定固定EIP的NAT网关,配置私有子网路由表让EC2出站流量通过对应AZ的NAT网关转发。此时MongoDB Cloud看到的源IP为NAT网关的固定EIP,而非EC2的动态公网IP。
  • 操作步骤:
    1. 在两个AZ分别创建私有子网,将自动扩缩组的EC2实例迁移至私有子网(移除公网IP分配)。
    2. 每个AZ创建一个NAT网关,绑定独立的固定EIP。
    3. 更新私有子网的路由表,将0.0.0.0/0的路由指向对应AZ的NAT网关。
    4. 在MongoDB Cloud的ACL中仅添加这2个NAT网关的EIP即可。
  • 优势:仅需维护2个固定IP,完全规避自动扩缩带来的IP动态变化问题;响应会通过NAT网关直接返回给发起请求的EC2,满足需求。

方案2:使用AWS PrivateLink实现私有网络连接

  • 核心思路:通过AWS PrivateLink在你的VPC与MongoDB Cloud之间建立私有网络通道,EC2无需公网IP即可访问MongoDB,MongoDB端无需维护公网IP ACL,转而通过VPC端点的安全组进行访问控制。
  • 操作步骤:
    1. 在AWS控制台创建MongoDB Cloud对应的PrivateLink端点(需确认MongoDB Atlas支持该区域的PrivateLink)。
    2. 配置EC2所在子网的安全组,允许访问PrivateLink端点。
    3. 在MongoDB Cloud端配置允许该PrivateLink端点的访问权限(无需添加公网IP)。
  • 优势:完全脱离公网环境,通信更安全;无需维护任何公网IP的ACL,彻底解决动态IP问题。

方案3:自动同步EC2公网IP至MongoDB ACL

  • 核心思路:利用AWS服务监听自动扩缩组的实例生命周期事件,自动调用MongoDB Cloud API更新ACL条目。
  • 操作步骤:
    1. 创建Lambda函数,逻辑为:接收EC2实例创建/销毁事件,提取公网IP,调用MongoDB Atlas API添加/删除ACL规则。
    2. 通过EventBridge(原CloudWatch Events)配置触发器,监听自动扩缩组的EC2 Instance Launch Successful和EC2 Instance Terminate Successful事件。
    3. 为Lambda函数配置MongoDB Cloud API的访问密钥,以及AWS的EC2描述权限。
  • 优势:无需改变现有EC2的公网子网部署架构;自动维护ACL,无需人工干预。
  • 劣势:ACL中的IP数量会随自动扩缩组的实例数波动,可能较多;需维护Lambda函数及API权限,存在一定运维成本。

方案优先级推荐

优先选择方案2(PrivateLink),其次是方案1(NAT网关),最后考虑方案3(自动同步)——前两者能从根本上减少IP维护量,且架构更稳定安全。

内容的提问来源于stack exchange,提问作者Fabien Haddadi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 04:40:25