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

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

使用 AWS Batch 设置

如果您已注册 Amazon Web Services (AWS) 并已在使用 Amazon Elastic Compute Cloud (Amazon EC2) 或 Amazon Elastic Container Service (Amazon ECS),您与使用 AWS Batch 已近在咫尺。这些服务的设置过程非常相似,因为 AWS Batch CH 在其计算环境中使用 Amazon ECS 容器实例。要在 AWS 批处理中使用 AWS CLI,必须使用支持最新 AWS Batch 功能的 AWS CLI 版本。如果您在 AWS CLI 中没有看到对 AWS Batch 功能的支持,可以升级到最新版本。有关更多信息,请参阅 。http://aws.amazon.com/cli/

注意

由于 AWS Batch 使用 Amazon EC2 的组件,因此,您可以将 Amazon EC2 控制台用于其中的许多步骤。

要开始设置 AWS Batch,请完成以下任务。如果您已完成以下任何步骤,可以跳过这些步骤并继续安装 AWS CLI。

注册 AWS

在您注册 AWS 时,您的 AWS 账户会自动注册所有服务,包括 Amazon EC2 和 AWS Batch。您只需为使用的服务付费。

如果您已有一个 AWS 账户,请跳到下一个任务。如果您还没有 AWS 账户,请使用以下步骤创建。

如何创建 AWS 账户

  1. 打开 https://portal.aws.amazon.com/billing/signup

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

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

请记下您的 AWS 账号,因为在下一个任务中您会用到它。

创建 IAM 用户

AWS 中的服务 (例如 Amazon EC2 和 AWS Batch CH) 要求您在访问时提供凭证,以便服务可以确定您是否有权访问其资源。控制台要求您的密码。您可以为您的 AWS 账户创建访问密钥以访问命令行界面或 API。但是,我们不建议使用您的 AWS 账户的凭证访问 AWS,而建议您使用 AWS Identity and Access Management (IAM)。创建 IAM 用户,然后将该用户添加到具有管理权限的 IAM 组或授予此用户管理权限。您随后便可以使用特殊 URL 和 IAM 用户的凭证访问 AWS。

如果您已注册 AWS 但尚未为自己创建一个 IAM 用户,则可以使用 IAM 控制台自行创建。

自行创建管理员用户并将该用户添加到管理员组(控制台)

  1. 登录到IAM 控制台作为帐户所有者,方法是选择根用户并输入您的 AWS 账户电子邮件地址。在下一页上,输入您的密码。

    注意

    强烈建议您遵守以下最佳实践:使用AdministratorIAM 用户遵循并安全锁定根用户凭证。只在执行少数账户和服务管理任务时才作为根用户登录。

  2. 在导航窗格中,选择用户,然后选择添加用户

  3. 对于 User name (用户名),输入 Administrator

  4. 选中 AWS Management Console access (AWS 管理控制台访问) 旁边的复选框。然后选择自定义密码,并在文本框中输入新密码。

  5. (可选)默认情况下,AWS 要求新用户在首次登录时创建新密码。您可以清除 User must create a new password at next sign-in (用户必须在下次登录时创建新密码) 旁边的复选框以允许新用户在登录后重置其密码。

  6. 选择后续:权限。

  7. 设置权限下,选择将用户添加到组

  8. 选择创建组

  9. Create group (创建组) 对话框中,对于 Group name (组名称),输入 Administrators

  10. 选择筛选策略,然后选择AWS 托管-工作职能来过滤表格内容。

  11. 在策略列表中,选中 AdministratorAccess 的复选框。然后选择 Create group (创建组)

    注意

    您必须先激活 IAM 用户和角色对账单的访问权限,然后才能使用 AdministratorAccess 权限访问 AWS 账单和成本管理控制台。为此,请按照“向账单控制台委派访问权限”教程第 1 步中的说明进行操作。

  12. 返回到组列表中,选中您的新组所对应的复选框。如有必要,选择 Refresh 以在列表中查看该组。

  13. 选择后续:Tags

  14. (可选)通过以键值对的形式附加标签来向用户添加元数据。有关在 IAM 中使用标签的更多信息,请参阅标记 IAM 实体中的IAM 用户指南

  15. 选择后续:审核查看要添加到新用户的组成员资格的列表。如果您已准备好继续,请选择 Create user

您可使用此相同的流程创建更多的组和用户,并允许您的用户访问 AWS 账户资源。要了解有关使用策略限制用户对特定 AWS 资源的权限的信息,请参阅访问管理示例策略

要以此新 IAM 用户的身份登录,请从 AWS 控制台注销,然后使用以下 URL,其中您的账户 ID是您的 AWS 账号,没有连字符(例如,如果您的 AWS 账号是1234-5678-9012,您的 AWS 账户 ID 是123456789012):

https://your_aws_account_id.signin.aws.amazon.com/console/

输入您刚创建的 IAM 用户名和密码。登录后,导航栏显示 your_user_name @ your_aws_account_id

如果您不希望您的登录页面 URL 包含 AWS 账户 ID,可以创建账户别名。从 IAM 控制面板中,选择创建账户别名,然后输入别名,例如您的公司名称。要在创建账户别名后登录,请使用以下 URL:

https://your_account_alias.signin.aws.amazon.com/console/

要为您的账户验证 IAM 用户的登录链接,请打开 IAM 控制台并在控制面板的 IAM users sign-in link (IAM 用户登录链接) 下进行检查。

有关 IAM 的更多信息,请参阅AWS Identity and Access Management 用户指南

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

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

注意

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

创建密钥对

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

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

创建密钥对

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

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

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

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

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

    重要

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

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

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

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

使用密钥对连接到实例

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

(可选)准备使用 PuTTY 从 Windows 连接到 Linux 实例

  1. 从中下载并安装 PuTTYhttp://www.chiark.greenend.org.uk/~sgtatham/putty/。确保安装整个套件。

  2. 启动 PuTTYgen (例如,从启动菜单中,选择所有程序、PuTTY 和 PuTTYgen)。

  3. Type of key to generate 下,选择 RSA。如果您使用的是较早版本的 PuTTYgen,请选择SSH-2 罗马尼亚共和国

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

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

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

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

创建 Virtual Private Cloud

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

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

重要

如果您的账户在某个区域中支持 EC2-Classic,则您在该区域没有默认 VPC。

创建非默认 VPC

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

  2. 从导航栏中,为 VPC 选择区域。VPC 特定于某一区域,因此您应选择已创建 key pair 的区域。

  3. 在 VPC 控制面板上,选择 Start VPC Wizard

  4. 在存储库的步骤 1: 选择 VPC 配置页面上,确保带单个公有子网的 VPC,然后选择Select

  5. 在存储库的步骤 2: 带单个公有子网的 VPC页面上,输入您的 VPC 的易识别名称VPC 名称。保留其他默认配置设置,然后选择 Create VPC。在确认页面上,请选择 OK

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

创建安全组

安全组用作关联的计算环境容器实例的防火墙,可在容器实例级别控制入站和出站的数据流。您可以向安全组添加规则,以便使用 SSH 从您的 IP 地址连接到容器实例。您还可以添加允许来自任意位置的入站和出站 HTTP 和 HTTPS 访问的规则。向任务所需的开放端口添加任意规则。

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

注意

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

为您的 VPC 创建具有最小特权的

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

  2. 从导航栏中选择安全组的区域。安全组特定于某一区域,因此您应选择已创建密钥对的区域。

  3. 在导航窗格中,选择 Security Groups,然后选择 Create Security Group

  4. 输入新安全组的名称和描述。选择一个您可以记住的名称,例如,您的 IAM 用户名,后跟 _SG_ 加区域名称。例如,me_SG_useast1

  5. VPC 列表中,确保选择您的默认 VPC;它标有星号 (*)。

    注意

    如果您的账户支持 EC2-Classic,请选择您在上一个任务中创建的 VPC。

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

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

    • 选择 Add Rule。对于 Type,选择 HTTP。对于 Source,选择 Anywhere (0.0.0.0/0)。

    • 选择 Add Rule。对于 Type,选择 SSH。对于 Source,确保选择 Custom IP,然后采用 CIDR 表示法指定您计算机或网络的公有 IP 地址。要采用 CIDR 表示法指定单个 IP 地址,请添加路由前缀 /32。例如,如果您的 IP 地址是 203.0.113.25,请指定 203.0.113.25/32。如果您的公司要分配同一范围内的地址,请指定整个范围,例如 203.0.113.0/24

      注意

      出于安全原因,我们不建议您允许从所有 IP 地址 (0.0.0.0/0) 对您的实例进行 SSH 访问(以测试为目的的短暂访问除外)。

安装 AWS CLI

要将 AWS CLI 与 AWS Batch 结合使用,请安装最新的 AWS CLI 版本。有关安装 AWS CLI 或将其升级到最新版本的信息,请参阅安装 AWS 命令行接口中的AWS 命令行界面用户指南