浏览器访问 AWS ECS 上部署的 Docker 容器(监听 80 端口)

✅ 一、ECS 服务配置

  1. Dockerfile 确保监听 80 端口

    复制代码
    EXPOSE 80
    CMD ["nginx", "-g", "daemon off;"]

    复制代码
    EXPOSE 80
    CMD ["python3", "-m", "http.server", "80"]
  2. 任务定义(Task Definition)

    • 设置 容器端口为 80

    • 映射到宿主机端口(如果是 EC2 模式)

    • 如果是 Fargate,只需定义容器端口即可


✅ 二、服务启动(Service)

  • 使用该 Task Definition 创建 ECS 服务

  • 网络模式(Fargate 通常用 awsvpc,EC2 可用 bridgehost


✅ 三、负载均衡(可选但推荐)

🔹 方式 A:使用 Application Load Balancer(ALB)
  1. 创建 ALB(或者使用已有的)

  2. 创建一个 Target Group,目标类型为 IP 或 instance

  3. 配置 ECS 服务时,绑定该 Load Balancer

  4. 配置监听器:

    • HTTP(端口 80) -> Forward 到 Target Group
🔹 方式 B:不使用负载均衡(仅限 EC2 模式)

如果你用的是 EC2 Launch Type 并且将容器绑定在 EC2 主机的 80 端口:

  • 直接通过 EC2 实例公网 IP 访问,例如:

    复制代码
    http://<EC2 公网 IP>

✅ 四、安全组设置

  1. ECS 服务关联的安全组

    • 开放端口 80,来源为 0.0.0.0/0(公网访问)
  2. 如果使用 ALB

    • ALB 的安全组也要开放 80

    • 容器的安全组允许来自 ALB 的访问(源为 ALB 安全组)


✅ 五、VPC 子网和路由

  • ECS 任务或服务必须运行在 公有子网(子网的路由表连通到 Internet Gateway)

  • Fargate 模式必须开启 Auto-assign public IP


✅ 六、测试访问

如果都设置正确,访问 URL 如下:

示例:
  • 使用 ALB:

    复制代码
    http://<ALB-DNS-NAME>
  • 使用 EC2:

    复制代码
    http://<EC2-Public-IP>

搭建完成

相关推荐
AI服务老曹27 分钟前
视觉算法模型管理完整流程:多版本上线、灰度发布与回滚的落地实践
人工智能·docker·音视频
辉的技术笔记3 小时前
拆解 Dify 的 Celery:15 个队列都在干什么
docker
腾讯云大数据5 小时前
腾讯云TBDS面向AI时代的多模态智算平台,助力企业AI转型
人工智能·云计算·腾讯云·tbds
渣渣盟8 小时前
Docker 运维常用命令手册(含扩容与实战)
运维·docker·容器
小尘要自信9 小时前
小米摄像头怎么接入RTSP?Go2RTC转流、EasyNVR录像与公网访问教程
人工智能·docker·开源
AOwhisky10 小时前
Linux(CentOS)系统管理入门笔记(第一期)——从 Multics 到主流发行版
linux·运维·笔记·centos·云计算
我叫张小白。10 小时前
一个微服务电商+社区项目(瓷韵app)的技术深度复盘
docker·微服务·云原生·架构
summer_west_fish10 小时前
云计算解决方案与未来趋势
云计算
程序员老油条1 天前
WSL2 + Docker Desktop:Windows 下的完美 Java 开发环境
java·windows·docker·wsl2
AOwhisky1 天前
kubernetes(K8s)学习笔记:第十期与第十一期核心知识点自测与详解
运维·笔记·云原生·kubernetes·云计算·k8s·hpa