启动 Amazon ECS Windows 容器实例 - Amazon Elastic Container Service

启动 Amazon ECS Windows 容器实例

Amazon ECS 容器实例是使用 Amazon EC2 控制台创建的。开始之前,请确保您已完成 设置以使用 Amazon ECS 中的步骤。

有关启动向导的更多信息,请参阅《Amazon EC2 用户指南》中的使用新启动实例向导启动实例

您可以使用新 Amazon EC2 向导启动实例。您可以使用以下列表中的参数,将未列出的参数作为默认值。以下说明将引导您完成每个参数组。

过程

在开始之前,请完成 设置以使用 Amazon ECS 中的步骤。

  1. 通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/

  2. 在屏幕顶部的导航栏中,会显示当前 AWS 区域 [例如,美国东部(俄亥俄)]。选择要在其中启动实例的区域。选择该内容是非常重要的,因为可以在区域之间共享某些 Amazon EC2 资源,而无法共享其他资源。

  3. 从 Amazon EC2 控制台控制面板中,选择启动实例

名称和标签

实例名称是一个标签,其中密钥为 Name(名称),而值为您指定的名称。您可以为实例、卷和弹性图形添加标签。对于竞价型实例,您只能标记竞价型实例请求。

指定实例名称和其它标签为可选项。

  • 对于 Name(名称),为实例输入一个描述性名称。如果您没有指定名称,则可以通过其 ID 标识实例,该 ID 将在您启动实例时自动生成。

  • 要添加其它标签,请选择 Add additional tags(添加其它标签)。选择 Add tag(添加标签),然后输入密钥和值,然后选择要标记的资源类型。为每个要添加的其它标签选择 Add tag(添加标签)。

应用程序和操作系统镜像(亚马逊机器映像)

亚马逊机器映像(AMI)中包含了创建实例所需的信息。例如,AMI 可能包含充当 Web 服务器所需的软件,例如 Apache 和您的网站。

有关最新的经 Amazon ECS 优化的 AMI 及其值,请参阅经 Windows Amazon ECS 优化的 AMI

使用搜索栏查找由 AWS 发布的合适的经 Amazon ECS 优化的 AMI。

  1. 根据您的要求,在搜索栏中输入以下 AMI 之一,然后按 Enter

    • Windows_Server-2022-English-Full-ECS_Optimized

    • Windows_Server-2022-English-Core-ECS_Optimized

    • Windows_Server-2019-English-Full-ECS_Optimized

    • Windows_Server-2019-English-Core-ECS_Optimized

    • Windows_Server-2016-English-Full-ECS_Optimized

  2. Choose an Amazon Machine Image (AMI)(选择 Amazon 机器映像 (AMI))页面上,选择 Community AMIs(社区 AMI)类别。

  3. 从显示的列表中,选择经过 Microsoft 验证且具有最新发布日期的 AMI,然后单击 Select(选择)。

实例类型

实例类型定义了实例的硬件配置和大小。更大的实例类型拥有更多的 CPU 和内存。有关更多信息,请参阅实例类型

  • 对于 Instance type(实例类型),请为实例选择实例类型。

    您选择的实例类型决定了可用于运行您的任务的资源。

密钥对(登录)

Key pair name(密钥对名称)选择一个现有密钥对,或选择 Create new key pair(创建新密钥对)来新建一个密钥对。

重要

如果您选择 Proceed without key pair (Not recommended)(在没有密钥对的情况下继续(不推荐))选项,则将无法连接到此实例,除非您选择配置为允许用户以其它方式登录的 AMI。

Network settings (网络设置)

根据需要配置网络设置。

  • 联网平台:选择 Virtual Private Cloud (VPC)(虚拟私有云(VPC)),则在 Network interfaces(网络接口)部分中指定子网。

  • VPC:选择要在其中创建安全组的现有 VPC。

  • 子网:您可以在与可用区、本地扩展区、Wavelength 区域或 Outpost 关联的子网中启动实例。

    要在可用区中启动实例,请选择要在其中启动实例的子网。要创建新子网,请选择 Create new subnet 转到 Amazon VPC 控制台。完成此操作后,返回到启动实例向导并选择“Refresh”(刷新)图标,以便将您的子网加载到列表中。

    要在本地区域中启动实例,请选择您在本地区域中创建的子网。

    要在 Outpost 中启动实例,请在 VPC 中选择与 Outpost 关联的子网。

  • 自动分配公有 IP:如果实例应可从互联网进行访问,请验证 Auto-assign Public IP(自动分配公有 IP)字段设置为 Enable(启用)。如果不是,请将此字段设置为禁用

    注意

    容器实例需要访问才能与 Amazon ECS 服务终端节点通信。这可以通过接口 VPC 端点或具有公共 IP 地址的容器实例实现。

    有关接口 VPC 端点的更多信息,请参阅 Amazon ECS 接口 VPC 端点 (AWS PrivateLink)

    如果您没有配置接口 VPC 端点,并且您的容器实例没有公有 IP 地址,必须使用网络地址转换(NAT)来提供此访问。有关更多信息,请参阅《Amazon VPC 用户指南》中的 NAT 网关和本指南中的 为 Amazon ECS Linux 容器实例使用 HTTP 代理

  • Firewall (security groups)(防火墙(安全组)):使用安全组为容器实例定义防火墙规则。这些规则指定哪些传入的网络流量可传输到您的容器实例。所有其他的流量将被忽略。

    • 要选择现有安全组,请选择 Select an existing security group(选择现有安全组),然后选择您在 设置以使用 Amazon ECS 中创建的安全组

配置存储

您选择的 AMI 包含一个或多个存储卷,包括根卷。您可以指定要附加到实例的其它卷。

您可以使用 Simple(简单)视图。

  • Storage type(存储类型):为您的容器实例配置存储。

    如果使用的是经 Amazon ECS 优化的 Amazon Linux AMI,则实例已配置了两个卷。Root (根) 卷适合操作系统使用,第二个 Amazon EBS 卷(已挂载到 /dev/xvdcz)适合 Docker 使用。

    您可以选择增大或减小实例的卷大小以满足您的应用程序需求。

高级详细信息

对于Advanced details (高级详细信息),请展开该部分以查看字段并为实例指定任何其他参数。

  • 购买选项:选择 Request Spot instances(请求竞价型实例)以请求竞价型实例。您还需要设置与 Spot 实例相关的其他字段。有关更多信息,请参阅 Spot 实例请求

    注意

    如果使用 Spot 实例时看到 Not available 消息,则需要选择其他实例类型。

    .

  • IAM 实例配置文件:选择您的容器实例 IAM 角色。其通常被命名为 ecsInstanceRole

    重要

    如果未使用适当的 IAM 权限启动容器实例,则 Amazon ECS 代理无法连接到集群。有关更多信息,请参阅 Amazon ECS 容器实例 IAM 角色

  • (可选)用户数据:使用用户数据(如 Amazon ECS 容器代理配置 中的代理环境变量)配置 Amazon ECS 容器实例。Amazon EC2 用户数据脚本仅在实例首次启动时执行一次。以下是用户数据的常用示例:

    • 默认情况下,您的容器实例将启动到您的默认集群中。要在非默认集群中启动,请选择 Advanced Details 列表。然后,将以下脚本粘贴到 User data 字段中,将 your_cluster_name 替换为您的集群的名称。

      EnableTaskIAMRole 打开任务的任务 IAM 角色功能。

      此外,使用 awsvpc 网络模式时,以下选项可用。

      • EnableTaskENI:此标志打开任务联网,并且在使用 awsvpc 网络模式时是必需的。

      • AwsvpcBlockIMDS:此可选标志阻止在 awsvpc 网络模式下运行的任务容器的 IMDS 访问。

      • AwsvpcAdditionalLocalRoutes:此可选标志允许您在任务命名空间中有其他路由。

        ip-address 替换为附加路由的IP地址,例如172.31.42.23/32。

      <powershell> Import-Module ECSTools Initialize-ECSAgent -Cluster your_cluster_name -EnableTaskIAMRole -EnableTaskENI -AwsvpcBlockIMDS -AwsvpcAdditionalLocalRoutes '["ip-address"]' </powershell>