

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

# AWS PCS 클러스터에서 Slurm CLI 필터 플러그인 구성
<a name="slurm-cli-filter-plugins-configure"></a>

새 AWS PCS 클러스터를 생성할 때 CLI 필터 플러그인을 구성합니다. 클러스터를 다시 생성하지 않고 업데이트 API 또는 콘솔을 사용하여 기존 클러스터에서 CLI 필터 플러그인을 활성화하거나 비활성화할 수 있습니다.

## 사전 조건
<a name="slurm-cli-filter-plugins-configure-prerequisites"></a>

CLI 필터 플러그인을 구성하기 전에 다음 작업을 완료합니다.
+ CLI 필터 플러그인 API를 구현하는 Lua 스크립트 작성 및 테스트
+ Lua 스크립트의 이름을 정확히 지정합니다. `cli_filter.lua` 
+ 스크립트를 모든 클러스터 인스턴스(AMI, S3 또는 파일 시스템)에 배포하는 방법 선택
+ Slurm 버전 24.11 이상을 사용하고 있는지 확인

## 새 클러스터에서 CLI 필터 플러그인 활성화
<a name="slurm-cli-filter-plugins-configure-create"></a>

------
#### [ AWS PCS console ]

1. [https://console.aws.amazon.com/pcs/](https://console.aws.amazon.com/pcs/) AWS PCS 콘솔을 엽니다.

1. 탐색 창에서 **클러스터**를 선택합니다.

1. **클러스터 생성**을 선택합니다.

1. 유효한 버전의 Slurm(버전 24.11 이상)을 선택합니다.

1. **스케줄러 설정**에서 **추가 스케줄러 설정을** 확장합니다.

1. **파라미터 이름이** 로 설정`CliFilterPlugins`되고 **파라미터 값이** 로 설정된 새 Slurm 사용자 지정 설정을 추가합니다`cli_filter/lua`.

1. 나머지 클러스터 구성을 완료하고 **클러스터를 생성**합니다.

------
#### [ AWS PCS API ]

`CreateCluster` API 작업을 호출할 때 `slurmCustomSettings` 구성을 제공합니다. 를 `parameterName` 로 `CliFilterPlugins` 설정하고를 `parameterValue`로 설정합니다`cli_filter/lua`. 자세한 내용은 PCS API 참조의 [CreateCluster](https://docs.aws.amazon.com/pcs/latest/APIReference/API_CreateCluster.html)를 참조하세요. *AWS * 

다음 예제에서는 AWS CLI 를 사용하여 `CreateCluster` API 작업을 호출합니다. 사용자 지정 설정은 CLI 필터 플러그인을 `CliFilterPlugins=cli_filter/lua` 활성화합니다.

```
aws pcs create-cluster --cluster-name {{cluster-name}} \
--scheduler type=SLURM,version=24.11 \
--size SMALL \
--networking subnetIds={{cluster-subnet-id}},securityGroupIds={{cluster-security-group-id}} \
--slurm-configuration \
'slurmCustomSettings=[{parameterName=CliFilterPlugins,parameterValue="cli_filter/lua"}]'
```

------

## CLI 필터 플러그인 스크립트 배포
<a name="slurm-cli-filter-plugins-configure-deploy"></a>

**CLI 필터 플러그인 스크립트를 클러스터에 배포하려면**

1. 컴퓨팅 노드 그룹에 사용되는 모든 AMIs에 Slurm이 AWS 설치되어 있는지 PCS Slurm 설치 관리자를 통해 확인합니다.
**참고**  
모든 컴퓨팅 노드 그룹에 대해 AWS PCS 샘플 AMI를 사용하는 경우이 단계를 건너뜁니다. Slurm이 이미 설치되어 있습니다.

1. 클러스터의 모든 인스턴스`/etc/aws/pcs/scheduler/slurm-<version>/cli_filter.lua`에 `cli_filter.lua` 스크립트를 배포합니다.

   예를 들어 Slurm 버전 24.11의 경우:

   ```
   /etc/aws/pcs/scheduler/slurm-24.11/cli_filter.lua
   ```

1. 준비된 AMIs를 사용하여 모든 로그인 및 컴퓨팅 노드를 시작합니다.

1. 작업 제출을 테스트하여 CLI 필터 플러그인이 올바르게 실행되는지 확인합니다.

## 기존 클러스터에서 CLI 필터 플러그인 활성화 또는 비활성화
<a name="slurm-cli-filter-plugins-configure-update"></a>

인프라를 다시 빌드하지 않고도 기존 클러스터에서 CLI 필터 플러그인을 활성화하거나 비활성화할 수 있습니다. 자세한 내용은 [AWS PCS에서 클러스터 업데이트](working-with_clusters_update.md) 단원을 참조하십시오.

------
#### [ AWS PCS console ]

1. [https://console.aws.amazon.com/pcs/](https://console.aws.amazon.com/pcs/) AWS PCS 콘솔을 엽니다.

1. 탐색 창에서 **클러스터**를 선택합니다.

1. 업데이트할 클러스터를 선택합니다.

1. **작업 편집**을 선택합니다.

1. 클러스터 편집 페이지의 **추가 스케줄러 설정**에서 다음을 수행합니다.
   + CLI 필터 플러그인 활성화: **파라미터 이름이** 로 설정`CliFilterPlugins`되고 **파라미터 값이** 로 설정된 새 Slurm 사용자 지정 설정을 추가합니다`cli_filter/lua`.
   + CLI 필터 플러그인을 비활성화하려면: 기존 `CliFilterPlugins` 설정을 제거합니다.

1. **클러스터 업데이트를** 선택하여 변경 사항을 제출합니다.

1. 프로세스 중에 "업데이트"로 표시되고 업데이트가 완료되면 "활성"으로 표시되는 클러스터 상태를 모니터링합니다.

------
#### [ AWS PCS API ]

`UpdateCluster` API 작업을 사용하여 CLI 필터 플러그인을 활성화하거나 비활성화합니다. 자세한 내용은 PCS API 참조의 [UpdateCluster](https://docs.aws.amazon.com/pcs/latest/APIReference/API_UpdateCluster.html)를 참조하세요. *AWS * 

기존 클러스터에서 CLI 필터 플러그인을 활성화하려면:

```
aws pcs update-cluster --cluster-identifier {{my-cluster}} \
--slurm-configuration \
'slurmCustomSettings=[{parameterName=CliFilterPlugins,parameterValue="cli_filter/lua"}]'
```

기존 클러스터에서 CLI 필터 플러그인을 비활성화하려면:

```
aws pcs update-cluster --cluster-identifier {{my-cluster}} \
--slurm-configuration \
'slurmCustomSettings=[]'
```

------

## 예상 결과
<a name="slurm-cli-filter-plugin-configure-results"></a>

구성을 완료한 후:
+ CLI 필터 플러그인이 켜진 상태로 클러스터가 생성됩니다.
+ 작업 제출은 Slurm 컨트롤러에 도달하기 전에 사용자 지정 검증 로직을 트리거합니다.
+ 규정 미준수 작업은 사용자 지정 오류 메시지와 함께 거부됩니다.
+ 규정 준수 작업은 Slurm 스케줄러를 통해 정상적으로 진행됩니다.

## 문제 해결
<a name="slurm-cli-filter-plugin-configure-troubleshooting"></a>

**모든 노드에서 CLI 필터 플러그인 스크립트 누락**  
**증상:** 플러그인 로드 오류와 함께 작업 제출이 즉시 실패합니다.  
**가능한 원인:** 스크립트가 모든 인스턴스에 배포되지 않았거나 파일 경로 또는 이름이 잘못되었습니다.  
**해결 방법:** 스크립트가 정확한 파일 이름을 가진 모든 로그인 및 컴퓨팅 노드에 올바른 경로에 있는지 확인합니다`cli_filter.lua`.

**잘못된 CLI 필터 플러그인 구성**  
**증상:** 클러스터 생성이 실패하고 검증 오류가 발생합니다.  
**가능한 원인:** `CliFilterPlugins` 파라미터가 `cli_filter/lua` 형식으로 설정되지 않았습니다.  
**해결 방법:** `cli_filter/lua`에서 정확한 파라미터 값을 사용합니다`slurmCustomSettings`.