

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

# 设置 AWS Batch
设置 AWS Batch

如果您已经注册了 Amazon Web Services (AWS)，并且正在使用 Amazon Elastic Compute Cloud (Amazon EC2)，或 Amazon Elastic Container Service (Amazon ECS)，那么您很快就可以使用 AWS Batch。这些服务的设置过程相似。这是因为 AWS Batch 在其计算环境中使用了 Amazon ECS 容器实例。要在 AWS CLI 中使用 AWS Batch，必须使用支持最新 AWS CLI 功能的 AWS Batch 版本。如果在 AWS CLI 中没有看到对 AWS Batch 功能的支持，可以升级到最新版本。有关更多信息，请参阅 [http://aws.amazon.com/cli/](https://aws.amazon.com/cli/)。

**注意**  
由于 AWS Batch 使用了 Amazon EC2 的组件，您可以将 Amazon EC2 控制台用于这些步骤中的许多步骤。

要开始设置 AWS Batch，请完成以下任务。

**Topics**
+ [

# 创建 IAM 账户和管理员用户
](create-an-iam-account.md)
+ [

# 为您的计算环境和容器实例创建 IAM 角色
](create-an-iam-role.md)
+ [

# 为实例创建密钥对
](create-a-key-pair.md)
+ [

# 创建 VPC
](create-a-vpc.md)
+ [

# 创建安全组
](create-a-base-security-group.md)
+ [

# 安装 AWS CLI
](install_aws_cli.md)

# 创建 IAM 账户和管理员用户


首先，您需要创建一个 AWS 帐户和一个通常被授予管理权限的用户。要完成此操作，请完成以下教程：

## 注册获取 AWS 账户


如果您没有 AWS 账户，请完成以下步骤来创建一个。

**报名参加 AWS 账户**

1. 打开[https://portal.aws.amazon.com/billing/注册。](https://portal.aws.amazon.com/billing/signup)

1. 按照屏幕上的说明操作。

   在注册时，将接到电话或收到短信，要求使用电话键盘输入一个验证码。

   当您注册时 AWS 账户，就会创建*AWS 账户根用户*一个。根用户有权访问该账户中的所有 AWS 服务 和资源。作为最佳安全实践，请为用户分配管理访问权限，并且只使用根用户来执行[需要根用户访问权限的任务](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user.html#root-user-tasks)。

AWS 注册过程完成后会向您发送一封确认电子邮件。您可以随时前往 [https://aws.amazon.com/](https://aws.amazon.com/)并选择 “**我的账户”，查看您当前的账户活动并管理您的账户**。

## 创建具有管理访问权限的用户


注册后，请保护您的安全 AWS 账户 AWS 账户根用户 AWS IAM Identity Center，启用并创建管理用户，这样您就不会使用 root 用户执行日常任务。

**保护你的 AWS 账户根用户**

1.  选择 **Root 用户**并输入您的 AWS 账户 电子邮件地址，以账户所有者的身份登录。[AWS 管理控制台](https://console.aws.amazon.com/)在下一页上，输入您的密码。

   要获取使用根用户登录方面的帮助，请参阅《AWS 登录 用户指南》**中的 [Signing in as the root user](https://docs.aws.amazon.com/signin/latest/userguide/console-sign-in-tutorials.html#introduction-to-root-user-sign-in-tutorial)。

1. 为您的根用户启用多重身份验证（MFA）。

   有关说明，请参阅 I [A *M* 用户指南中的为 AWS 账户 根用户启用虚拟 MFA 设备（控制台）](https://docs.aws.amazon.com/IAM/latest/UserGuide/enable-virt-mfa-for-root.html)。

**创建具有管理访问权限的用户**

1. 启用 IAM Identity Center。

   有关说明，请参阅**《AWS IAM Identity Center 用户指南》中的 [Enabling。 AWS IAM Identity Center](https://docs.aws.amazon.com//singlesignon/latest/userguide/get-set-up-for-idc.html)

1. 在 IAM Identity Center 中，为用户授予管理访问权限。

   有关使用 IAM Identity Center 目录 作为身份源的教程，请参阅《[用户*指南》 IAM Identity Center 目录中的使用默认设置配置AWS IAM Identity Center 用户*访问权限](https://docs.aws.amazon.com//singlesignon/latest/userguide/quick-start-default-idc.html)。

**以具有管理访问权限的用户身份登录**
+ 要使用您的 IAM Identity Center 用户身份登录，请使用您在创建 IAM Identity Center 用户时发送到您的电子邮件地址的登录 URL。

  有关使用 IAM Identity Center 用户[登录的帮助，请参阅*AWS 登录 用户指南*中的登录 AWS 访问门户](https://docs.aws.amazon.com/signin/latest/userguide/iam-id-center-sign-in-tutorial.html)。

**将访问权限分配给其他用户**

1. 在 IAM Identity Center 中，创建一个权限集，该权限集遵循应用最低权限的最佳做法。

   有关说明，请参阅《AWS IAM Identity Center 用户指南》**中的 [Create a permission set](https://docs.aws.amazon.com//singlesignon/latest/userguide/get-started-create-a-permission-set.html)。

1. 将用户分配到一个组，然后为该组分配单点登录访问权限。

   有关说明，请参阅《AWS IAM Identity Center 用户指南》**中的 [Add groups](https://docs.aws.amazon.com//singlesignon/latest/userguide/addgroups.html)。

# 为您的计算环境和容器实例创建 IAM 角色
创建 IAM 角色

您的 AWS Batch 计算环境和容器实例需要 AWS 账户 凭证才能代表您调用其他 AWS API。创建可将这些凭证提供给计算环境和容器实例的 AWS Identity and Access Management 角色，然后将该角色与计算环境关联。

**注意**  
要验证您的 AWS 账户 是否拥有所需的权限，请参阅[为您的账户设置的初始 IAM 服务](https://docs.aws.amazon.com/IAM/latest/UserGuide/getting-started_create-admin-group.html)。  
在控制台首次运行体验中将自动为您创建 AWS Batch 计算环境和容器实例角色。因此，如果您打算使用 AWS Batch 控制台，则可以继续阅读下一部分。如果您计划改用 AWS CLI，请先完成[将服务相关角色用于 AWS Batch](using-service-linked-roles.md)、[Amazon ECS 实例角色](instance_IAM_role.md)和[教程：创建 IAM 执行角色](create-execution-role.md)中的过程，然后再创建您的第一个计算环境。

# 为实例创建密钥对
创建密钥对

AWS 使用公钥加密来保护您的实例的登录信息。Linux 实例（例如 AWS Batch 计算环境容器实例）没有可用于 SSH 访问的密码。您使用密钥对安全地登录到实例。您可以在创建计算环境时指定密钥对的名称，然后在使用 SSH 登录时提供私有密钥。

如果您尚未创建密钥对，则可以通过 Amazon EC2 控制台自行创建。请注意，如果您计划启动多个实例 AWS 区域，请在每个区域创建一个 key pair。有关区域的更多信息，请参阅《Amazon EC2 用户指南》**中的[区域和可用区](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html)。

**创建密钥对**

1. 打开位于 [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) 的 Amazon EC2 控制台。

1. 在导航栏中， AWS 区域 为密钥对（key pair）选择一个。您可以选择对您可用的任意区域，无论您的位置如何；但是，密钥对是特定于区域的。例如，如果您计划在美国西部（俄勒冈州）中启动实例，则必须在同一区域中为实例创建密钥对。

1. 在导航窗格中，选择 **Key Pairs** 和 **Create Key Pair**。

1. 在 **Create Key Pair** 对话框中，为 **Key pair name** 输入新密钥对的名称，然后选择 **Create**。选择一个可以记住的名称，例如您的用户名，后跟 `-key-pair`，并加区域名称。例如，*me*-key-pair-*uswest2*。

1. 您的浏览器会自动下载私有密钥文件。基本文件名是您为密钥对指定的名称，文件扩展名为 `.pem`。将私有密钥文件保存在安全位置。
**重要**  
这是您保存私有密钥文件的唯一机会。启动实例时，您需要提供密钥对的名称；每次连接到实例时，必须提供相应的私有密钥。

1. 如果您将在 Mac 或 Linux 计算机上使用 SSH 客户端连接到您的 Linux 实例，请使用以下命令设置您私有密钥文件的权限。这样，只有你才能读懂。

   ```
   $ chmod 400 your_user_name-key-pair-region_name.pem
   ```

有关更多信息，请参阅《Amazon EC2 用户指南》**中的 [Amazon EC2 密钥对](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html)。

**使用密钥对连接到实例**  
要从运行 Mac 或 Linux 的计算机连接到 Linux 实例，需要使用 `-i` 选项对 SSH 客户端指定 `.pem` 文件和私有密钥的路径。要从运行 Windows 的计算机连接到你的 Linux 实例，请使用 MindTerm 或 Putty。如果您计划使用 PuTTY，请安装它并遵循以下过程将 `.pem` 文件转换为 `.ppk` 文件。<a name="prepare-for-putty"></a>

**（可选）准备使用 PuTTY 从 Windows 连接到 Linux 实例**

1. 从 [http://www.chiark.greenend.org.uk/\$1sgtatham/putty/](http://www.chiark.greenend.org.uk/~sgtatham/putty/) 下载并安装 PuTTY。确保安装整个套件。

1. 启动 PuTTYgen （例如，从 “**开始**” 菜单中选择 “**所有程序”、“Putty” 和 “Pu TTYgen**”）。

1. 在 **Type of key to generate** 下，选择 ** RSA**。如果你使用的是早期版本的 PuTTYgen，请选择 **SSH-2 RSA**。  
![\[\]](http://docs.aws.amazon.com/zh_cn/batch/latest/userguide/images/puttygen-key-type.png)

1. 选择 **Load**（加载）。默认情况下，Pu 仅TTYgen 显示扩展名为的文件`.ppk`。要找到您的 `.pem` 文件，请选择显示所有类型的文件的选项。  
![\[\]](http://docs.aws.amazon.com/zh_cn/batch/latest/userguide/images/puttygen-load-key.png)

1. 选择您在上一个过程中创建的私有密钥文件，然后选择 **Open**。选择 **OK** 关闭确认对话框。

1. 选择**保存私有密钥**。Pu TTYgen 会显示一条关于在没有密码的情况下保存密钥的警告。请选择**是**。

1. 指定与密钥对相同的密钥名称。PuTTY 会自动添加 `.ppk` 文件扩展名。

# 创建 VPC


您可以使用 Amazon Virtual Private Cloud（Amazon VPC）将 AWS 资源启动到您定义的虚拟网络中。我们强烈建议您在 VPC 中启动您的容器实例。

如果您有默认 VPC，也可以跳过此部分并进入下一个任务 [创建安全组](create-a-base-security-group.md)。要确定您是否具有默认 VPC，请参阅《Amazon EC2 用户指南》**中的 [Amazon EC2 控制台中支持的平台](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-supported-platforms.html#console-updates)

有关如何创建 Amazon VPC 的信息，请参阅 *Amazon VPC 用户指南*中的[仅创建 VPC](https://docs.aws.amazon.com/vpc/latest/userguide/working-with-vpcs.html#create-vpc-vpc-only)。请参阅下表确定需要选择的选项。


| 选项 | 值 | 
| --- | --- | 
|  要创建的资源  | 仅限 VPC | 
| 名称 |  可以选择为您的 VPC 提供名称。  | 
| IPv4 CIDR 块 |  IPv4 CIDR 手动输入 CIDR 块大小必须在 /16 和 /28 之间。  | 
|  IPv6 CIDR 块  |  无 IPv6 CIDR 块  | 
|  租赁  |  默认值  | 

有关 Amazon VPC 的更多信息，请参阅 *Amazon VPC 用户指南*中的[什么是Amazon VPC？](https://docs.aws.amazon.com/vpc/latest/userguide/)。

# 创建安全组


安全组用作关联的计算环境容器实例的防火墙，可在容器实例级别控制入站和出站的数据流。安全组只能在为其创建该组的 VPC 中使用。

您可以向安全组添加规则，以便使用 SSH 从您的 IP 地址连接到容器实例。您还可以添加允许来自任意位置的入站和出站 HTTP 和 HTTPS 访问的规则。向任务所需的开放端口添加任意规则。

请注意，如果您计划在多个区域中启动容器实例，则需要在每个区域中创建安全组。有关更多信息，请参阅《Amazon EC2 用户指南》**中的[区域和可用区](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html)。

**注意**  
您需要本地计算机的公有 IP 地址，可以使用服务获得该地址。例如，我们提供以下服务：[http://checkip.amazonaws.com/](http://checkip.amazonaws.com/) 或 [https://checkip.amazonaws.com/](https://checkip.amazonaws.com/)。要查找另一项可提供您的 IP 地址的服务，请使用搜索短语“what is my IP address”。如果您正通过互联网服务提供商（ISP）连接或者在不使用静态 IP 地址的情况下从防火墙后面连接，则找出客户端计算机使用的 IP 地址范围。

**使用控制台创建安全组**

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

1. 在导航窗格中，选择 **Security Groups**（安全组）。

1. 选择**Create security group**（创建安全组）。

1. 输入安全组的名称和描述。在创建安全组后，您无法更改其名称和描述。

1. 从 **VPC** 中，选择 VPC。

1. （可选）在默认情况下，新安全组起初只有一条出站规则，即允许所有通信离开资源。您必须添加规则，以便允许任何入站数据流或限制出站数据流。

   AWS Batch 容器实例不需要打开任何入站端口。但是，您可能需要添加 SSH 规则。这样，您就可以登录容器实例并使用 Docker 命令检查作业中的容器。如果您希望容器实例托管运行 Web 服务器的作业，也可以添加适用于 HTTP 的规则。完成以下步骤可添加这些可选的安全组规则。

   在 **Inbound** 选项卡上，创建以下规则并选择 **Create**：
   + 选择**添加规则**。对于**类型**，选择 **HTTP**。对于 **Source**，选择 **Anywhere** (`0.0.0.0/0`)。
   + 选择**添加规则**。对于 **Type**，选择 **SSH**。对于**源**，选择**自定义 IP**，然后以无类别域间路由 (CIDR) 表示法指定计算机或网络的公有 IP 地址。如果您的公司要分配同一范围内的地址，请指定整个范围，例如 `203.0.113.0/24`。要采用 CIDR 表示法指定单个 IP 地址，请选择**我的 IP**。这会将路由前缀 `/32` 添加到公有 IP 地址。
**注意**  
出于安全原因，我们不建议您允许从所有 IP 地址 (`0.0.0.0/0`) 对您的实例进行 SSH 访问，但仅用于测试目的，并且仅在短时间内进行。

1. 您可以现在添加标签，也可以稍后再添加。要添加标签，请选择 **Add new tag**（添加新标签），然后输入标签键和值。

1. 选择**Create security group**（创建安全组）。

要使用命令行创建安全组，请参阅 [>create-security-group](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-security-group.html)（AWS CLI）

更多有关安全组的信息，请参阅[使用安全组](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_SecurityGroups.html#working-with-security-groups)部分。

# 安装 AWS CLI


要对 AWS CLI 使用 AWS Batch，请安装最新 AWS CLI 版本。有关安装 AWS CLI 或升级到最新版本的信息，请参阅 *AWS Command Line Interface 用户指南*。中的[安装 AWS 命令行界面](https://docs.aws.amazon.com/cli/latest/userguide/installing.html)