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

AWS ECS通过公网IP无法访问问题求助

排查ECS容器公网访问超时的关键点

以下是针对你的场景(Django容器在ECS部署后公网IP访问超时)的核心排查方向:

  • 安全组规则验证

    • 若使用EC2启动类型:检查EC2实例绑定的安全组,是否添加了入站规则允许TCP 8000端口(来源设为0.0.0.0/0或指定IP范围),同时确保出站规则允许所有流量(或至少允许响应请求的出站TCP流量)。
    • 若使用Fargate启动类型:检查任务定义中配置的安全组,同样需要开放TCP 8000端口的入站权限,Fargate任务的安全组独立于VPC内的其他资源。
  • 网络模式与端口映射适配

    • 若任务使用awsvpc网络模式(Fargate默认、EC2可选):此时任务拥有独立的网络栈,任务定义中的hostPort会被忽略,无需关注EC2实例的端口,只需确保任务安全组开放8000端口,且任务分配了公网IP(Fargate需手动开启“分配公网IP”选项)。
    • 若使用bridge模式:确认EC2实例上的8000端口未被其他进程占用,可通过netstat -tulpn | grep 8000在EC2实例上检查端口占用情况。
  • VPC与子网配置检查

    • 若任务部署在私有子网:公网无法直接访问,需将任务移至公有子网,或配置应用负载均衡(ALB)转发流量(ALB部署在公有子网,任务在私有子网)。
    • 确认子网关联的路由表包含指向互联网网关(IGW)的路由条目(0.0.0.0/0 -> IGW ID),确保公网流量能抵达子网内的资源。
  • 容器内服务监听状态确认

    • 进入容器内部执行ss -tulpn命令,验证Python进程确实监听在0.0.0.0:8000而非127.0.0.1(虽然本地运行正常,但需排除容器内配置异常的可能)。
  • 本地网络排除

    • 切换至其他网络环境(如手机热点)尝试访问,排除本地防火墙、代理或运营商网络对8000端口的限制。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 14:25:20