

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

# 中节点生命周期操作的最佳实践 AWS 个
<a name="cng-node-lifecycle-actions-best-practices"></a>

在使用节点生命周期操作时，请遵循这些最佳实践。
+ **测试 crawl-walk-run** 在独立 Amazon EC2 实例上验证脚本，然后在具有单个静态实例（`minInstanceCount`= `maxInstanceCount` = 1）的计算节点组上执行生命周期操作，然后进行动态扩展。
+ **选择正确的`executionPolicy`。**将一次性设置保留为默认设置`FIRST_BOOT_ONLY`；`EVERY_BOOT`仅用于必须在重启后重新应用的配置。
+ **使`EVERY_BOOT`脚本具有等同性。** Re-running 他们应该是安全的。`FIRST_BOOT_ONLY`脚本运行一次，所以他们不需要这个。
+ **采用描述性名称。**名称出现在日志路径和控制台中，例如`Mount EFS home directory`，不是`script1`。
+ **将大量安装程序放入 AMI 中。**该节点有大约 30 分钟的时间加入 Slurm。如果安装时间超过 5 分钟，请将其放入自定义 AMI 或共享文件系统中。
+ **在生产环境中使用校验和**，特别是对于来自共享存储库的脚本。
+ ** CloudWatch**使用节点引导脚本将日志转发到亚马逊，这样您就可以调试终止的实例。由 AWS维护的`configure-cloudwatch-logs.sh`脚本执行此操作。有关更多信息，请参阅 [使用 AWS-维护了中节点生命周期操作的脚本 AWS PCS](cng-node-lifecycle-actions-vetted-scripts.md)。
+ **尽量减少依赖关系**，并避免分叉比脚本寿命更长的后台进程。
+ **不要修改名称以开头的`/etc/amazon/pcs/`或或 `/var/log/amazon/pcs/` systemd 单元**下的 AWS PCS 代理文件。`pcs-`它们管理集群连接。
+ **在生命周期操作脚本期间不要重启实例。**重启会中断 AWS PCS 的引导顺序，从而`slurmd`阻止启动或导致 AWS PCS 终止节点。
+ **将密钥存储在 AWS 密钥管理器或系统管理器参数存储库中。**不要将机密作为脚本参数传递。参数在 API 响应和控制台中可见。
+ **将 S3 与网关 VPC 终端节点一起使用**，用于私有子网中的节点。该端点提供脚本访问权限，无需互联网出口。