

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

# 开始使用 Amazon Batch 以及使用向导的 Amazon ECS 托管实例
<a name="getting-started-ecs-managed-instances"></a>

亚马逊 ECS 托管实例提供完全托管的 Amazon EC2 容量，与 Fargate 相比具有更高的计算灵活性，包括 GPU 实例、裸机和任意 vCPU/memory组合。Amazon ECS 代表您处理实例配置、扩展和终止。有关更多信息，请参阅 [Amazon ECS 托管实例计算环境](ecs_managed_instances.md)。

## 概述
<a name="getting-started-ecs-managed-instances-contextual"></a>

本教程演示如何使用向导 Amazon Batch 进行设置以配置 Amazon ECS 托管实例并运行`Hello World`。

**目标受众 **  
如果您设置、测试或部署 Amazon Batch 工作负载，则本教程适合您。

**使用的功能 **  
本教程向您展示如何使用 Amazon Batch 控制台向导来：  
+ 创建和配置 Amazon ECS 托管实例计算环境
+ 创建作业队列
+ 创建任务定义
+ 创建并提交要运行的作业
+ 在中查看作业的输出 CloudWatch

**所需时间 **  
完成本教程大约需要 10—15 分钟。

**区域限制 **  
使用此解决方案没有任何国家/地区或区域限制。

**资源使用成本 **  
创建 Amazon 账户不收取任何费用。但是，通过实施此解决方案，您可能会产生下表中列出的部分或全部费用。  


<table>
<thead>
  <tr><th>说明</th><th>费用（美元）</th></tr>
</thead>
<tbody>
  <tr><td>定价基于亚马逊 ECS 托管实例启动的亚马逊 EC2 实例类型。对于预置的实例，您需要按标准 Amazon EC2 On-Demand 或现货定价向您收费。</td><td>有关定价的更多信息，请参阅 <a href="https://www.amazonaws.cn/ec2/pricing/">Amazon EC2 定价</a>。</td></tr>
</tbody>
</table>


## 先决条件
<a name="getting-started-ecs-managed-instances-prerequisite"></a>

开始前的准备工作：
+  Amazon Web Services 账户 如果你没有，请创建一个。
+ 创建 Amazon ECS 基础设施角色——一个具有信任策略的 IAM 角色`ecs.amazonaws.com`。有关更多信息，请参阅《[亚马逊弹性容器服务开发人员指南》](https://docs.amazonaws.cn/AmazonECS/latest/developerguide/infrastructure-iam-roles.html)中的 A * mazon ECS 基础设施 IAM 角色*。
+ 创建一个 Amazon EC2 实例配置文件，该配置文件使用托`AmazonECSInstanceRolePolicyForManagedInstances`管策略和的信任策略`ec2.amazonaws.com`。
+ 您的 IAM 委托人必须具有基础设施角色的`iam:PassRole`权限，条件为`iam:PassedToService: ecs.amazonaws.com`。
+ 一个 VPC，其子网具有出站互联网访问权限（公有 IP 分配或 NAT 网关）。
+ 创建 Amazon ECS 任务执行角色——具有`AmazonECSTaskExecutionRolePolicy`托管策略和信任策略的 IAM 角色`ecs-tasks.amazonaws.com`。此角色允许亚马逊 ECS 代理代表您 Amazon 拨打电话，例如从 Amazon ECR 提取容器镜像。有关更多信息，请参阅《Amazon Elastic Container Service 开发人员指南》中的 [Amazon ECS 任务执行 IAM 角色](https://docs.amazonaws.cn/AmazonECS/latest/developerguide/task_execution_IAM_role.html)。

## 第 1 步：创建计算环境
<a name="getting-started-ecs-managed-instances-create-ce"></a>

**重要**  
本教程包含的步骤均使用默认设置，以助您尽可能简单快速地入门。在创建用于生产用途之前，我们建议您熟悉所有设置。使用符合您要求的设置进行部署。

要为 Amazon ECS 托管实例创建计算环境，请执行以下操作：

1. 打开 [Amazon Batch 控制台首次运行向导](https://console.amazonaws.cn/batch/home#wizard)。

1. 对于**配置任务和编排类型**，选择 ** ECS 托管实例**。

1. 选择**下一步**。

1. 在**名称**的**计算环境配置**部分，为您的计算环境指定唯一名称。名称长度不超过 128 个字符。可以包含大小写字母、数字、连字符（-）和下划线（\_）。

1. 对于**基础设施角色**，选择您在先决条件中创建的 Amazon ECS 基础设施角色。

1. 对于**实例配置文件**，选择您在先决条件中创建的 Amazon EC2 实例配置文件。

1. 对于**最大 vCPU**，输入计算环境可以扩展到的最大 vCPU 数量。默认值为 256。

1. 对于**子网**，选择 Amazon ECS 启动托管实例的一个或多个子网。子网必须具有出站互联网访问权限（公有 IP 分配或 NAT 网关）。

1. 对于**安全组**，选择一个或多个与托管实例关联的安全组。

1. 
**注意**  
对于所有其他配置选项，您可以保留默认值。

   选择**下一步**。

## 第 2 步：创建作业队列
<a name="getting-started-ecs-managed-instances-create-jq"></a>

作业队列会存储您提交的作业，直到 Amazon Batch 调度器在计算环境中的资源上运行作业为止。若要创建作业队列：

1. 在 “**名称” 的 “**作业队列配置**” 部分中**，为您的任务队列指定一个唯一的名称。名称长度不超过 128 个字符。可以包含大小写字母、数字、连字符（-）和下划线（\_）。

1. 在**优先级**中，为作业队列输入 900。

1. 
**注意**  
对于所有其他配置选项，您可以保留默认值。

   选择**下一步**。

## 步骤 3：创建任务定义
<a name="getting-started-ecs-managed-instances-create-jd"></a>

创建作业定义：

1. 在**常规配置**部分：

   1. 在 “**名称” 中**，为您的作业定义指定一个唯一的名称。名称长度不超过 128 个字符。可以包含大小写字母、数字、连字符（-）和下划线（\_）。

1. 在**容器配置**部分：

   1. 对于**图像**，保留默认`public.ecr.aws/amazonlinux/amazonlinux:2023`图像或指定自己的容器镜像。

   1. 对于**命令**，您可以将 `hello world` 更改为某个自定义消息，也可保留原样。

   1. 对于 ** vCPU**，指定容器的 vCPU 数量。默认为 1。

   1. 对于**内存**，指定容器的内存量（以 MiB 为单位）。默认值为 2048。

1. 对于**执行角色**，选择一个任务执行角色，允许 Amazon ECS 代理代表您 Amazon 拨打电话，例如从 Amazon ECR 提取容器镜像。

1. 
**注意**  
对于所有其他配置选项，您可以保留默认值。

   选择**下一步**。

## 第 4 步：创建作业
<a name="getting-started-ecs-managed-instances-create-job"></a>

要创建作业，请执行以下操作：

1. 在**作业配置**部分的**名称**中，为该作业指定一个唯一的名称。名称长度不超过 128 个字符。可以包含大小写字母、数字、连字符（-）和下划线（\_）。

1. 
**注意**  
对于所有其他配置选项，您可以保留默认值。

   选择**下一步**。

## 第 5 步：审核并创建
<a name="getting-started-ecs-managed-instances-review"></a>

在**查看和创建**页面上，检查配置步骤。如果需要进行更改，请选择 **Edit**（编辑）。完成后，选择**创建资源**。

## 第 6 步：查看作业的输出
<a name="getting-started-ecs-managed-instances-view-job"></a>

要查看作业的输出，请执行以下操作：

1. 在导航窗格中，选择**作业**。

1. 在**作业队列**下拉列表中，选择您为本教程创建的任务队列。

1. **任务**表列出了您的所有任务及其当前状态。在任务的**状态**为**成功后**，选择任务**名称**以查看其详细信息。

1. 在**详细信息**窗格中，选择**日志流名称**。任务 CloudWatch 控制台将打开，并且应该有一个包含消息`hello world`或您的自定义**消息**的事件。

**注意**  
首次启动实例时，Amazon ECS 托管实例可能需要几分钟才能预置容量。这是预期的行为——当实例已经可用时，后续任务通常会更快地启动。

## 第 7 步：清理教程资源
<a name="getting-started-ecs-managed-instances-cleanup"></a>

在 Amazon EC2 实例运行期间，您需要为其付费。您可以删除资源以停止产生费用。

要删除您创建的资源，请执行以下操作：

1. 在导航窗格中，选择**作业队列**。

1. 在**作业队列**表中，选择您为本教程创建的作业队列。

1. 选择**禁用**。在 “任务队列**状态” 变**为 “禁用” 后，您可以选择**删除**。

1. 删除任务队列后，在导航窗格中选择**计算环境**。

1. 选择您为本教程创建的计算环境，然后选择**禁用**。计算环境可能需要 1—2 分钟才能完全禁用。

1. 计算环境的 “**状态” 变**为 “禁用” 后，选择**删除**。删除计算环境可能需要 1—2 分钟。

## 其他资源
<a name="getting-started-ecs-managed-instances-additional-resources"></a>

完成本教程后，您可以探索以下主题：
+ 了解有关 [Amazon ECS 托管实例计算环境](ecs_managed_instances.md) 的更多信息。
+ 详细了解[最佳实践](best-practices.md)。
+ 探索 Amazon Batch 核心组件。有关更多信息，请参阅 [的组件 Amazon Batch](batch_components.md)。
+ 详细了解 Amazon Batch支持的各种[计算环境](compute_environments.md)。
+ 详细了解[作业队列](job_queues.md)及其各种调度选项。
+ 详细了解[作业定义](job_definitions.md)以及各种配置选项。