

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# ライフサイクルスクリプトの準備とアップロード
<a name="sagemaker-hyperpod-multihead-slurm-scripts"></a>

必要なすべてのリソースを作成したら、SageMaker HyperPod クラスター用の[ライフサイクルスクリプト](https://github.com/aws-samples/awsome-distributed-training/tree/main/1.architectures/5.sagemaker-hyperpod/LifecycleScripts)を設定する必要があります。これらの[ライフサイクルスクリプト](https://github.com/aws-samples/awsome-distributed-training/tree/main/1.architectures/5.sagemaker-hyperpod/LifecycleScripts)は、基本的な HyperPod Slurm クラスターの作成に使用できる[基本設定](https://github.com/aws-samples/awsome-distributed-training/tree/main/1.architectures/5.sagemaker-hyperpod/LifecycleScripts/base-config)を提供します。

## ライフサイクルスクリプトを準備する
<a name="sagemaker-hyperpod-multihead-slurm-prepare-scripts"></a>

ライフサイクルスクリプトを入手するには、次の手順を実行します。

1. GitHub リポジトリからマシンに[ライフサイクルスクリプト](https://github.com/aws-samples/awsome-distributed-training/tree/main/1.architectures/5.sagemaker-hyperpod/LifecycleScripts)をダウンロードします。

1. [cp](https://docs.aws.amazon.com//cli/latest/reference/s3/cp.html) CLI コマンドを使用して、[リソースをプロビジョンする](sagemaker-hyperpod-multihead-slurm-cfn.md#sagemaker-hyperpod-multihead-slurm-cfn-basic) で作成した Amazon S3 バケットに[ライフサイクルスクリプト](https://github.com/aws-samples/awsome-distributed-training/tree/main/1.architectures/5.sagemaker-hyperpod/LifecycleScripts)をアップロードします。

   ```
   aws s3 cp --recursive LifeCycleScripts/base-config s3://${ROOT_BUCKET_NAME}/LifeCycleScripts/base-config
   ```

## 設定ファイルを作成する
<a name="sagemaker-hyperpod-multihead-slurm-update-config-file"></a>

以下の手順に従って設定ファイルを作成し、ライフサイクルスクリプトを保存するのと同じ Amazon S3 バケットにアップロードします。

1. 以下の設定を使用して、`provisioning_parameters.json` と言う名前の設定ファイルを追加します。なお、`slurm_sns_arn` はオプションです。指定しない場合、HyperPod は Amazon SNS 通知をセットアップしません。

   ```
   cat <<EOF > /tmp/provisioning_parameters.json
   {
     "version": "1.0.0",
     "workload_manager": "slurm",
     "controller_group": "$CONTOLLER_IG_NAME",
     "login_group": "my-login-group",
     "worker_groups": [
       {
         "instance_group_name": "$COMPUTE_IG_NAME",
         "partition_name": "dev"
       }
     ],
     "fsx_dns_name": "$SLURM_FSX_DNS_NAME",
     "fsx_mountname": "$SLURM_FSX_MOUNT_NAME",
     "slurm_configurations": {
       "slurm_database_secret_arn": "$SLURM_DB_SECRET_ARN",
       "slurm_database_endpoint": "$SLURM_DB_ENDPOINT_ADDRESS",
       "slurm_shared_directory": "/fsx",
       "slurm_database_user": "$DB_USER_NAME",
       "slurm_sns_arn": "$SLURM_SNS_FAILOVER_TOPIC_ARN"
     }
   }
   EOF
   ```

1. ライフサイクルスクリプトを保存するのと同じ Amazon S3 バケットに `provisioning_parameters.json` ファイルをアップロードします。

   ```
   aws s3 cp /tmp/provisioning_parameters.json s3://${ROOT_BUCKET_NAME}/LifeCycleScripts/base-config/provisioning_parameters.json
   ```
**注記**  
API 駆動型設定を使用している場合、 `provisioning_parameters.json`ファイルは必須ではありません。API 駆動型設定では、CreateCluster API ペイロードで Slurm ノードタイプ、パーティション、FSx マウントを直接定義します。詳細については、[「 を使用した SageMaker HyperPod の開始方法 AWS CLI](smcluster-getting-started-slurm-cli.md)」を参照してください。

## Amazon S3 バケット内のファイルを検証する
<a name="sagemaker-hyperpod-multihead-slurm-verify-s3"></a>

すべてのライフサイクルスクリプトと `provisioning_parameters.json` ファイルをアップロードすると、Amazon S3 バケットは次のようになります。

![\[Amazon Simple Storage Service コンソールで Amazon S3 バケットにアップロードされたすべてのライフサイクルスクリプトを示す画像\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/hyperpod/hyperpod-lifecycle-scripts-s3.png)


詳細については、「[HyperPod が提供する基本ライフサイクルスクリプトを使用して開始する](https://docs.aws.amazon.com//sagemaker/latest/dg/sagemaker-hyperpod-lifecycle-best-practices-slurm-slurm-base-config.html)」を参照してください。