创建计算环境 - AWS Batch

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

创建计算环境

您需要先创建一个计算环境 AWS Batch,然后才能在中运行作业。您可以创建托管计算环境,在其中根据您的规格 AWS Batch 管理环境中的 Amazon EC2 实例或 AWS Fargate 资源。或者,您可以创建一个非托管计算环境,在其中处理环境中的 Amazon EC2 实例配置。

重要

在以下情况下,不支持 Fargate 竞价型实例:

  • 在采用 ARM64 架构的 Amazon Linux 容器上。

  • Windows containers on AWS Fargate

在这些情况下,如果将作业提交到仅使用 Fargate Spot 计算环境的作业队列,则作业队列将被阻止。

使用 AWS Fargate 资源创建托管计算环境

  1. 打开 AWS Batch 控制台,网址为 https://console.aws.amazon.com/batch/

  2. 在导航栏中,选择 AWS 区域 要使用的。

  3. 在导航窗格中,选择计算环境

  4. 选择 创建

  5. 配置计算环境。

    注意

    Windows containers on AWS Fargate 作业的计算环境必须至少有一个 vCPU。

    1. 对于计算环境配置,请选择 Fargate

    2. 对于名称,为计算环境指定唯一名称。名称最长可以包含 128 个字符。可以包含大小写字母、数字、连字符(-)和下划线(_)。

    3. 对于服务角色,请选择服务相关角色,该角色允许 AWS Batch 服务代表您调用所需 AWS 的 API 操作。例如,选择 AWSServiceRoleForBatch。有关更多信息,请参阅 的服务相关角色权限 AWS Batch

    4. (可选)展开标签。要添加标签,请选择 Add tag(添加标签)。然后,输入一个和可选的。选择 Add tag(添加标签)

    5. 选择下一页

  6. 实例配置部分:

    1. (可选)要使用 Fargate Spot 容量,请打开 Fargate Spot。有关 Fargate Spot 的信息,请参阅使用 Amazon EC2 Spot and Fargate_SPOT

    2. 对于 Maximum vCPUs,选择您的计算环境可以横向扩展到的 vCPU 的最大数目,而无论作业队列需求如何。

    3. 选择下一页

  7. 配置网络。

    重要

    计算资源需要访问才能与 Amazon ECS 服务端点通信。这可以通过接口 VPC 端点或具有公共 IP 地址的计算资源实现。

    有关接口 VPC 端点的更多信息,请参阅 Amazon Elastic Container Service 开发人员指南中的 Amazon ECS 接口 VPC 端点(AWS PrivateLink)

    如果没有配置接口 VPC 端点,并且计算资源没有公共 IP 地址,则必须使用网络地址转换 (NAT) 来提供这种访问。有关更多信息,请参阅《Amazon VPC 用户指南》中的。有关更多信息,请参阅 创建 VPC

    1. 对于虚拟私有云(VPC)ID,请选择要在其中启动实例的 VPC。

    2. 对于子网,选择要使用的子网。默认情况下,选定的 VPC 中的所有子网都可用。

      注意

      AWS Batch 在 Fargate 上目前不支持 Local Zones。有关更多信息,请参阅 Amazon Elastic Container Service 开发人员指南Local Zones、Wavelength Zones 和 AWS Outposts中的 Amazon ECS 集群

    3. 对于 Security groups,选择要附加到实例的安全组。默认情况下,将选择您的 VPC 的默认安全组。

    4. 选择下一页

  8. 对于查看,请查看配置步骤。如果需要进行更改,请选择 Edit(编辑)。完成后,选择创建计算环境

若要使用 EC2 资源创建托管计算环境

  1. 打开 AWS Batch 控制台,网址为 https://console.aws.amazon.com/batch/

  2. 在导航栏中,选择 AWS 区域 要使用的。

  3. 在导航窗格中,选择计算环境

  4. 选择 创建

  5. 配置环境。

    1. 计算环境的配置中,选择 Amazon Elastic Compute Cloud (Amazon EC2)

    2. 对于编排类型,请选择托管

    3. 对于名称,为计算环境指定唯一名称。名称最长可以包含 128 个字符。可以包含大小写字母、数字、连字符(-)和下划线(_)。

    4. (可选)对于服务角色,请选择服务相关角色,该角色允许 AWS Batch 服务代表您调用所需 AWS 的 API 操作。例如,选择 AWSServiceRoleForBatch。有关更多信息,请参阅 的服务相关角色权限 AWS Batch

    5. 对于 Instance role (实例角色),请选择创建新的实例配置文件或使用附加了所需 IAM 权限的现有实例配置文件。此实例配置文件允许为您的计算环境创建的 Amazon ECS 容器实例代表您调用所需 AWS 的 API 操作。有关更多信息,请参阅 Amazon ECS 实例角色。如果您选择创建新实例配置文件,则将为您创建所需的角色 (ecsInstanceRole)。

    6. (可选)展开标签

    7. (可选)对于 EC2 标签,选择添加标签以向在计算环境中启动的资源添加标签。然后,输入一个和可选的。选择 Add tag(添加标签)

    8. (可选)在标签中,选择添加标签。然后,输入一个和可选的。选择 Add tag(添加标签)

      有关更多信息,请参阅 对AWS Batch资源加标签

    9. 选择下一页

  6. 实例配置部分:

    1. (可选)对于使用竞价型实例启用,请开启 Spot。有关更多信息,请参阅竞价型实例

    2. (仅限竞价型)对于按需价格最大百分比,请选择在启动实例之前与该实例类型的按需价格进行比较时竞价型实例价格可达到的最大百分比。例如,如果最高价为 20%,则竞价型价格必须低于该 EC2 实例的当前按需价格的 20%。您始终支付最低 (市场) 价格,并且绝不会高于您的最大百分比。如果将此字段留空,则默认值为按需价格的 100%。

    3. (仅限 Spot)对于竞价型实例集角色,选择一个现有的 Amazon EC2 竞价型实例集 IAM 角色以应用于您的 Spot 计算环境。如果您没有现有的 Amazon EC2 竞价型实例集 IAM 角色,则必须先创建一个。有关更多信息,请参阅 Amazon EC2 竞价型实例集角色

      重要

      要在创建时标记您的竞价型实例,您的 Amazon EC2 竞价型队列 IAM 角色必须使用更新的 A mazonEC2 SpotFleetTaggingRole 托管策略。A mazonEC2 SpotFleetRole 托管策略没有标记竞价型实例所需的权限。有关更多信息,请参阅 创建时未标记的竞价型实例对资源加标签

    4. 对于 Minimum vCPUs,选择您的计算环境应保留的 vCPU 的最小数目,而无论作业队列需求如何。

    5. 对于 Desired vCPUs,请选择您的计算环境在启动时应使用的 vCPU 数量。当作业队列需求增大时, AWS Batch 会增加计算环境中所需的 vCPU 数量并添加 EC2 实例 (最高可达最大 vCPU 数)。当需求减少时, AWS Batch 会减少计算环境中所需的 vCPU 数量并删除实例 (减少至最小 vCPU 数)。

    6. 对于 Maximum vCPUs,选择您的计算环境可以横向扩展到的 vCPU 的最大数目,而无论作业队列需求如何。

    7. 对于允许的实例类型,选择可启动的 Amazon EC2 实例类型。您可以指定实例系列以在这些系列中启动任何实例类型(例如,c5c5np3),或者,您可以指定系列中的特定大小(例如 c5.8xlarge)。Metal 实例类型不在实例系列中。例如,c5 不包括 c5.metal。还可以通过选择 optimal 来选择符合作业队列需求的实例类型(从 C4、M4 和 R4 实例系列中)。

      注意

      在创建一个计算环境时,为该计算环境选择的实例类型必须共享同一架构。例如,您不能在同一个计算环境中混用 x86 和 ARM 实例。

      注意

      AWS Batch 将根据任务队列中所需的数量扩展 GPU。要使用 GPU 计划,计算环境必须包含 p2, p3, p4, p5, g3, g3s, g4g5 系列的实例类型。

      注意

      目前,optimal 使用 C4、M4 和 R4 实例系列中的实例类型。如果没有 AWS 区域 这些实例系列的实例类型,则使用C5M5、和R5实例系列中的实例类型。

    8. 展开其他配置

    9. (可选)对于置放群组,输入置放群组名称以对计算环境中的资源进行分组。

    10. (可选)对于 EC2 密钥对,请在连接到实例时选择公钥和私有密钥对作为安全凭证。有关 Amazon EC2 密钥对的更多信息,请参阅 Amazon EC2 密钥对和 Linux 实例

    11. 对于分配策略,选择在从允许的实例类型列表中选择实例类型时要使用的分配策略。对于 EC2 按需计算环境,BEST_FIT_PROGRESSIVE 通常是更好的选择,而对于 EC2 Spot 计算环境,SPOT_CAPACITY_OPTIMIZEDSPOT_PRICE_CAPACITY_OPTIMIZED 则是更好的选择。有关更多信息,请参阅 分配策略

    12. (可选)对于 EC2 配置,请选择映像类型和映像 ID 覆盖值以提供信息, AWS Batch 以便为计算环境中的实例选择 Amazon 系统映像 (AMI)。如果未为每种图像类型指定镜像 ID 替换,则 AWS Batch 选择最近经过亚马逊ECS优化的 AMI。如果未指定图像类型,则对于非 GPU、非 G AWS raviton 实例,默认为 Amazon Linux 2

      重要

      要使用自定义 AMI,请选择映像类型,然后在映像 ID 覆盖框中输入自定义 AMI ID。

      Amazon Linux 2

      所有 AWS 基于 Graviton 的实例系列(例如、C6gM6g、和T4g)均为默认值R6g,并且可用于所有非 GPU 实例类型。

      Amazon Linux 2(GPU)

      所有 GPU 实例系列的默认值(例如P4G4),并且可用于所有非 AWS 基于 Graviton 的实例类型。

      Amazon Linux

      可用于非 GPU、非 G AWS raviton 实例系列。对 Amazon Linux AMI 的标准支持已结束。有关更多信息,请参阅 Amazon Linux AMI

      注意

      您为计算环境选择的 AMI 必须与您希望用于该计算环境的实例类型的架构匹配。例如,如果您的计算环境使用 A1 实例类型,则您选择的计算资源 AMI 必须支持 Arm 实例。Amazon ECS 同时提供经过 Amazon ECS 优化的 Amazon Linux 2 AMI 的 x86 和 Arm 版本。有关更多信息,请参阅《Amazon Elastic Container Service 开发人员指南》中的经过 Amazon ECS 优化的 Amazon Linux 2 AMI

    13. (可选)对于启动模板,选择现有的 Amazon EC2 启动模板来配置您的计算资源。模板的默认版本会自动填充。有关更多信息,请参阅 启动模板支持

      注意

      在启动模板中,您可以指定自己创建的自定义 AMI。

    14. (可选)对于 Launch template version (启动模板版本),输入 $Default$Latest 或要使用的特定版本号。

      重要

      如果启动模板的版本参数为 $Default$Latest,则会在基础设施更新期间评估指定启动模板的默认版本或最新版本。如果默认选择了不同的 AMI ID 或选择了最新版本的启动模板,则将在更新中使用该 AMI ID。有关更多信息,请参阅 更新 AMI ID

    15. 选择下一页

  7. 网络配置部分:

    重要

    计算资源需要访问才能与 Amazon ECS 服务端点通信。这可以通过接口 VPC 端点或具有公共 IP 地址的计算资源实现。

    有关接口 VPC 端点的更多信息,请参阅 Amazon Elastic Container Service 开发人员指南中的 Amazon ECS 接口 VPC 端点(AWS PrivateLink)

    如果没有配置接口 VPC 端点,并且计算资源没有公共 IP 地址,则必须使用网络地址转换 (NAT) 来提供这种访问。有关更多信息,请参阅《Amazon VPC 用户指南》中的。有关更多信息,请参阅 创建 VPC

    1. 对于虚拟私有云(VPC)ID,请选择要在其中启动实例的 VPC。

    2. 对于子网,选择要使用的子网。默认情况下,选定的 VPC 中的所有子网都可用。

      注意

      AWS Batch 在 Amazon EC2 上支持 Local Zones。有关更多信息,请参阅适用于 Linux 实例的 Amazon EC2 用户指南中的 Local ZonesAmazon Elastic Container Service 开发人员指南中的 Local Zones、Wavelength Zones 和 AWS Outposts中的 Amazon ECS 集群

    3. (可选)对于安全组,选择要附加到实例的安全组。默认情况下,将选择您的 VPC 的默认安全组。

  8. 选择下一页

  9. 对于查看,请查看配置步骤。如果需要进行更改,请选择 Edit(编辑)。完成后,选择创建计算环境

若要使用 EC2 资源创建非托管的计算环境

  1. 打开 AWS Batch 控制台,网址为 https://console.aws.amazon.com/batch/

  2. 在导航栏中,选择 AWS 区域 要使用的。

  3. 计算环境页面中,选择创建

  4. 配置环境。

    1. 计算环境的配置中,选择 Amazon Elastic Compute Cloud (Amazon EC2)

    2. 对于编排类型,请选择非托管

  5. 对于名称,为计算环境指定唯一名称。名称长度不超过 128 个字符。可以包含大小写字母、数字、连字符(-)和下划线(_)。

  6. (可选)对于服务角色,选择一个允许 AWS Batch 服务代表您调用所需的 AWS API 操作的角色。例如,选择 AWSBatchServiceRole。有关更多信息,请参阅将服务相关角色用于 AWS Batch

  7. 对于 Maximum vCPUs,选择您的计算环境可以横向扩展到的 vCPU 的最大数目,而无论作业队列需求如何。

  8. (可选)展开标签。要添加标签,请选择 Add tag(添加标签)。然后,输入一个和可选的。选择 Add tag(添加标签)。有关更多信息,请参阅 对AWS Batch资源加标签

  9. 选择下一页

  10. 对于查看,请查看配置步骤。如果需要进行更改,请选择 Edit(编辑)。完成后,选择创建计算环境

使用 Amazon EKS 资源创建托管计算环境

  1. 打开 AWS Batch 控制台,网址为 https://console.aws.amazon.com/batch/

  2. 在导航栏中,选择 AWS 区域 要使用的。

  3. 在导航窗格中,选择计算环境

  4. 选择 创建

  5. 对于计算环境的配置,选择 Amazon Elastic Kubernetes Service (Amazon EKS)

  6. 对于名称,为计算环境指定唯一名称。名称长度不超过 128 个字符。可以包含大小写字母、数字、连字符(-)和下划线(_)。

  7. 对于 实例角色,请选择使用附加了所需 IAM 权限的现有实例配置文件。

    注意

    要在 AWS Batch 控制台中创建计算环境,请选择具有eks:ListClusterseks:DescribeCluster权限的实例配置文件。

  8. 对于 EKS 集群,选择现有的 Amazon EKS 集群。

  9. 命名空间中,输入 Kubernetes 命名空间以对集群中的 AWS Batch 进程进行分组。

  10. (可选)展开标签。选择添加标签,然后输入键值对。

  11. 选择下一页

  12. (可选)对于使用 EC2 竞价型实例,请开启使用竞价型实例启用以使用 Amazon EC2 竞价型实例。

  13. (仅限竞价型)对于按需价格最大百分比,请选择在启动实例之前与该实例类型的按需价格进行比较时竞价型实例价格可达到的最大百分比。例如,如果最高价为 20%,则竞价型价格必须低于该 EC2 实例的当前按需价格的 20%。您始终支付最低 (市场) 价格,并且绝不会高于您的最大百分比。如果将此字段留空,则默认值为按需价格的 100%。

  14. (仅限竞价型)对于竞价型实例集角色,请为 SPOT 计算环境选择 Amazon EC2 竞价型实例集 IAM 角色。

    重要

    如果将分配策略设置为 BEST_FIT 或者未指定时,需要使用该角色。

  15. (可选)对于最小 vCPU 数,选择您的计算环境应保留的 vCPU 的最小数目,而无论作业队列需求如何。

  16. (可选)对于最大 vCPU 数,选择您的计算环境可以横向扩展到的 vCPU 的最大数目,而无论作业队列需求如何。

  17. 对于允许的实例类型,选择可启动的 Amazon EC2 实例类型。您可以指定实例系列以在这些系列中启动任何实例类型(例如,c5c5np3),或者,您可以指定系列中的特定大小(例如 c5.8xlarge)。Metal 实例类型不在实例系列中。例如,c5 不包括 c5.metal。还可以通过选择 optimal 来选择符合作业队列需求的实例类型(从 C4、M4 和 R4 实例系列中进行选择)。

    注意

    在创建一个计算环境时,为该计算环境选择的实例类型必须共享同一架构。例如,您不能在同一个计算环境中混用 x86 和 ARM 实例。

    注意

    AWS Batch 根据任务队列中所需的数量扩展 GPU。要使用 GPU 计划,计算环境必须包含 p2, p3, p4, p5, g3, g3s, g4g5 系列的实例类型。

    注意

    目前,optimal 使用 C4、M4 和 R4 实例系列中的实例类型。如果没有 AWS 区域 这些实例系列的实例类型,则使用C5M5、和R5实例系列中的实例类型。

  18. (可选)展开其他配置

    1. (可选)对于置放群组,输入置放群组名称以对计算环境中的资源进行分组。

    2. 对于分配策略,选择 BEST_FIT_PROGRESSIVE

    3. (可选)对于亚马逊机器映像(AMI)配置,请选择添加亚马逊机器映像(AMI)配置。然后,选择映像类型,输入映像 ID 覆盖 Kubernetes 版本

      重要

      要使用自定义 AMI,请选择映像类型,然后在映像 ID 覆盖框中输入自定义 AMI ID。

      注意

      如果未为每种图像类型指定镜像 ID 替换,则 AWS Batch 选择最近经过亚马逊ECS优化的 AMI。如果未指定图像类型,则对于非 GPU、非 G AWS raviton 实例,默认为 Amazon Linux 2

      Amazon Linux 2

      所有 AWS 基于 Graviton 的实例系列(例如、C6gM6g、和T4g)均为默认值R6g,并且可用于所有非 GPU 实例类型。

      Amazon Linux 2(GPU)

      所有 GPU 实例系列(例如P4G4)均为默认值,可用于所有非 AWS 基于 Graviton 的实例类型。

    4. (可选)对于启动模板,请选择现有启动模板。

    5. (可选)对于启动模板版本,输入 $Default$Latest 或版本号码。

  19. 选择下一页

  20. 对于虚拟私有云(VPC)ID,选择要启动实例的 VPC。

  21. 对于子网,选择要使用的子网。默认情况下,选定的 VPC 中的所有子网都可用。

    注意

    AWS Batch 在亚马逊上,EKS 支持 Local Zones。有关更多信息,请参阅《亚马逊 EKS 用户指南》中的 Amazon EKS 和 L AWS ocal Zones

  22. (可选)对于安全组,选择要附加到实例的安全组。默认情况下,将选择您的 VPC 的默认安全组。

  23. 选择下一页

  24. 对于查看,请查看配置步骤。如果需要进行更改,请选择 Edit(编辑)。完成后,选择创建计算环境