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

使用Docker ECS compose部署时如何选择VPC、域名、安全组等资源?

Docker ECS Context 相关资源配置方案

VPC选择配置

  • 如果你绑定的是已有ECS集群,执行docker context create ecs <自定义context名称>创建context时,选择Use an existing ECS cluster选项,选中目标集群后会自动加载集群对应的VPC,无需手动选择,可避免集群和VPC不匹配的问题
  • 如果你需要自定义VPC或者创建新集群,既可以在交互式创建引导步骤中,从列出的当前区域可用VPC列表里直接选择,也可以用非交互式命令直接指定VPC ID:docker context create ecs <自定义context名称> --vpc <目标VPC ID>
  • 注意事项:目标VPC需要和ECS集群在同一个AWS区域,公网可访问的服务需要VPC下至少有2个公有子网,内部服务需要配置私有子网+NAT网关保障集群网络连通性

安全组配置

  • 测试场景可直接使用默认配置:Docker ECS Context会自动创建关联安全组,默认放行docker-compose.yml中声明的暴露端口到公网,部署完成后可在EC2控制台安全组页面手动调整规则
  • 生产场景建议手动指定已有安全组,在docker-compose.yml中通过x-aws-cloudformation扩展字段配置即可,示例如下:
services:
  web:
    image: nginx
    ports:
      - 80:80
x-aws-cloudformation:
  Resources:
    WebService:
      Properties:
        NetworkConfiguration:
          AwsvpcConfiguration:
            SecurityGroups: ["sg-<你的安全组ID>"]
  • 注意事项:手动指定的安全组需要提前在对应VPC下创建,提前放行服务端口、集群内部通信端口、负载均衡健康检查端口所需的出入站规则

域名配置

  • 提前在AWS Route53中创建对应域名的公有/私有托管区域,和ECS集群归属同一个AWS账号
  • 需要HTTPS访问的场景,提前在AWS Certificate Manager中申请对应域名的SSL证书,证书区域需要和集群所在区域保持一致
  • 在docker-compose.yml中添加对应扩展字段即可自动完成域名解析和证书绑定,示例如下:
services:
  web:
    image: nginx
    ports:
      - 80:80
      - 443:443
    x-aws-route53:
      hostname: <你的服务域名,如app.example.com>
      zone: <你的Route53托管区域ID>
    x-aws-certificate:
      arn: <你的ACM证书ARN>
  • 不需要HTTPS的场景可直接省略x-aws-certificate字段,部署完成后Docker会自动创建ALB负载均衡并添加Route53解析记录指向负载均衡地址

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 00:18:02