外部实例 (Amazon ECS Anywhere) - Amazon Elastic Container Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

外部实例 (Amazon ECS Anywhere)

Amazon ECS Anywhere 支持向 Amazon ECS 群集注册外部实例,如本地部署服务器或虚拟机(VM)。外部实例针对生成出站流量或流程数据的运行应用程序进行了优化。如果应用程序需要入站流量,则缺乏 Elastic Load Balancing 支持会降低运行这些工作负载的效率。Amazon ECS添加了一个新的 EXTERNAL 启动类型,您可以使用该类型在外部实例上创建服务或运行任务。

下面介绍了 Amazon ECS Anywhere 的高级系统体系结构概述。


            显示 Amazon ECS Anywhere 的体系架构示意图。

支持的操作系统和系统体系结构

以下是受支持的操作系统和系统体系结构的列表。

  • Amazon Linux 2

  • CentOS 7

    重要

    CentOS 8 已于 2021 年 12 月 31 日达到使用寿命终止(EOL),并且不再受 Amazon ECS Anywhere 的支持。

  • CentOS Stream 8

  • RHEL 7、RHEL 8 — Docker 或 RHEL 的开放程序包存储库都不支持在 RHEL 上本地安装 Docker。在运行本文档中描述的安装脚本之前,您必须确保已安装 Docker。

  • Fedora 32、Fedora 33——Fedora 32 和 Fedora 33 原定设置为使用 cgroups.v2,这是 Amazon ECS 不支持的。因此,必须更改服务器的原定设置 grub 配置并重新启动服务器。有关说明,请参阅 Docker 文档中的更改 cgroup 版本

  • openSUSE Tumbleweed

  • Ubuntu 18, Ubuntu 20

  • Debian 9,Debian 10

  • SUSE Enterprise Server 15

  • Bottlerocket

  • 支持 x86_64ARM64 CPU 体系结构。

  • 支持以下 Windows 操作系统版本:

    • Windows Server 2022

    • Windows Server 2019

    • Windows Server 2016

    • Windows Server 20H2

注意事项

在开始使用外部实例之前,请注意以下注意事项。

  • 您可以一次向一个集群注册一个外部实例。有关如何向其他集群注册外部实例的说明,请参阅 注销外部实例

  • 您的外部实例需要 IAM 角色,允许它们与 Amazon API通信。有关更多信息,请参阅外部实例所需的 IAM 权限

  • 您的外部实例不应具有本地定义的预配置实例凭据链,因为这会干扰注册脚本。

  • 要将容器日志发送到 CloudWatch Logs,请确保在任务定义中创建并指定任务执行 IAM 角色。有关更多信息,请参阅条件 IAM 权限

  • 当外部实例注册到集群时,ecs.capability.external 属性与实例相关联。此属性将实例标识为外部实例。可以将自定义属性添加到外部实例中,用作任务放置约束。有关更多信息,请参阅自定义属性

  • 您可以将资源标签添加到外部实例。有关更多信息,请参阅向外部容器实例添加标签

  • ECS Exec 在外部实例上受支持。有关更多信息,请参阅使用 Amazon ECS Exec进行调试

  • 以下是特定于与外部实例联网的其他注意事项。有关更多信息,请参阅与 ECS Anywhere 联网

    • 不支持服务负载平衡。

    • 不支持服务发现。

    • 在外部实例上运行的任务必须使用 bridgehostnone 网络模式。不支持 awsvpc 网络模式。

    • 每个 Amazon 区域都有 Amazon ECS 服务域。必须允许这些服务域向外部实例发送流量。

    • 安装在外部实例上的 SSM Agent 维护使用硬件指纹每 30 分钟轮换一次的 IAM 凭证。如果您的外部实例与 Amazon 断开连接,SSM Agent 会在重新建立连接后自动刷新凭证。有关更多信息,请参阅 Amazon Systems Manager 用户指南中的使用硬件指纹验证本地部署服务器和虚拟机

  • 不支持 UpdateContainerAgent API。有关如何更新外部实例上的 SSM Agent 或 Amazon ECS 代理的说明,请参阅 更新外部实例上的 Amazon Systems Manager 代理和 Amazon ECS 容器代理

  • 不支持 Amazon ECS 容量提供程序。要在外部实例上创建服务或运行独立任务,请使用 EXTERNAL 启动任务。

  • 不支持 SELinux。

  • 不支持使用 Amazon EFS 卷或指定 EFSVolumeConfiguration

  • 不支持与 App Mesh 集成。

  • 在 Windows 上运行 ECS Anywhere 时,必须在本地基础设施上使用自己的 Windows 许可证。

与 ECS Anywhere 联网

Amazon ECS 外部实例针对运行生成出站流量或处理数据的应用程序进行了优化。如果您的应用程序需要入站流量,例如web服务,则缺乏 Elastic Load Balancing 支持会降低运行这些工作负载的效率,因为不支持将这些工作负载置于负载平衡器之后。

以下是特定于与外部实例联网的其他注意事项。

  • 不支持服务负载平衡。

  • 不支持服务发现。

  • 在外部实例上运行的 Linux 任务必须使用 bridgehostnone 网络模式。不支持 awsvpc 网络模式。

    有关各网络模式的更多信息,请参阅 Amazon ECS 最佳实践指南中的选择网络模式

  • 在外部实例上运行的 Windows 任务必须使用 default 网络模式。

  • 每个 Amazon 区域都有 Amazon ECS 服务域。必须允许这些服务域向外部实例发送流量。

  • 安装在外部实例上的 SSM Agent 维护使用硬件指纹每 30 分钟轮换一次的 IAM 凭证。如果您的外部实例与 Amazon 断开连接,SSM Agent 会在重新建立连接后自动刷新凭证。有关更多信息,请参阅 Amazon Systems Manager 用户指南中的使用硬件指纹验证本地部署服务器和虚拟机

以下域用于 Amazon ECS 服务和安装在您的外部实例上的 Amazon ECS 代理之间的通信。确保允许流量并且 DNS 解析工作正常。对于每个端点,区域表示 Amazon ECS 支持的 Amazon 区域的区域标识符,例如美国东部(俄亥俄州)区域 us-east-2。应允许使用所有区域的端点。对于 ecs-aecs-t 端点,应包含星号(例如,ecs-a-*)。

  • ecs-a-*.region.amazonaws.com— 托管任务时使用此端点。

  • ecs-t-*.region.amazonaws.com— 此端点用于托管任务和容器指标。

  • ecs.region.amazonaws.com— 这是 Amazon ECS 的服务端点。

  • ssm.region.amazonaws.com — 这是 Amazon Systems Manager 的服务端点。

  • ec2messages.region.amazonaws.com — 这是 Amazon Systems Manager 用于在云中的 Systems Manager 代理和 Systems Manager 服务之间进行通信的服务端点。

  • ssmmessages.region.amazonaws.com — 这是使用云中的 Session Manager 服务创建和删除会话通道所需的服务端点。

  • 如果您的任务需要与任何其他 Amazon 服务通信,请确保允许这些服务端点可用。示例应用程序包括使用 Amazon ECR 提取容器镜像或使用 CloudWatch Logs 的 CloudWatch。有关更多信息,请参阅 Amazon 一般引用指南中的服务端点

Amazon FSx for Windows File Server 与 ECS Anywhere

要将 Amazon FSx for Windows File Server 与 Amazon ECS 外部实例结合使用,您必须在您的本地数据中心与 Amazon Web Services 云 之间建立连接。有关将您的网络连接到 VPC 的选项的信息,请参阅 Amazon Virtual Private Cloud 连接性选项

gMSA 与 ECS Anywhere

ECS Anywhere 支持以下使用案例。

  • Active Directory 位于 Amazon Web Services 云 中 - 对于此配置,您将使用 Amazon Direct Connect 连接在您的本地网络和 Amazon Web Services 云 之间创建连接。有关如何创建连接的信息,请参阅 Amazon Virtual Private Cloud 连接性选项。您可以在 Amazon Web Services 云 中创建 Active Directory。有关如何开始使用 Amazon Directory Service 的信息,请参阅 Amazon Directory Service 管理指南中的设置 Amazon Directory Service。然后,您可以使用 Amazon Direct Connect 连接将外部实例加入域。有关将 gMSA 与 Amazon ECS 结合使用的信息,请参阅 为 Windows 容器使用 gMSA

  • Active Directory 位于本地数据中心。- 对于此配置,您将您的外部实例加入到本地 Active Directory。然后,在运行 Amazon ECS 任务时,您可以使用本地可用的凭证。