AWS ParallelClusterAMI 自定义 - AWS ParallelCluster

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

AWS ParallelClusterAMI 自定义

在某些情况下,需要为其构建自定义 AMIAWS ParallelCluster是必要的。本节介绍构建自定义时应考虑的事项AWS ParallelClusterAMI。

你可以自定义AWS ParallelClusterAMI 使用以下方法之一:

  1. 创建一个生成镜像配置文件,然后使用pcluster使用 EC2 映像生成器构建映像的 CLI。此过程是自动化的、可重复的,并且支持监控。有关更多信息,请参阅pcluster图像命令。

  2. 从中创建实例AWS ParallelClusterAMI,然后登录并进行手动修改。最后,使用 Amazon EC2 从修改后的实例创建新的 AMI。此过程花费的时间更少。但是,它不是自动化的,也不是可重复的,也不支持使用pclusterCLI 图像监控命令。

有关这些方法的更多信息,请参见构建自定义 AWS ParallelCluster AMI

AWS ParallelClusterAMI 自定义注意事项

无论您如何创建自定义映像,我们都建议您执行初步的验证测试,并包括用于监控正在创建的映像状态的配置。

要使用构建自定义 AMIpcluster,你创建了一个生成镜像配置文件用一个BuildImage那一节EC2 映像生成器用于构建您的自定义镜像。的Build部分指定了生成镜像所需的图像生成器。这包括ParentImage(基础图片),以及Components。一个图像生成器组件定义了在创建映像之前自定义实例或测试由创建的映像启动的实例所需的一系列步骤。对于AWS ParallelCluster组件示例,请参阅自定义 AMI。的Image部分指定了图像的属性。

从 pcluster 调用时build-image要创建自定义映像,Image Builder 使用构建映像配置和AWS ParallelClusterbootstrap 的食谱AWS ParallelCluster在你的ParentImage。Image Builder 下载组件、运行构建和验证阶段、创建 AMI、从 AMI 启动实例并运行测试。该过程完成后,Image Builder 会生成新图像或停止消息。

执行自定义组件验证测试

在将映像生成器组件包含在配置中之前,请使用以下方法之一对其进行测试和验证。由于映像生成器过程最多可能需要 1 个小时,因此我们建议您事先测试组件。这可以为您节省大量时间。

脚本案例

在构建映像进程之外的正在运行的实例中测试脚本,并验证脚本是否以退出代码 0 退出。

亚马逊资源名称 (ARN) 案例

在构建映像过程之外的正在运行的实例中测试组件文档。有关要求列表,请参阅组件管理器图像生成器用户指南

成功验证后,将该组件添加到您的构建映像配置中

在您确认自定义组件正在运行后,将其添加到生成镜像配置文件

使用监控映像生成器进程pcluster用于帮助调试的命令

describe-image

使用此命令监视构建映像的状态。

list-image-log-streams

使用此命令获取可用于检索日志事件的日志流的 IDget-image-log-events

get-image-log-events

使用此命令获取构建映像进程事件的日志流。

例如,您可以使用以下命令跟踪构建映像事件。

$ watch -n 1 'pcluster get-image-log-events -i <image-id> \ --log-stream-name/1 <pcluster-version> \ --query "events[*].message" | tail -n 50'

get-image-stack-events

使用此命令检索映像生成器创建的堆栈的图像堆栈事件。

export-image-logs

使用此命令保存图像日志。

有关以下内容的更多信息AWS ParallelCluster日志和亚马逊 CloudWatch,请参阅亚马逊CloudWatch日志构建映像日志亚马逊CloudWatch控制面板

其他考虑因素

全新AWS ParallelCluster版本和自定义 AMI

如果您构建并使用自定义 AMI,则必须对每个新的 AMI 重复创建自定义 AMI 时所用的步骤AWS ParallelCluster释放。

自定义引导操作

查看自定义引导操作部分,以确定将来是否可以编写脚本并支持您要进行的修改AWS ParallelCluster发布。

使用自定义 AMI

您可以在集群配置中指定自定义 AMIImage/CustomAmiScheduling/SlurmQueues/-Name/Image/CustomAmi部分。

要对自定义 AMI 验证警告进行故障排除,请参阅自定义 AMI 问题疑难解答