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

如何通过安全组ID而非IP允许ECS Fargate任务访问EC2实例

问题解答:通过安全组授权Fargate任务访问EC2上的MongoDB

可以仅通过安全组授权实现访问,你的配置方向是正确的,无法访问通常是以下几个细节没配置到位,逐一排查:

  • 确认Fargate任务的网络模式:Fargate仅支持awsvpc网络模式,该模式下每个任务会分配独立ENI,安全组直接关联到ENI上。检查任务定义的网络配置,确保目标安全组已添加到任务的安全组列表中。

  • 修正MongoDB的绑定地址:MongoDB默认绑定127.0.0.1,仅允许本地访问。修改配置文件(如/etc/mongod.conf)中的bindIp为0.0.0.0或EC2实例的私网IP,执行sudo systemctl restart mongod重启服务。

  • 验证安全组规则的准确性:

    • 确保EC2安全组的入站规则针对MongoDB端口(默认27017),协议为TCP;
    • 源地址必须填写Fargate任务安全组的ID(如sg-xxxxxxxx),而非安全组名称,避免名称重复导致匹配错误。
  • 检查VPC子网与路由配置:

    • Fargate任务和EC2实例必须同属一个VPC,且所在子网的路由表包含VPC内部私网流量互通的路由(默认VPC路由表已包含,自定义VPC需确认);
    • Fargate任务所在子网需允许私网访问,即使是公有子网,任务也会默认分配私网IP,确保路由表未限制VPC内流量。
  • 用正确方式测试连通性:在Fargate任务内部使用私网IP测试,比如执行nc -zv <EC2私网IP> 27017或mongosh mongodb://<EC2私网IP>:27017,公网IP测试不经过私网安全组规则,无法验证配置有效性。

完成以上配置后,所有属于目标安全组的新Fargate任务都会自动获得EC2上MongoDB的访问权限,无需手动添加IP。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 21:28:24