经 Amazon ECS 优化的 Windows AMI
经 Amazon ECS 优化的 AMI 预配置了运行 Amazon ECS 工作负载所需的必要组件。尽管您可以自行创建在 Amazon ECS 上运行您的容器化工作负载所需的符合基本规范的容器实例 AMI,但 Amazon 工程师仍会在 Amazon ECS 上预配置并测试经 Amazon ECS 优化的 AMI。这是可供您开始操作并快速获取 Amazon 上运行的容器的最简单方式。
经 Amazon ECS 优化的 AMI 元数据,包括 AMI 名称、Amazon ECS 容器代理版本和 Amazon ECS 运行时版本(其中包括 Docker 版本,对于每个变体可以编程方式检索)。有关更多信息,请参阅 检索经 Amazon ECS 优化的 Windows AMI 元数据。
重要
2022 年 8 月之后生产的所有经 ECS 优化的 AMI 变体都将从 Docker EE(Mirantis)迁移到 Docker CE(Moby 项目)。
为了确保客户预设情况下安装了最新的安全更新,Amazon ECS 保留至少三个 Windows 经 Amazon ECS 优化的 AMI。在发布新的 Windows 经 Amazon ECS 优化的 AMI 后,Amazon ECS 将使 Windows 经 Amazon ECS 优化的 AMI 成为旧版专用。如果存在需要访问的私有 AMI,请通过向 Cloud Support 提交服务单来告知我们。
经 Amazon ECS 优化的 AMI 变体
以下 Windows 服务器版本的经 Amazon ECS优化 AMI 适用于您的 Amazon EC2 实例。
重要
8 月之后生产的所有经 ECS 优化的 AMI 变体都将从 Docker EE(Mirantis)迁移到 Docker CE(Moby 项目)。
-
经 Amazon ECS 优化的 Windows Server 2022 Full AMI
-
经 Amazon ECS 优化的 Windows Server 2022 Core AMI
-
经 Amazon ECS 优化的 Windows Server 2019 Full AMI
-
经 Amazon ECS 优化的 Windows Server 2019 Core AMI
-
经 Amazon ECS 优化的 Windows Server 2016 Full AMI
重要
Windows Server 2016 不支持最新的 Docker 版本,例如 25.x.x。因此,Windows Server 2016 Full AMI 将不会收到 Docker 运行时的安全补丁或错误补丁。建议您迁移到以下 Windows 平台之一:
-
Windows Server 2022 Full
-
Windows Server 2022 Core
-
Windows Server 2019 Full
-
Windows Server 2019 Core
2022 年 8 月 9 日,经 Amazon ECS 优化的 Windows Server 20H2 Core AMI 达到终止支持日期。不会发布此 AMI 的任何新版本。有关更多信息,请参阅 Windows Server 发行版信息
Windows Server 2022、Windows Server 2019 和 Windows Server 2016 是长期服务渠道(LTSC)版本。Windows Server 20H2 是一个半年服务渠道(SAC)版本。有关更多信息,请参阅 Windows Server 发行版信息
注意事项
下面是您应了解的有关 Amazon EC2 Windows 容器和 Amazon ECS 的一些事项。
-
Windows 容器无法在 Linux 容器实例上运行,情况也相反。为了更好地放置 Windows 和 Linux 任务,请将 Windows 和 Linux 容器实例保持在单独的集群中,并且仅将 Windows 任务放置在 Windows 集群上。您可以设置以下放置约束,确保 Windows 任务定义仅放置在 Windows 实例上:
memberOf(ecs.os-type=='windows')
。 -
使用 EC2 和 Fargate 启动类型的任务支持 Windows 容器。
-
Windows 容器和容器实例并不完全支持适用于 Linux 容器和容器实例的所有任务定义和参数。对于某些参数,它们完全不受支持,而其他参数在 Windows 和 Linux 上的行为不相同。有关更多信息,请参阅 运行 Windows 的 EC2 实例的 Amazon ECS 任务定义差异。
-
对于任务的 IAM 角色功能,您需要将 Windows 容器实例配置为在启动时允许该功能。容器在使用此功能时必须运行一些提供的 PowerShell 代码。有关更多信息,请参阅 Amazon EC2 Windows 实例附加配置。
-
任务的 IAM 角色功能使用凭证代理来向容器提供凭证。此凭证代理占用了容器实例上的端口 80,因此,如果您使用 IAM 角色处理任务,则端口 80 不可用于任务。对于 Web 服务容器,您可以使用 Application Load Balancer 和动态端口映射来向容器提供标准 HTTP 端口 80 连接。有关更多信息,请参阅 使用负载均衡分配 Amazon ECS 服务流量。
-
Windows Server Docker 映像很大(9GiB)。因此,您的 Windows 容器实例需要比 Linux 容器实例更多的存储空间。
-
要在 Windows Server 上运行 Windows 容器,容器的基本映像操作系统版本必须与主机的操作系统版本匹配。有关更多信息,请参阅 Microsoft 文档网站上的 Windows 容器版本兼容性
。如果您的集群运行多个 Windows 版本,则可以使用置放约束来确保将任务放在运行相同版本的 EC2 实例上: memberOf(attribute:ecs.os-family == WINDOWS_SERVER_<OS_Release>_<FULL or CORE>)
。有关更多信息,请参阅 检索经 Amazon ECS 优化的 Windows AMI 元数据。