本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
在 AWS 并行计算服务中创建集群
本主题概述了可用选项,并介绍了在并 AWS 行计算服务 (AWS PCS) 中创建集群时应考虑的事项。如果这是您第一次创建 AWS PCS 集群,我们建议您遵循此操作开始使用并 AWS 行计算服务。本教程可以帮助您创建可运行的 HPC 系统,而无需扩展到所有可能的可用选项和系统架构。
先决条件
-
符合AWS PCS 联网要求的现有 VPC 和子网。在部署集群用于生产用途前,我们建议您彻底了解 VPC 和子网要求。要创建 VPC 和子网,请参阅为您的 PC AWS S 集群创建 VPC。
-
有权创建和管理 AWS PCS 资源的 IAM 委托人。有关更多信息,请参阅 并 AWS 行计算服务的 Identity and Access 管理。
创建 AWS PCS 集群
您可以使用 AWS Management Console 或 AWS CLI 来创建集群。
- AWS Management Console
-
创建集群
-
在 https://console.aws.amazon.com/pcs/home#/clusters 上打开 AWS PCS 控制台,然后选择创建集群
。 -
在集群设置部分中,输入以下字段:
-
集群名称-您的集群的名称。名称只能包含字母数字字符(区分大小写)和连字符。它必须以字母字符开头,长度不能超过 40 个字符。该名称在创建集群时 AWS 区域 AWS 账户 使用的名称必须是唯一的。
-
调度程序-选择调度程序和版本。 AWS PCS 目前支持 Slurm 24.05 和 23.11。有关更多信息,请参阅 PCS 中的 Slurm 版本 AWS。
-
控制器大小-选择控制器的大小。这决定了 AWS PCS 集群可以管理多少并发任务和计算节点。您只能在创建集群时设置控制器的大小。有关尺码的更多信息,请参阅AWS PCS 中的集群大小。
-
-
在 “网络” 部分中,为以下字段选择值:
-
VPC — 选择一个满足 AWS PCS 要求的现有 VPC。有关更多信息,请参阅 AWS PCS VPC 和子网要求和注意事项。创建集群后,您无法更改其 VPC。如果未 VPCs 列出,则必须先创建一个。
-
子网-列出了所选 VPC 中的所有可用子网。选择符合 AWS PCS 子网要求的子网。有关更多信息,请参阅 AWS PCS VPC 和子网要求和注意事项。我们建议您选择私有子网,以避免将您的调度程序端点暴露给公共 Internet。
-
安全组-指定您希望 AWS PCS 与其为集群创建的网络接口关联的安全组。您必须至少选择一个允许集群与其计算节点之间通信的安全组。有关更多信息,请参阅 安全组要求和注意事项。
-
-
(可选)在 “加密” 下,您可以通过设置以下字段来定义用于加密控制器数据的自定义密钥:
-
KMS 密钥 ID — 保留
aws/pcs
使用由 PCS 创建的 KMS 密钥。选择现有 KMS 密钥别名以使用自定义 KMS 密钥。请注意,用于创建集群的账户必须具有自定义 KMS 密钥的kms:Decrypt
权限。
-
-
(可选)在 Slurm 配置部分,您可以指定 Slurm 配置选项来覆盖 PCS 设置的默认值: AWS
-
缩小空闲时间 — 这控制动态配置的计算节点在放置在计算节点上的任务完成或终止后保持活动状态的时间。将其设置为较长的值可以使后续作业更有可能在节点上运行,但可能会导致成本增加。较小的值可以降低成本,但可能会增加 HPC 系统在配置节点上而不是在节点上运行作业所花费的时间比例。
-
Prolog — 这是指向计算节点组实例上 prolog 脚本目录的完全限定路径。这与 Slurm 中的 Prolog 设置
相对应。请注意,这必须是目录,而不是特定可执行文件的路径。 -
Epilog — 这是指向计算节点组实例上的 epilog 脚本目录的完全限定路径。这与 Slurm 中的 Epilog 设置
相对应。请注意,这必须是目录,而不是特定可执行文件的路径。 -
选择类型参数-这有助于控制 Slurm 使用的资源选择算法。将此值设置为
CR_CPU_Memory
将激活内存感知调度,而将其设置为CR_CPU
将激活仅限 CPU 的调度。此参数对应于 Slurm 中的SelectTypeParameters设置,其中 SelectType
PCS 设置select/cons_tres
为 AWS 。
-
-
(可选)在 “标签” 下,将所有标签添加到您的 AWS PCS 集群。
-
选择创建集群。 AWS PCS 创建集群
Creating
时会显示 “状态” 字段。此过程可能耗时数分钟。
重要
AWS 区域 每个集群只能有 1 个处于同一个
Creating
状态的集群 AWS 账户。 AWS 如果您在尝试创建集群时已有处于Creating
状态的集群,PCS 会返回错误。 -
- AWS CLI
-
创建集群
-
使用以下命令创建集群。在运行命令之前,进行以下替换:
-
region
替换为您要 AWS 区域 在其中创建集群的 ID,例如us-east-1
。 -
将
my-cluster
替换为您的集群名称。名称只能包含字母数字字符(区分大小写)和连字符。它必须以字母字符开头,长度不能超过 40 个字符。该名称在创建集群的 AWS 账户 位置 AWS 区域 和创建集群的地方必须是唯一的。 -
24.05
替换为任何支持的 Slurm 版本。注意
AWS PCS 目前支持 Slurm 24.05 和 23.11。
-
SMALL
替换为任何支持的群集大小。这决定了 AWS PCS 集群可以管理多少并发任务和计算节点。它只能在创建集群时进行设置。有关尺码的更多信息,请参阅AWS PCS 中的集群大小。 -
的值替换为您自己的值。
subnetIds
我们建议您选择私有子网,以避免将您的调度程序端点暴露给公共 Internet。 -
指定您希望 AWS PCS 与它为集群创建的网络接口关联的。
securityGroupIds
安全组必须与集群位于同一 VPC 中。您必须至少选择一个允许集群与其计算节点之间通信的安全组。有关更多信息,请参阅 安全组要求和注意事项。 -
或者,您可以通过添加选项来微调 Slurm 的行为。
--slurm-configration
例如,您可以使用将缩小空闲时间设置为 60 分钟(3600 秒)。--slurm configuration scaleDownIdeTime=3600
-
或者,您可以使用提供自定义 KMS 密钥来加密控制器的数据
--kms-key-id
。kms-key
替换为现有的 KMS ARN、密钥 ID 或别名。请注意,用于创建集群的账户必须具有自定义 KMS 密钥的kms-key
kms:Decrypt
权限。
aws pcs create-cluster --region
region
\ --cluster-namemy-cluster
\ --scheduler type=SLURM,version=24.05
\ --sizeSMALL
\ --networking subnetIds=subnet-ExampleId1
,securityGroupIds=sg-ExampleId1
-
-
配置集群可能需要几分钟。可使用以下命令查询集群的状态。在集群的状态字段变为之前,请勿继续创建队列或计算节点组
ACTIVE
。aws pcs get-cluster --region
region
--cluster-identifiermy-cluster
重要
AWS 区域 每个集群只能有 1 个处于同一个
Creating
状态的集群 AWS 账户。 AWS 如果您在尝试创建集群时已有处于Creating
状态的集群,PCS 会返回错误。 -
为您的集群推荐的后续步骤
-
添加计算节点组。
-
添加队列。
-
启用日志记录。