Amazon Elastic Container Service
开发人员指南 (API 版本 2014-11-13)
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

Amazon ECS 接口 VPC 终端节点 (AWS PrivateLink)

您可以通过将 Amazon ECS 配置为使用接口 VPC 终端节点来改善 VPC 的安全状况。接口终端节点由 AWS PrivateLink 提供支持,您可以使用该技术通过私有 IP 地址私下访问 Amazon ECS API。PrivateLink 将 VPC 和 Amazon ECS 之间的所有网络流量限制在 Amazon 网络以内。您无需 Internet 网关、NAT 设备或虚拟专用网关。

不要求您配置 PrivateLink,但我们建议您这样做。有关 PrivateLink 和 VPC 终端节点的更多信息,请参阅通过 AWS PrivateLink 访问服务

Amazon ECS VPC 终端节点注意事项

在为 Amazon ECS 设置接口 VPC 终端节点之前,请注意以下事项:

  • 使用 Fargate 启动类型的任务无需 Amazon ECS 的接口 VPC 终端节点,但您可能需要 Amazon ECR 或 Amazon CloudWatch Logs 的接口 VPC 终端节点,如以下要点中所述。

  • 使用 EC2 启动类型的任务要求启动它们的容器实例至少运行 1.25.1 版本的 Amazon ECS 容器代理。有关更多信息,请参阅Amazon ECS 容器代理版本

  • VPC 终端节点当前不支持跨区域请求。确保在计划向 Amazon ECS 发出 API 调用的同一区域中创建终端节点。

  • VPC 终端节点仅通过 Amazon Route 53 支持 Amazon 提供的 DNS。如果您希望使用自己的 DNS,可以使用条件 DNS 转发。有关更多信息,请参阅 Amazon VPC 用户指南 中的 DHCP 选项集

  • 附加到 VPC 终端节点的安全组必须允许从 VPC 的私有子网通过端口 443 进行传入连接。

  • 当前不支持通过将终端节点策略附加到 VPC 终端节点来控制对 Amazon ECS 的访问。默认情况下,允许通过接口终端节点对服务进行完全访问。有关更多信息,请参阅 Amazon VPC 用户指南 中的使用 VPC 终端节点控制对服务的访问

为 Amazon ECS 创建 VPC 终端节点

要为 Amazon ECS 服务创建 VPC 终端节点,请使用 Amazon VPC 用户指南 中的创建接口终端节点过程来创建以下终端节点。如果您的 VPC 中当前有容器实例,则应按其列出的顺序创建终端节点。如果您计划在创建 VPC 终端节点后创建容器实例,则顺序无关紧要。

  • com.amazonaws.region.ecs-agent

  • com.amazonaws.region.ecs-telemetry

  • com.amazonaws.region.ecs

注意

区域 表示 Amazon ECS 支持的 AWS 区域的区域标识符,如美国东部(俄亥俄)区域的 us-east-2

如果您当前有使用 EC2 启动类型的任务,则在创建 VPC 终端节点后,每个容器实例都需要采用新的配置。为实现此目的,您必须重新启动每个容器实例或重新启动每个容器实例上的 Amazon ECS 容器代理。要重新启动容器代理,请执行以下操作。

重新启动 Amazon ECS 容器代理

  1. 通过 SSH 登录到容器实例。有关更多信息,请参阅连接到您的容器实例

  2. 停止容器代理。

    sudo docker stop ecs-agent
  3. 启动容器代理。

    sudo docker start ecs-agent

在创建 VPC 终端节点并在每个容器实例上重新启动 Amazon ECS 容器代理后,所有新启动的任务都将采用新配置。