使用 Amazon Batch 进行设置 - Amazon Batch
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

使用 Amazon Batch 进行设置

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

注意

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

要开始设置 Amazon Batch,请完成以下任务。如果您已完成以下任何步骤,可以直接跳到安装 Amazon CLI 的步骤。

注册 Amazon Web Services 账户

如果您还没有 Amazon Web Services 账户,请完成以下步骤来创建一个。

注册 Amazon Web Services 账户
  1. 打开 https://portal.aws.amazon.com/billing/signup

  2. 按照屏幕上的说明进行操作。

    在注册时,将接到一通电话,要求使用电话键盘输入一个验证码。

    当您注册 Amazon Web Services 账户时,系统将会创建一个 Amazon Web Services 账户根用户。根用户有权访问该账户中的所有 Amazon Web Services 和资源。作为安全最佳实践,请为管理用户分配管理访问权限,并且只使用根用户执行需要根用户访问权限的任务

注册过程完成后,Amazon 会向您发送一封确认电子邮件。在任何时候,您都可以通过转至 https://aws.amazon.com/ 并选择我的账户来查看当前的账户活动并管理您的账户。

保护 IAM 用户

注册 Amazon Web Services 账户 后,启用多重身份验证 (MFA) 保护您的管理用户。有关说明,请参阅《IAM 用户指南》中的为 IAM 用户启用虚拟 MFA 设备(控制台)

要授予其他用户访问您的 Amazon Web Services 账户资源的权限,请创建 IAM 用户。为了保护您的 IAM 用户,请启用 MFA 并仅向 IAM 用户授予执行任务所需的权限。

有关创建和保护 IAM 用户的更多信息,请参阅《IAM 用户指南》中的以下主题:

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

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

注意

在控制台首次运行体验中将自动为您创建 Amazon Batch 计算环境和容器实例角色。因此,如果您打算使用 Amazon Batch 控制台,则可以继续阅读下一部分。如果您计划改用 Amazon CLI,请先完成 将服务相关角色用于 Amazon BatchAmazon ECS 实例角色中的过程,然后再创建您的第一个计算环境。

创建密钥对

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

如果您尚未创建密钥对,则可以通过 Amazon EC2 控制台自行创建。请注意,如果您计划在多个 Amazon Web Services 区域 中启动实例,请在每个区域中创建密钥对。有关区域的信息,请参阅适用于 Linux 实例的 Amazon EC2 用户指南中的区域和可用区

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

  2. 从导航栏中,选择密钥对的 Amazon Web Services 区域。您可以选择对您可用的任意区域,无论您的位置如何;但是,密钥对是特定于区域的。例如,如果您计划在美国西部(俄勒冈州)中启动实例,则必须在同一区域中为实例创建密钥对。

  3. 在导航窗格中,选择 Key PairsCreate Key Pair

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

  5. 您的浏览器会自动下载私有密钥文件。基本文件名是您为密钥对指定的名称,文件扩展名为 .pem。将私有密钥文件保存在安全位置。

    重要

    这是您保存私有密钥文件的唯一机会。启动实例时,您需要提供密钥对的名称;每次连接到实例时,必须提供相应的私有密钥。

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

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

有关更多信息,请参阅适用于 Linux 实例的 Amazon EC2 用户指南中的 Amazon EC2 密钥对

使用密钥对连接到实例

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

(可选)准备使用 PuTTY 从 Windows 连接到 Linux 实例
  1. http://www.chiark.greenend.org.uk/~sgtatham/putty/ 下载并安装 PuTTY。确保安装整个套件。

  2. 启动 PuTTYgen(例如,在 开始菜单中,依次选择 所有程序、PuTTY 和 PuTTYgen)。

  3. Type of key to generate 下,选择 RSA。如果您使用的是旧版本的 PuTTYgen,请选择 SSH-2 RSA

    
      Putty 密钥类型
  4. 选择 Load。默认情况下,PuTTYgen 仅显示扩展名为 .ppk 的文件。要找到您的 .pem 文件,请选择显示所有类型的文件的选项。

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

  6. 选择保存私有密钥。PuTTYgen 显示一条关于在没有密码的情况下保存密钥的警告。选择

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

创建 VPC

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

如果您有默认 VPC,也可以跳过此部分并进入下一个任务 创建安全组。要确定您是否具有原定设置 VPC,请参阅适用于 Linux 的 Amazon EC2 用户指南中的 Amazon EC2 控制台中支持的平台

有关如何创建 Amazon VPC 的信息,请参阅 Amazon VPC 用户指南中的仅创建 VPC。请参阅下表确定需要选择的选项。

选项

要创建的资源

仅限 VPC
名称

可以选择为您的 VPC 提供名称。

IPv4 CIDR 块

IPv4 CIDR 手动输入

CIDR 块大小必须在 /16 和 /28 之间。

IPv6 CIDR 块

无 IPv6 CIDR 块

租赁

默认

有关 Amazon VPC 的更多信息,请参阅 Amazon VPC 用户指南中的什么是Amazon VPC?

创建安全组

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

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

请注意,如果您计划在多个区域中启动容器实例,则需要在每个区域中创建安全组。有关更多信息,请参阅《适用于 Linux 实例的 Amazon EC2 用户指南》中的区域和可用区

注意

您需要本地计算机的公有 IP 地址,可以使用服务获得该地址。例如,我们提供以下服务:http://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/

  2. 在导航窗格中,选择 Security Groups(安全组)。

  3. 选择Create security group(创建安全组)。

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

  5. VPC 中,选择 VPC。

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

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

    Inbound 选项卡上,创建以下规则并选择 Create

    • 选择添加规则。对于 Type,选择 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 访问,但仅用于测试目的,并且仅在短时间内进行。

  7. 您可以现在添加标签,也可以稍后再添加。要添加标签,请选择 Add new tag(添加新标签),然后输入标签键和值。

  8. 选择Create security group(创建安全组)。

要使用命令行创建安全组,请参阅 create-security-group(Amazon CLI)

更多有关安全组的信息,请参阅使用安全组部分。

安装 Amazon CLI

要对 Amazon Batch 使用 Amazon CLI,请安装最新 Amazon CLI 版本。有关安装 Amazon CLI 或升级到最新版本的信息,请参阅 Amazon Command Line Interface 用户指南中的安装 Amazon 命令行界面