

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

# 사용자 지정 부트스트랩 작업
<a name="custom-bootstrap-actions-v3"></a>

/ [`HeadNode`](HeadNode-v3.md) / [`OnNodeStart`](HeadNode-v3.md#yaml-HeadNode-CustomActions-OnNodeStart) 구성 설정을 정의하면 [`CustomActions`](HeadNode-v3.md#HeadNode-v3-CustomActions)는 노드가 시작된 직후 임의 코드를 AWS ParallelCluster 실행합니다. / [`HeadNode`](HeadNode-v3.md) [`CustomActions`](HeadNode-v3.md#HeadNode-v3-CustomActions)/ [`OnNodeConfigured`](HeadNode-v3.md#yaml-HeadNode-CustomActions-OnNodeConfigured) 구성 설정을 정의하면 노드 구성이 올바르게 완료된 후가 코드를 AWS ParallelCluster 실행합니다.

 AWS ParallelCluster 버전 3.4.0부터 / [`HeadNode`](HeadNode-v3.md) [`CustomActions`](HeadNode-v3.md#HeadNode-v3-CustomActions)/ [`OnNodeUpdated`](HeadNode-v3.md#yaml-HeadNode-CustomActions-OnNodeUpdated) 구성 설정을 정의하면 헤드 노드 업데이트 후 코드를 실행할 수 있습니다.

대부분의 경우 이 코드는 Amazon Simple Storage Service(S3)에 저장되며 HTTPS 연결을 통해 액세스됩니다. 이 코드는 `root`로서 실행되며 클러스터 OS에서 지원되는 어떠한 스크립트 언어로든 작성될 수 있습니다. 코드는 일반적으로 Bash** 또는 Python**으로 작성됩니다.

**참고**  
 AWS ParallelCluster 버전 3.7.0부터 클러스터[`Imds`](Imds-cluster-v3.md#Imds-cluster-v3.title)/[`ImdsSupport`](Imds-cluster-v3.md#yaml-cluster-Imds-ImdsSupport)기본 설정은 입니다`v2.0`.  
새 클러스터를 생성하여 버전 3.7.0 이상으로 업그레이드할 때는 사용자 지정 부트스트랩 액션 스크립트를 IMDSv2와 호환되도록 업데이트하거나 클러스터 구성 파일에서 [`Imds`](Imds-cluster-v3.md#Imds-cluster-v3.title)/[`ImdsSupport`](Imds-cluster-v3.md#yaml-cluster-Imds-ImdsSupport)를 `v1.0`에 설정하세요.

**주의**  
[공동 책임 모델에 설명된 대로 사용자 지정 스크립트와 인수를 구성하는 것은 사용자의 책임입니다](https://aws.amazon.com/compliance/shared-responsibility-model/). 사용자 지정 부트스트랩 스크립트와 인수가 클러스터 노드에 대한 전체 액세스 권한이 있다고 신뢰할 수 있는 소스에서 가져온 것인지 확인하세요.

**주의**  
AWS ParallelCluster 는 `/etc/parallelcluster/cfnconfig` 파일을 통해 제공되는 내부 변수의 사용을 지원하지 않습니다. 이 파일은 향후 릴리스에서 제거될 수 있습니다.

`OnNodeStart` 작업은 NAT, Amazon Elastic Block Store(Amazon EBS) 또는 스케줄러 구성과 같은 노드 배포 부트스트랩 작업이 시작되기 전에 호출됩니다. `OnNodeStart` 부트스트랩 작업에는 스토리지 수정, 사용자 추가, 패키지 추가 등이 포함될 수 있습니다.

**참고**  
클러스터에 대해 [`DirectoryService`](DirectoryService-v3.md) 및 [`HeadNode`](HeadNode-v3.md) / [`CustomActions`](HeadNode-v3.md#HeadNode-v3-CustomActions) / 스크립트를 구성하는 경우 [`OnNodeStart`](HeadNode-v3.md#yaml-HeadNode-CustomActions-OnNodeStart)는 스크립트를 실행`sssd`하기 전에 `OnNodeStart`를 AWS ParallelCluster 구성`DirectoryService`하고 다시 시작합니다.

노드 부트스트랩 프로세스가 완료된 후 `OnNodeConfigured` 작업이 호출됩니다. `OnNodeConfigured` 작업은 인스턴스가 완전히 구성되고 완료된 것으로 간주되기 전에 발생하는 마지막 작업을 수행합니다. 일부 `OnNodeConfigured` 작업에는 스케줄러 설정 변경, 스토리지 및 패키지 수정이 포함될 수 있습니다. 구성 중에 인수를 지정하여 스크립트에 인수를 전달할 수 있습니다.

헤드 노드 업데이트가 완료되고 스케줄러와 공유 스토리지가 최신 클러스터 구성 변경 사항에 맞게 조정된 후에 `OnNodeUpdated` 작업이 호출됩니다.

`OnNodeStart` 또는 `OnNodeConfigured` 사용자 지정 작업이 성공하면 종료 코드 제로(0)로 성공 여부가 표시됩니다. 다른 종료 코드는 인스턴스 부트스트랩이 실패했음을 나타냅니다.

`OnNodeUpdated` 사용자 지정 작업이 성공하면 종료 코드 제로(0)와 함께 성공 신호가 표시됩니다. 다른 종료 코드는 업데이트가 실패했음을 나타냅니다.

**참고**  
[`OnNodeUpdated`](HeadNode-v3.md#yaml-HeadNode-CustomActions-OnNodeUpdated)를 구성한 경우 업데이트 실패 시 수동으로 `OnNodeUpdated` 작업을 이전 상태로 복원해야 합니다.  
`OnNodeUpdated` 사용자 지정 작업이 실패하면 업데이트가 이전 상태로 롤백됩니다. 하지만 `OnNodeUpdated` 작업은 업데이트 시에만 실행되며 스택 롤백 시에는 실행되지 않습니다.

/ 및 i / [`HeadNode`](HeadNode-v3.md) [`Scheduling`](Scheduling-v3.md)/ [`SlurmQueues`](Scheduling-v3.md#Scheduling-v3-SlurmQueues) [`CustomActions`](Scheduling-v3.md#Scheduling-v3-SlurmQueues-CustomActions) 구성 섹션에서 헤드 노드[`CustomActions`](HeadNode-v3.md#HeadNode-v3-CustomActions)와 각 대기열에 대해 서로 다른 스크립트를 지정할 [`OnNodeUpdated`](HeadNode-v3.md#yaml-HeadNode-CustomActions-OnNodeUpdated) 수 있습니다.는 `HeadNode` 섹션에서만 구성할 수 있습니다.

**참고**  
 AWS ParallelCluster 버전 3.0 이전에는 헤드 노드와 컴퓨팅 노드에 대해 다른 스크립트를 지정할 수 없었습니다. [AWS ParallelCluster 2.x에서 3.x로 이동](moving-from-v2-to-v3.md) 섹션을 참조하세요.

**Topics**
+ [작업 및 인수를 정의하기 위한 구성 설정](custom-bootstrap-actions-config-v3.md)
+ [인수](custom-bootstrap-actions-args-v3.md)
+ [사용자 지정 부트스트랩 작업이 포함된 예제 클러스터](custom-bootstrap-actions-example-cluster-v3.md)
+ [IMDSv2용 사용자 지정 부트스트랩 스크립트를 업데이트하는 방법의 예](custom-bootstrap-actions-example-imdsv2-v3.md)
+ [IMDSv1에 대한 구성을 업데이트하는 방법의 예](custom-bootstrap-actions-example-imdsv1-v3.md)