

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

# SageMaker HyperPod Slurm 클러스터 작업
<a name="sagemaker-hyperpod-operate-slurm"></a>

이 섹션에서는 SageMaker AI 콘솔 UI 또는 AWS Command Line Interface (CLI)를 통해 SageMaker HyperPod를 관리하는 방법에 대한 지침을 제공합니다. 시각적 인터페이스를 선호하든 명령으로 작업하든 SageMaker HyperPod와 관련된 다양한 작업을 수행하는 방법을 알아봅니다.

**Topics**
+ [SageMaker 콘솔을 사용하여 SageMaker HyperPod Slurm 클러스터 관리](sagemaker-hyperpod-operate-slurm-console-ui.md)
+ [를 사용하여 SageMaker HyperPod Slurm 클러스터 관리 AWS CLI](sagemaker-hyperpod-operate-slurm-cli-command.md)

# SageMaker 콘솔을 사용하여 SageMaker HyperPod Slurm 클러스터 관리
<a name="sagemaker-hyperpod-operate-slurm-console-ui"></a>

다음 주제에서는 콘솔 UI를 통해 SageMaker HyperPod를 관리하는 방법에 대한 지침을 제공합니다.

**Topics**
+ [SageMaker HyperPod 클러스터 생성](#sagemaker-hyperpod-operate-slurm-console-ui-create-cluster)
+ [SageMaker HyperPod 클러스터 찾아보기](#sagemaker-hyperpod-operate-slurm-console-ui-browse-clusters)
+ [각 SageMaker HyperPod 클러스터의 세부 정보 보기](#sagemaker-hyperpod-operate-slurm-console-ui-view-details-of-clusters)
+ [SageMaker HyperPod 클러스터 편집](#sagemaker-hyperpod-operate-slurm-console-ui-edit-clusters)
+ [SageMaker HyperPod 클러스터 삭제](#sagemaker-hyperpod-operate-slurm-console-ui-delete-cluster)

## SageMaker HyperPod 클러스터 생성
<a name="sagemaker-hyperpod-operate-slurm-console-ui-create-cluster"></a>

SageMaker HyperPod 콘솔 UI를 통해 새 SageMaker HyperPod 클러스터를 생성하는 방법에 대해서는 [SageMaker AI 콘솔을 사용하여 SageMaker HyperPod 시작하기](smcluster-getting-started-slurm-console.md)의 지침을 참조하세요.

## SageMaker HyperPod 클러스터 찾아보기
<a name="sagemaker-hyperpod-operate-slurm-console-ui-browse-clusters"></a>

SageMaker HyperPod 콘솔 메인 페이지의 SageMaker HyperPod 콘솔 메인 창에 있는 **클러스터**에서, 생성된 모든 클러스터가 **클러스터** 섹션 아래에 표시되어야 합니다. 클러스터 섹션은 클러스터, 해당 ARN, 상태 및 생성 시간에 대한 요약 뷰를 제공합니다.

## 각 SageMaker HyperPod 클러스터의 세부 정보 보기
<a name="sagemaker-hyperpod-operate-slurm-console-ui-view-details-of-clusters"></a>

콘솔 기본 페이지의 **클러스터**에서 클러스터 **이름**이 링크로 활성화됩니다. 각 클러스터의 세부 정보를 보려면 클러스터 이름 링크를 선택합니다.

## SageMaker HyperPod 클러스터 편집
<a name="sagemaker-hyperpod-operate-slurm-console-ui-edit-clusters"></a>

1. SageMaker HyperPod 콘솔의 메인 창에 있는 **클러스터**에서 업데이트할 클러스터를 선택합니다.

1. 클러스터를 선택하고 **편집**을 선택합니다.

1. **<your-cluster> 편집** 페이지에서 기존 인스턴스 그룹의 구성을 편집하고, 인스턴스 그룹을 더 추가하고, 인스턴스 그룹을 삭제하고, 클러스터의 태그를 변경할 수 있습니다. 변경한 후 **제출**을 선택합니다.

   1. **인스턴스 그룹 구성** 섹션에서 **인스턴스 그룹 생성**을 선택하여 인스턴스 그룹을 더 추가할 수 있습니다.

   1. **인스턴스 그룹 구성** 섹션에서 **편집**을 선택하여 구성을 변경하거나 **삭제**를 선택하여 인스턴스 그룹을 영구적으로 제거할 수 있습니다.
**중요**  
인스턴스 그룹을 삭제할 때는 다음 사항을 고려하세요.  
SageMaker HyperPod 클러스터는 항상 하나 이상의 인스턴스 그룹을 유지해야 합니다.
제거 전에 모든 중요 데이터가 백업되었는지 확인합니다.
제거 프로세스는 실행 취소할 수 없습니다.
**참고**  
인스턴스 그룹을 삭제하면 해당 그룹과 연결된 모든 컴퓨팅 리소스가 종료됩니다.

   1. **태그** 섹션에서 클러스터의 태그를 업데이트할 수 있습니다.

## SageMaker HyperPod 클러스터 삭제
<a name="sagemaker-hyperpod-operate-slurm-console-ui-delete-cluster"></a>

1. SageMaker HyperPod 콘솔의 메인 창에 있는 **클러스터**에서 삭제할 클러스터를 선택합니다.

1. 클러스터를 선택하고 **삭제**를 선택합니다.

1. 클러스터 삭제를 위한 팝업 창에서 클러스터 정보를 주의 깊게 검토하여 삭제할 올바른 클러스터를 선택했는지 확인합니다.

1. 클러스터 정보를 검토한 후 **예, 클러스터 삭제**를 선택합니다.

1. 이 삭제를 확인하려면 텍스트 필드에 **delete**를 입력합니다.

1. 팝업 창의 오른쪽 하단 모서리에서 **삭제**를 선택하여 클러스터 삭제 요청 전송을 완료합니다.

# 를 사용하여 SageMaker HyperPod Slurm 클러스터 관리 AWS CLI
<a name="sagemaker-hyperpod-operate-slurm-cli-command"></a>

다음 주제에서는 JSON 형식으로 SageMaker HyperPod API 요청 파일을 작성하고 AWS CLI 명령을 사용하여 실행하는 방법에 대한 지침을 제공합니다.

**Topics**
+ [새 클러스터 생성:](#sagemaker-hyperpod-operate-slurm-cli-command-create-cluster)
+ [클러스터 설명](#sagemaker-hyperpod-operate-slurm-cli-command-describe-cluster)
+ [클러스터 노드의 세부 정보 나열](#sagemaker-hyperpod-operate-slurm-cli-command-list-cluster-nodes)
+ [클러스터 노드의 세부 정보 설명](#sagemaker-hyperpod-operate-slurm-cli-command-describe-cluster-node)
+ [클러스터 나열](#sagemaker-hyperpod-operate-slurm-cli-command-list-clusters)
+ [클러스터 구성 업데이트](#sagemaker-hyperpod-operate-slurm-cli-command-update-cluster)
+ [클러스터의 SageMaker HyperPod 플랫폼 소프트웨어 업데이트](#sagemaker-hyperpod-operate-slurm-cli-command-update-cluster-software)
+ [클러스터 스케일 다운](#sagemaker-hyperpod-operate-slurm-cli-command-scale-down)
+ [클러스터 삭제](#sagemaker-hyperpod-operate-slurm-cli-command-delete-cluster)

## 새 클러스터 생성:
<a name="sagemaker-hyperpod-operate-slurm-cli-command-create-cluster"></a>

1. 수명 주기 구성 스크립트를 준비하고 와 같은 S3 버킷에 업로드합니다`s3://sagemaker-amzn-s3-demo-bucket/lifecycle-script-directory/src/`. 다음 2단계에서는 지정된 S3 버킷에 `on_create.sh`라는 진입점 스크립트가 있다고 가정합니다.
**중요**  
S3 경로를 `s3://sagemaker-`로 시작하도록 설정해야 합니다. [SageMaker HyperPod의 IAM 역할](sagemaker-hyperpod-prerequisites-iam.md#sagemaker-hyperpod-prerequisites-iam-role-for-hyperpod)에는 관리형 [https://docs.aws.amazon.com/sagemaker/latest/dg/security-iam-awsmanpol-cluster.html](https://docs.aws.amazon.com/sagemaker/latest/dg/security-iam-awsmanpol-cluster.html)가 연결되어 있으므로 특정 접두사가 `sagemaker-`인 S3 버킷에 액세스할 수 있습니다.

1. [CreateCluster](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateCluster.html) API 요청 파일을 JSON 형식으로 준비합니다. 수명 주기 스크립트 세트 실행의 일부로 클러스터 생성 중에 사용할 `provisioning_parameters.json` 파일에서 설계한 Slurm 클러스터와 일치하도록 인스턴스 그룹을 구성해야 합니다. 자세한 내용은 [수명 주기 스크립트를 사용하여 SageMaker HyperPod 클러스터 사용자 지정](sagemaker-hyperpod-lifecycle-best-practices-slurm.md)를 참조하세요. 다음 템플릿에는 Slurm 클러스터의 최소 요구 사항을 충족하는 두 개의 인스턴스 그룹이 있습니다. 컨트롤러(헤드) 노드 1개와 컴퓨팅(워커) 노드 1개. `ExecutionRole`의 경우 [SageMaker HyperPod의 IAM 역할](sagemaker-hyperpod-prerequisites-iam.md#sagemaker-hyperpod-prerequisites-iam-role-for-hyperpod) 섹션에서 관리형 `AmazonSageMakerClusterInstanceRolePolicy`로 생성한 IAM 역할의 ARN을 제공합니다.

   ```
   // create_cluster.json
   {
       "ClusterName": "your-hyperpod-cluster",
       "InstanceGroups": [
           {
               "InstanceGroupName": "controller-group",
               "InstanceType": "ml.m5.xlarge",
               "InstanceCount": 1,
               "LifeCycleConfig": {
                   "SourceS3Uri": "s3://amzn-s3-demo-bucket-sagemaker/lifecycle-script-directory/src/",
                   "OnCreate": "on_create.sh"
               },
               "ExecutionRole": "arn:aws:iam::111122223333:role/iam-role-for-cluster",
               // Optional: Configure an additional storage per instance group.
               "InstanceStorageConfigs": [
                   {
                      // Attach an additional EBS volume to each instance within the instance group.
                      // The default mount path for the additional EBS volume is /opt/sagemaker.
                      "EbsVolumeConfig":{
                         // Specify an integer between 1 and 16384 in gigabytes (GB).
                         "VolumeSizeInGB": integer,
                      }
                   }
               ]
           }, 
           {
               "InstanceGroupName": "worker-group-1",
               "InstanceType": "ml.p4d.xlarge",
               "InstanceCount": 1,
               "LifeCycleConfig": {
                   "SourceS3Uri": "s3://amzn-s3-demo-bucket-sagemaker/lifecycle-script-directory/src/",
                   "OnCreate": "on_create.sh"
               },
               "ExecutionRole": "arn:aws:iam::111122223333:role/iam-role-for-cluster"
           }
       ],
       // Optional
       "Tags": [ 
           { 
              "Key": "string",
              "Value": "string"
           }
       ],
       // Optional
       "VpcConfig": { 
           "SecurityGroupIds": [ "string" ],
           "Subnets": [ "string" ]
       }
   }
   ```

   수명 주기 스크립트를 통해 클러스터 구조를 설계하는 방법에 따라 `InstanceGroups` 파라미터에서 최대 20개의 인스턴스 그룹을 구성할 수 있습니다.

   `Tags` 요청 파라미터의 경우 SageMaker HyperPod 클러스터를 AWS 리소스로 관리하기 위한 사용자 지정 태그를 추가할 수 있습니다. 태그 지정을 지원하는 다른 AWS 서비스에서 추가하는 것과 동일한 방식으로 클러스터에 태그를 추가할 수 있습니다. 일반적인 AWS 리소스 태그 지정에 대한 자세한 내용은 [AWS 리소스 태그 지정 사용 설명서를](https://docs.aws.amazon.com/tag-editor/latest/userguide/tagging.html) 참조하세요.

   `VpcConfig` 요청 파라미터에 사용할 VPC의 정보를 지정합니다. 자세한 내용은 [사용자 지정 Amazon VPC를 사용하여 SageMaker HyperPod 설정](sagemaker-hyperpod-prerequisites.md#sagemaker-hyperpod-prerequisites-optional-vpc) 섹션을 참조하세요.

1. 다음과 같이 [create-cluster](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/create-cluster.html) 명령을 실행합니다.

   ```
   aws sagemaker create-cluster \
       --cli-input-json file://complete/path/to/create_cluster.json
   ```

   그러면 새 클러스터의 ARN이 반환됩니다.

## 클러스터 설명
<a name="sagemaker-hyperpod-operate-slurm-cli-command-describe-cluster"></a>

[describe-cluster](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/describe-cluster.html)를 실행하여 클러스터의 상태를 확인합니다. 클러스터의 이름 또는 ARN을 지정할 수 있습니다.

```
aws sagemaker describe-cluster --cluster-name your-hyperpod-cluster
```

클러스터 상태가 **InService**로 전환되면 다음 단계로 진행합니다. 이 API를 사용하면 다른 HyperPod API 작업을 실행하여 장애 메시지를 검색할 수도 있습니다.

## 클러스터 노드의 세부 정보 나열
<a name="sagemaker-hyperpod-operate-slurm-cli-command-list-cluster-nodes"></a>

[list-cluster-nodes](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/list-cluster-nodes.html)를 실행하여 클러스터 노드의 키 정보를 확인합니다.

```
aws sagemaker list-cluster-nodes --cluster-name your-hyperpod-cluster
```

이렇게 하면 응답이 반환되고 `InstanceId`는 응답에 로깅(`aws ssm` 사용)하는 데 사용해야 하는 것입니다.

## 클러스터 노드의 세부 정보 설명
<a name="sagemaker-hyperpod-operate-slurm-cli-command-describe-cluster-node"></a>

[describe-cluster-node](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/describe-cluster-node.html)를 실행하여 클러스터 노드의 세부 정보를 검색합니다. list-cluster-nodes 출력에서 클러스터 노드 ID를 가져올 수 있습니다. 클러스터의 이름 또는 ARN을 지정할 수 있습니다.

```
aws sagemaker describe-cluster-node \
    --cluster-name your-hyperpod-cluster \
    --node-id i-111222333444555aa
```

## 클러스터 나열
<a name="sagemaker-hyperpod-operate-slurm-cli-command-list-clusters"></a>

[list-cluster](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/list-clusters.html)를 실행하여 계정의 모든 클러스터를 나열합니다.

```
aws sagemaker list-clusters
```

추가 플래그를 추가하여 클러스터 목록을 필터링할 수도 있습니다. 이 명령이 하위 수준에서 실행되는 것과 필터링을 위한 추가 플래그에 대한 자세한 내용은 [ListClusters](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListClusters.html) API 참조를 참조하세요.

## 클러스터 구성 업데이트
<a name="sagemaker-hyperpod-operate-slurm-cli-command-update-cluster"></a>

[update-cluster](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/update-cluster.html)를 실행하여 클러스터 구성을 업데이트합니다.

**참고**  
`UpdateCluster` API를 사용하여 SageMaker HyperPod 클러스터에서 인스턴스 그룹을 스케일 다운하거나 전체 인스턴스 그룹을 제거할 수 있습니다. 인스턴스 그룹을 스케일 다운하거나 삭제하는 방법에 대한 추가 지침은 [클러스터 스케일 다운](#sagemaker-hyperpod-operate-slurm-cli-command-scale-down) 섹션을 참조하세요.

1. JSON 형식으로 `UpdateCluster` 요청 파일을 생성합니다. 업데이트할 올바른 클러스터 이름과 인스턴스 그룹 이름을 지정해야 합니다. 인스턴스 유형, 인스턴스 수, 수명 주기 구성 진입점 스크립트 및 스크립트 경로를 변경할 수 있습니다.

   1. `ClusterName`의 경우 업데이트할 클러스터 이름을 선택합니다.

   1. `InstanceGroupName`의 경우

      1. 기존 인스턴스 그룹을 업데이트하려면 업데이트하려는 인스턴스 그룹의 이름을 지정합니다.

      1. 새 인스턴스 그룹을 추가하려면 클러스터에 없는 새 이름을 지정합니다.

   1. `InstanceType`의 경우

      1. 기존 인스턴스 그룹을 업데이트하려면 처음에 지정한 인스턴스 유형을 그룹에 일치시켜야 합니다.

      1. 새 인스턴스 그룹을 추가하려면 그룹을 구성할 인스턴스 유형을 지정합니다.

   1. `InstanceCount`의 경우

      1. 기존 인스턴스 그룹을 업데이트하려면 원하는 인스턴스 수에 해당하는 정수를 지정합니다. 더 높거나 낮은 값(0까지)을 제공하여 인스턴스 그룹을 스케일 업하거나 스케일 다운할 수 있습니다.

      1. 새 인스턴스 그룹을 추가하려면 1 이상의 정수를 지정합니다.

   1. `LifeCycleConfig`의 경우 인스턴스 그룹을 업데이트하려는 대로 `SourceS3Uri` 및 `OnCreate` 값을 모두 변경할 수 있습니다.

   1. `ExecutionRole`의 경우

      1. 기존 인스턴스 그룹을 업데이트하려면 클러스터 생성 중에 연결한 것과 동일한 IAM 역할을 계속 사용합니다.

      1. 새 인스턴스 그룹을 추가하려면 연결할 IAM 역할을 지정합니다.

   1. `ThreadsPerCore`의 경우

      1. 기존 인스턴스 그룹을 업데이트하려면 클러스터 생성 중에 지정한 것과 동일한 값을 계속 사용합니다.

      1. 새 인스턴스 그룹을 추가하려면 인스턴스 유형별로 허용되는 옵션 중에서 원하는 값을 선택할 수 있습니다. 자세한 내용은 인스턴스 유형을 검색하고 *Amazon EC2 사용 설명서*의 [인스턴스 유형당 CPU 코어 및 CPU 코어당 스레드](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/cpu-options-supported-instances-values.html)에 있는 참조 테이블의 **코어당 유효한 스레드** 열을 참조하세요.

   다음 코드 조각은 사용할 수 있는 JSON 요청 파일 템플릿입니다. 이 API의 요청 구문 및 파라미터에 대한 자세한 내용은 [UpdateCluster](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateCluster.html) API 참조를 참조하세요.

   ```
   // update_cluster.json
   {
       // Required
       "ClusterName": "name-of-cluster-to-update",
       // Required
       "InstanceGroups": [
           {
               "InstanceGroupName": "name-of-instance-group-to-update",
               "InstanceType": "ml.m5.xlarge",
               "InstanceCount": 1,
               "LifeCycleConfig": {
                   "SourceS3Uri": "s3://amzn-s3-demo-bucket-sagemaker/lifecycle-script-directory/src/",
                   "OnCreate": "on_create.sh"
               },
               "ExecutionRole": "arn:aws:iam::111122223333:role/iam-role-for-cluster",
               // Optional: Configure an additional storage per instance group.
               "InstanceStorageConfigs": [
                   {
                      // Attach an additional EBS volume to each instance within the instance group.
                      // The default mount path for the additional EBS volume is /opt/sagemaker.
                      "EbsVolumeConfig":{
                         // Specify an integer between 1 and 16384 in gigabytes (GB).
                         "VolumeSizeInGB": integer,
                      }
                   }
               ]
           },
           // add more blocks of instance groups as needed
           { ... }
       ]
   }
   ```

1. 다음 `update-cluster` 명령을 실행하여 요청을 제출합니다.

   ```
   aws sagemaker update-cluster \
       --cli-input-json file://complete/path/to/update_cluster.json
   ```

## 클러스터의 SageMaker HyperPod 플랫폼 소프트웨어 업데이트
<a name="sagemaker-hyperpod-operate-slurm-cli-command-update-cluster-software"></a>

[update-cluster-software](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/update-cluster-software.html)를 실행하여 SageMaker HyperPod 서비스에서 제공하는 소프트웨어 및 보안 패치로 기존 클러스터를 업데이트합니다. `--cluster-name`에서 업데이트할 클러스터의 이름 또는 ARN을 지정합니다.

**중요**  
이 API를 실행하기 전에 작업을 백업해야 합니다. 패치 프로세스는 루트 볼륨을 업데이트된 AMI로 대체합니다. 즉, 인스턴스 루트 볼륨에 저장된 이전 데이터가 손실됩니다. 인스턴스 루트 볼륨에서 Amazon S3 또는 Amazon FSx for Lustre로 데이터를 백업해야 합니다. 자세한 내용은 [SageMaker HyperPod에서 제공하는 백업 스크립트 사용](#sagemaker-hyperpod-operate-slurm-cli-command-update-cluster-software-backup) 단원을 참조하십시오.

```
aws sagemaker update-cluster-software --cluster-name your-hyperpod-cluster
```

이 명령은 [UpdateClusterSoftware](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateClusterSoftware.html) API를 호출합니다. API 직접 호출 후 SageMaker HyperPod는 클러스터 인스턴스에 사용할 수 있는 최신 DLAMI가 있는지 확인합니다. DLAMI 업데이트가 필요한 경우 SageMaker HyperPod는 최신 [SageMaker HyperPod DLAMI](sagemaker-hyperpod-ref.md#sagemaker-hyperpod-ref-hyperpod-ami)를 사용하도록 클러스터 인스턴스를 업데이트하고 클러스터 생성 또는 업데이트 중에 지정한 Amazon S3 버킷에서 수명 주기 스크립트를 실행합니다. 클러스터가 이미 최신 DLAMI를 사용하고 있는 경우 SageMaker HyperPod는 클러스터를 변경하거나 수명 주기 스크립트를 다시 실행하지 않습니다. SageMaker HyperPod 서비스 팀은 보안을 강화하고 사용자 경험을 개선하기 위해 정기적으로 새 [SageMaker HyperPod DLAMI](sagemaker-hyperpod-ref.md#sagemaker-hyperpod-ref-hyperpod-ami)를 출시합니다. 항상 최신 SageMaker HyperPod DLAMI로 업데이트하는 것이 좋습니다. 보안 패치를 위한 향후 SageMaker HyperPod DLAMI 업데이트는 [Amazon SageMaker HyperPod 릴리스 정보](sagemaker-hyperpod-release-notes.md)를 사용하여 후속 조치를 취하세요.

**작은 정보**  
보안 패치가 실패하면 [클러스터 설명](#sagemaker-hyperpod-operate-slurm-cli-command-describe-cluster)의 지침에 따라 [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeCluster.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeCluster.html) API를 실행하여 실패 메시지를 검색할 수 있습니다.

**참고**  
프로그래밍 방식으로만 이 API를 실행할 수 있습니다. 패치 기능은 SageMaker HyperPod 콘솔 UI에서 구현되지 않습니다.

### SageMaker HyperPod에서 제공하는 백업 스크립트 사용
<a name="sagemaker-hyperpod-operate-slurm-cli-command-update-cluster-software-backup"></a>

SageMaker HyperPod는 *Awsome Distributed Training GitHub 리포지토리*에서 [https://github.com/aws-samples/awsome-distributed-training/blob/main/1.architectures/5.sagemaker-hyperpod/patching-backup.sh](https://github.com/aws-samples/awsome-distributed-training/blob/main/1.architectures/5.sagemaker-hyperpod/patching-backup.sh)의 데이터를 백업하고 복원하는 스크립트를 제공합니다. 스크립트는 다음 두 함수를 제공합니다.

**패치 적용 전에 S3 버킷에 데이터를 백업하려면**

```
sudo bash patching-backup.sh --create <s3-buckup-bucket-path>
```

명령을 실행한 후 스크립트는 대기열에 작업이 있는지 `squeue`를 확인하고, 대기열에 작업이 없으면 Slurm을 중지하고, `mariadb`를 백업하고, `LOCAL_ITEMS`에 정의된 디스크에 로컬 항목을 복사합니다. `LOCAL_ITEMS`에 파일 및 디렉터리를 더 추가할 수 있습니다.

```
# Define files and directories to back up.
LOCAL_ITEMS=(
    "/var/spool/slurmd"
    "/var/spool/slurmctld"
    "/etc/systemd/system/slurmctld.service"
    "/home/ubuntu/backup_slurm_acct_db.sql"
    # ... Add more items as needed
)
```

또한 제공된 스크립트에 사용자 지정 코드를 추가하여 사용 사례에 맞는 애플리케이션을 백업할 수 있습니다.

**패치 적용 후 S3 버킷에서 데이터를 복원하려면**

```
sudo bash patching-backup.sh --restore <s3-buckup-bucket-path>
```

## 클러스터 스케일 다운
<a name="sagemaker-hyperpod-operate-slurm-cli-command-scale-down"></a>

SageMaker HyperPod 클러스터의 인스턴스 수를 스케일 다운하거나 인스턴스 그룹을 삭제하여 리소스 할당을 최적화하거나 비용을 절감할 수 있습니다.

`UpdateCluster` API 작업을 사용하여 인스턴스 그룹에서 지정된 수까지 인스턴스를 무작위로 종료하거나 `BatchDeleteClusterNodes` API 작업을 사용하여 특정 인스턴스를 종료하여 스케일 다운합니다. `UpdateCluster` API를 사용하여 전체 인스턴스 그룹을 완전히 제거할 수도 있습니다. 이러한 방법을 사용하여 스케일 다운하는 방법에 대한 자세한 내용은 [SageMaker HyperPod 클러스터 스케일 다운](smcluster-scale-down.md) 섹션을 참조하세요.

**참고**  
Slurm 컨트롤러 노드로 구성된 인스턴스는 제거할 수 없습니다. Slurm 컨트롤러 노드를 삭제하려고 하면 `NODE_ID_IN_USE` 오류 코드와 함께 검증 오류가 발생합니다.

## 클러스터 삭제
<a name="sagemaker-hyperpod-operate-slurm-cli-command-delete-cluster"></a>

[Delete-cluster](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/delete-cluster.html)를 실행하여 클러스터를 삭제합니다. 클러스터의 이름 또는 ARN을 지정할 수 있습니다.

```
aws sagemaker delete-cluster --cluster-name your-hyperpod-cluster
```