

# 启动 Amazon ECS Windows 容器实例
<a name="launch_window-container_instance"></a>

Amazon ECS 容器实例是使用 Amazon EC2 控制台创建的。开始之前，请确保您已完成 [设置以使用 Amazon ECS](get-set-up-for-amazon-ecs.md) 中的步骤。

有关启动向导的更多信息，请参阅《Amazon EC2 用户指南》中的[使用新启动实例向导启动实例](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ec2-launch-instance-wizard.html)**。

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

## 过程
<a name="liw-initiate-instance-launch"></a>

在开始之前，请完成 [设置以使用 Amazon ECS](get-set-up-for-amazon-ecs.md) 中的步骤。

1. 通过以下网址打开 Amazon EC2 控制台：[https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)。

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

1. 从 Amazon EC2 控制台控制面板中，选择**启动实例**。

## 名称和标签
<a name="liw-name-and-tags"></a>

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

指定实例名称和其它标签为可选项。
+ 对于**名称**，为实例输入一个描述性名称。如果您没有指定名称，则可以通过其 ID 标识实例，该 ID 将在您启动实例时自动生成。
+ 要添加其它标签，请选择**添加其他标签**。选择**添加标签**，然后输入密钥和值，然后选择要标记的资源类型。为每个要添加的其它标签选择**添加标签**。

## 应用程序和操作系统映像（亚马逊机器映像）
<a name="liw-ami"></a>

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

有关最新的经 Amazon ECS 优化的 AMI 及其值，请参阅[经 Windows Amazon ECS 优化的 AMI](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_windows_AMI.html)。

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

1. 根据您的要求，在**搜索**栏中输入以下 AMI 之一，然后按 **Enter**。
   + Windows\$1Server-2022-English-Full-ECS\$1Optimized
   + Windows\$1Server-2022-English-Core-ECS\$1Optimized
   + Windows\$1Server-2019-English-Full-ECS\$1Optimized
   + Windows\$1Server-2019-English-Core-ECS\$1Optimized
   + Windows\$1Server-2016-English-Full-ECS\$1Optimized

1. 在**选择亚马逊机器映像（AMI）**页面上，选择**社区 AMI** 类别。

1. 从显示的列表中，选择经过 Microsoft 验证且具有最新发布日期的 AMI，然后单击**选择**。

## 实例类型
<a name="liw-instance-type"></a>

实例类型定义了实例的硬件配置和大小。更大的实例类型拥有更多的 CPU 和内存。有关更多信息，请参阅[实例类型](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html)。
+ 对于**实例类型**，请为实例选择实例类型。

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

## 密钥对（登录）
<a name="liw-key-pair"></a>

为**密钥对名称**选择一个现有密钥对，或选择**创建新的密钥对**来新建一个密钥对。

**重要**  
如果您选择**在没有密钥对的情况下继续（不推荐）**选项，则将无法连接到此实例，除非您选择配置为允许用户以其它方式登录的 AMI。

## 网络设置
<a name="liw-network-settings"></a>

根据需要配置网络设置。
+ **联网平台**：选择**虚拟私有云（VPC）**，则在**网络接口**部分中指定子网。
+ **VPC**：选择要在其中创建安全组的现有 VPC。
+ **子网**：您可以在与可用区、本地扩展区、Wavelength 区域或 Outpost 关联的子网中启动实例。

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

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

  要在 Outpost 中启动实例，请在 VPC 中选择与 Outpost 关联的子网。
+ **自动分配公有 IP**：如果实例应可从互联网进行访问，请验证**自动分配公有 IP** 字段设置为**启用**。如果不是，请将此字段设置为**禁用**。
**注意**  
容器实例需要访问才能与 Amazon ECS 服务端点通信。这可以通过接口 VPC 端点或具有公共 IP 地址的容器实例实现。  
有关接口 VPC 端点的更多信息，请参阅 [Amazon ECS 接口 VPC 端点（AWS PrivateLink）](vpc-endpoints.md)  
如果您没有配置接口 VPC 端点，并且您的容器实例没有公有 IP 地址，必须使用网络地址转换（NATI）来提供此访问。有关更多信息，请参阅《Amazon VPC 用户指南》**中的 [NAT 网关](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html)和本指南中的 [为 Amazon ECS Linux 容器实例使用 HTTP 代理](http_proxy_config.md)。
+ **防火墙（安全组）**：使用安全组为容器实例定义防火墙规则。这些规则指定哪些传入的网络流量可传输到您的容器实例。所有其他的流量将被忽略。
  + 要选择现有安全组，请选择**选择一个现有的安全组**，然后选择您在 [设置以使用 Amazon ECS](get-set-up-for-amazon-ecs.md) 中创建的安全组

## 配置存储
<a name="liw-storage"></a>

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

您可以使用**简单**视图。
+ **存储类型**：为您的容器实例配置存储。

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

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

## 高级详细信息
<a name="liw-advanced-details"></a>

对于**高级详细信息**，请展开该部分以查看字段并为实例指定任何其他参数。
+ **购买选项**：选择**请求竞价型实例**以请求竞价型实例。您还需要设置与竞价型实例相关的其他字段。有关更多信息，请参阅竞价型实例[请求](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-requests.html)。
**注意**  
如果使用竞价型实例时看到 `Not available` 消息，则需要选择其他实例类型。

  .
+ **IAM 实例配置文件**：选择您的容器实例 IAM 角色。其通常被命名为 `ecsInstanceRole`。
**重要**  
如果未使用适当的 IAM 权限启动容器实例，则 Amazon ECS 代理无法连接到集群。有关更多信息，请参阅 [Amazon ECS 容器实例 IAM 角色](instance_IAM_role.md)。
+ （可选）**用户数据**：使用用户数据（如 [Amazon ECS 容器代理配置](ecs-agent-config.md) 中的代理环境变量）配置 Amazon ECS 容器实例。Amazon EC2 用户数据脚本仅在实例首次启动时执行一次。以下是用户数据的常用示例：
  + 默认情况下，您的容器实例将启动到您的默认集群中。要在非默认集群中启动，请选择 **Advanced Details** 列表。然后，将以下脚本粘贴到 **User data** 字段中，将 *your\$1cluster\$1name* 替换为您的集群的名称。

    `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>
    ```