Amazon ECS 接口 VPC 终端节点 (AWS PrivateLink) - Amazon ECS
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

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

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

有关 AWS PrivateLink 和 VPC 终端节点的更多信息,请参阅 中的 VPC Amazon VPC 用户指南 终端节点。

关于 Amazon ECS VPC 终端节点的注意事项

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

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

    • 要允许您的任务从 Amazon ECR 拉取私有镜像,您必须为 Amazon ECR 创建接口 VPC 终端节点。有关更多信息,请参阅 中的接口 VPC AWS 终端节点 (Amazon Elastic Container Registry 用户指南 PrivateLink

      重要

      如果您将 Amazon ECR 配置为使用接口 VPC 终端节点,则可以创建包含条件键的任务执行角色,以限制对特定 VPC 或 VPC 终端节点的访问。有关更多信息,请参阅可选 IAM 权限 Fargate 任务拉动 Amazon ECR 界面端点上的图像

    • 要允许您的任务从 Secrets Manager 拉取敏感数据,您必须为 Secrets Manager 创建接口 VPC 终端节点。有关更多信息,请参阅 中的将 Secrets Manager 与 VPC AWS Secrets Manager 用户指南终端节点结合使用。

    • 如果您的 VPC 没有 Internet 网关,并且您的任务使用 awslogs 日志驱动程序将日志信息发送到 CloudWatch Logs,则必须为 CloudWatch Logs 创建接口 VPC 终端节点。有关更多信息,请参阅 CloudWatch Logs 中的将 Amazon CloudWatch Logs User Guide 与接口 VPC 终端节点一起使用

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

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

  • 附加到 VPC 终端节点的安全组必须允许端口 443 上来自 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

注意

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

创建 Secrets Manager 和 Systems Manager 终端节点

如果您在任务定义中引用 Secrets Manager 密钥或 Systems Manager 参数仓库参数以将敏感数据注入到容器中,则需要为 Secrets Manager 或 Systems Manager 创建接口 VPC 终端节点,以便这些任务可以访问这些服务。您只需通过托管敏感数据的特定服务创建终端节点。有关更多信息,请参阅指定敏感数据

有关 Secrets Manager VPC 终端节点的更多信息,请参阅 中的将 Secrets Manager 与 VPC AWS Secrets Manager 用户指南终端节点结合使用。

有关 Systems Manager VPC 终端节点的更多信息,请参阅 中的将 Systems Manager 与 VPC AWS Systems Manager 用户指南终端节点结合使用。

创建终端Systems Manager节点

如果您使用 ECS Exec 功能,则需要为 Systems Manager Session Manager 创建接口 VPC 终端节点。有关更多信息,请参阅使用 Amazon ECS Exec 进行调试

有关Systems Manager会话管理器 VPC 终端节点的更多信息,请参阅 中的使用 AWS PrivateLink 为会话管理器设置 VPC AWS Systems Manager 用户指南 终端节点。

为 创建 VPC 终端节点策略Amazon ECS

您可以为 VPC 终端节点附加控制对 的访问的终端节点策略Amazon ECS 该策略指定以下信息:

  • 可执行操作的委托人。

  • 可执行的操作。

  • 可对其执行操作的资源。

有关更多信息,请参阅 Amazon VPC 用户指南中的使用 VPC 终端节点控制对服务的访问

示例:Amazon ECS 操作的 VPC 终端节点策略

下面是 的终端节点策略示例Amazon ECS 当附加到终端节点时,此策略将授予对所有 资源上的所有委托人对列出的Amazon ECS操作的访问权限。

{ "Statement":[ { "Principal":"*", "Effect":"Allow", "Action":[ "ecs:action-1", "ecs:action-2", "ecs:action-2" ], "Resource":"*" } ] }