

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# 수명 주기 스크립트 준비 및 업로드
<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 리포지토리에서 [lifecycle scripts](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/ko_kr/sagemaker/latest/dg/images/hyperpod/hyperpod-lifecycle-scripts-s3.png)


자세한 내용은 [Start with base lifecycle scripts provided by HyperPod](https://docs.aws.amazon.com//sagemaker/latest/dg/sagemaker-hyperpod-lifecycle-best-practices-slurm-slurm-base-config.html)를 참조하세요.