Amazon ParallelCluster AMI 自定义 - Amazon ParallelCluster
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

Amazon ParallelCluster AMI 自定义

在某些情况下,需要为 Amazon ParallelCluster 构建自定义 AMI。本节介绍构建自定义 Amazon ParallelCluster AMI 时应考虑的事项。

您可以使用以下方法之一构建自定义 Amazon ParallelCluster AMI:

  1. 创建构建映像配置文件,然后通过 EC2 Image Builder 使用 pcluster CLI 构建映像。此过程自动运行,可重复,并且支持监控。有关更多信息,请参阅 pcluster 映像命令。

  2. 从 Amazon ParallelCluster AMI 创建实例,然后登录该实例并进行手动修改。最后,使用 Amazon EC2 根据修改后的实例创建新 AMI。此过程需要更少的时间。但过程不自动运行,也不可重复,而且不支持使用 pcluster CLI 映像监控命令。

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

Amazon ParallelCluster AMI 自定义注意事项

无论您如何创建自定义映像,我们都建议您执行初步验证测试,并包含相应的预置以监控所创建映像的状态。

要使用 pcluster 构建自定义 AMI,您需要创建一个包含 BuildImage 部分的构建映像配置文件EC2 Image Builder 将使用该文件来构建您的自定义映像。Build 部分指定 Image Builder 在构建映像时需要的项目。这包括 ParentImage(基础映像)和 ComponentsImage Builder 组件定义一系列步骤,在创建映像之前自定义实例时或在测试由创建的映像启动的实例时,必须执行这些步骤。有关 Amazon ParallelCluster 组件示例,请参阅自定义 AMIImage 部分指定映像属性。

从 pcluster 调用build-image以创建自定义映像时,Image Builder 会使用带有 Amazon ParallelCluster 食谱的构建映像配置来引导您 Amazon ParallelCluster 。ParentImageImage Builder 将会下载组件、运行构建和验证阶段、创建 AMI、从 AMI 中启动实例并运行测试。该过程完成后,Image Builder 将生成新映像或停止消息。

执行自定义组件验证测试

在将 Image Builder 组件包含在配置中之前,请使用以下方法之一对其进行测试和验证。由于 Image Builder 进程可能需要长达 1 小时的时间,因此我们建议您事先测试这些组件。这可为您节省大量时间。

脚本案例

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

Amazon 资源名称 (ARN) 案例

在构建映像过程之外,在正在运行的实例中测试组件文档。有关要求列表,请参阅 Image Builder User Guide 中的 Component manager

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

确认自定义组件正常工作后,将其添加到构建映像配置文件中。

使用 pcluster 命令监控 Image Builder 进程以帮助进行调试

describe-image

使用此命令可监控构建映像状态。

list-image-log-streams

使用此命令可获取日志流的 ID,用于通过 get-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

使用此命令可检索 Image Builder 创建的堆栈的映像堆栈事件。

export-image-logs

使用此命令可保存映像日志。

有关 Amazon ParallelCluster 日志和 Amazon 的更多信息 CloudWatch,请参阅Amazon CloudWatch Logs 构建映像日志Amazon CloudWatch 控制面板

其他考虑因素

新 Amazon ParallelCluster 版本和自定义 AMI

如果构建并使用自定义 AMI,则必须重复执行用于随每个新的 Amazon ParallelCluster 版本创建自定义 AMI 的步骤。

自定义引导操作

请查看该自定义引导操作部分,以确定您要进行的修改是否可以编写脚本并支持未来的 Amazon ParallelCluster 版本。

使用自定义 AMI

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

要排查自定义 AMI 验证警告,请参阅排查自定义 AMI 问题