

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

# AWS ParallelCluster 2.x에서 3.x로 이동
<a name="moving-from-v2-to-v3"></a>

다음 섹션에서는 한 버전에서 다른 버전으로의 변경 사항을 포함하여 AWS ParallelCluster 2.x에서 3.x로 이동할 때 발생하는 상황에 대해 설명합니다.

## 사용자 지정 부트스트랩 작업
<a name="custom_bootstrap_actions"></a>

 AWS ParallelCluster 3을 사용하면 및 [`Scheduling`](Scheduling-v3.md) / [`SlurmQueues`](Scheduling-v3.md#Scheduling-v3-SlurmQueues) 섹션에서 `OnNodeStart` (`pre_install` AWS ParallelCluster 버전 2) 및 `OnNodeConfigured` (`post_install` AWS ParallelCluster 버전 2) 파라미터를 사용하여 헤드 노드 [`HeadNode`](HeadNode-v3.md) 및 컴퓨팅 노드에 대해 다양한 사용자 지정 부트스트랩 작업 스크립트를 지정할 수 있습니다. 자세한 내용은 [사용자 지정 부트스트랩 작업](custom-bootstrap-actions-v3.md) 단원을 참조하십시오.

 for AWS ParallelCluster 2용으로 개발된 사용자 지정 부트스트랩 작업 스크립트는 AWS ParallelCluster 3에서 사용하도록 조정해야 합니다.
+ 헤드 노드와 컴퓨팅 노드를 구분하기 위해 `/etc/parallelcluster/cfnconfig` 및 `cfn_node_type`을 사용하지 않는 것이 좋습니다. 대신, [`HeadNode`](HeadNode-v3.md) 및 [`Scheduling`](Scheduling-v3.md)/[`SlurmQueues`](Scheduling-v3.md#Scheduling-v3-SlurmQueues)에 서로 다른 두 스크립트를 지정하는 것이 좋습니다.
+ 부트스트랩 액션 스크립트에서 사용하기 위해 `/etc/parallelcluster/cfnconfig`를 계속 로드하려면 `cfn_node_type`의 값이 “MasterServer”에서 “HeadNode”로 변경되었다는 점에 유의하세요([포괄적인 언어](#inclusive_language) 참조).
+ On AWS ParallelCluster 2에서 부트스트랩 작업 스크립트에 대한 첫 번째 입력 인수는 스크립트의 S3 URL이며 예약되었습니다. AWS ParallelCluster 3에서는 구성에 구성된 인수만 스크립트에 전달됩니다.

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

## AWS ParallelCluster 2.x와 3.x는 서로 다른 구성 파일 구문을 사용합니다.
<a name="pcluster_use_different_config_file_syntax"></a>

 ******** 

AWS ParallelCluster 3.x 구성은 YAML 구문을 사용합니다. 전체 참조는 [구성 파일](configuration-v3.md)에서 찾을 수 있습니다.

YAML 파일 형식을 요구하는 것 외에도 여러 구성 섹션, 설정 및 파라미터 값이 AWS ParallelCluster 3.x에서 업데이트되었습니다. 이 단원에서는 AWS ParallelCluster 구성에 대한 주요 변경 사항과 각 버전의 차이를 보여주는 side-by-side 예제를 살펴봅니다 AWS ParallelCluster.

하이퍼스레딩을 활성화하거나 비활성화한 다중 스케줄러 대기열 구성의 예****

AWS ParallelCluster 2:

```
[cluster default]
queue_settings = ht-enabled, ht-disabled
...

[queue ht-enabled]
compute_resource_settings = ht-enabled-i1
disable_hyperthreading = false

[queue ht-disabled]
compute_resource_settings = ht-disabled-i1
disable_hyperthreading = true

[compute_resource ht-enabled-i1]
instance_type = c5n.18xlarge
[compute_resource ht-disabled-i1]
instance_type = c5.xlarge
```

AWS ParallelCluster 3:

```
...
Scheduling:
  Scheduler: slurm
  SlurmQueues:
    - Name: ht-enabled
      Networking:
        SubnetIds:
          - {{compute_subnet_id}}
      ComputeResources:
        - Name: ht-enabled-i1
          DisableSimultaneousMultithreading: true
          InstanceType: c5n.18xlarge     
    - Name: ht-disabled
      Networking:
        SubnetIds:
          - {{compute_subnet_id}}
      ComputeResources:
        - Name: ht-disabled-i1
          DisableSimultaneousMultithreading: false
          InstanceType: c5.xlarge
```

새로운 FSx for Lustre 파일 시스템 구성의 예****

AWS ParallelCluster 2:

```
[cluster default]
fsx_settings = fsx
...

[fsx fsx]
shared_dir = /shared-fsx
storage_capacity = 1200
imported_file_chunk_size = 1024
import_path = s3://{{amzn-s3-demo-bucket}}
export_path = s3://{{amzn-s3-demo-bucket}}/export_dir
weekly_maintenance_start_time = 3:02:30
deployment_type = PERSISTENT_1
data_compression_type = LZ4
```

AWS ParallelCluster 3:

```
...
SharedStorage:
  - Name: fsx
    MountDir: /shared-fsx
    StorageType: FsxLustre
    FsxLustreSettings:
      StorageCapacity: 1200
      ImportedFileChunkSize: 1024
      ImportPath: s3://{{amzn-s3-demo-bucket}}
      ExportPath: s3://{{amzn-s3-demo-bucket}}/export_dir
      WeeklyMaintenanceStartTime: "3:02:30"
      DeploymentType: PERSISTENT_1
      DataCompressionType: LZ4
```

기존 FSx for Lustre 파일 시스템을 탑재하는 클러스터 구성의 예****

AWS ParallelCluster 2:

```
[cluster default]
fsx_settings = fsx
...

[fsx fsx]
shared_dir = /shared-fsx
fsx_fs_id = {{fsx_fs_id}}
```

AWS ParallelCluster 3:

```
...
SharedStorage:
  - Name: fsx
    MountDir: /shared-fsx
    StorageType: FsxLustre
    FsxLustreSettings:
      FileSystemId: {{fsx_fs_id}}
```

 인텔 HPC 플랫폼 사양 소프트웨어 스택이 포함된 클러스터의 예**** 

AWS ParallelCluster 2:

```
[cluster default]
enable_intel_hpc_platform = true
...
```

AWS ParallelCluster 3:

```
...
AdditionalPackages:
  IntelSoftware:
    IntelHpcPlatform: true
```

참고: 
+  Intel HPC 플랫폼 사양 소프트웨어의 설치에는 해당 [Intel 최종 사용자 사용권 계약](https://software.intel.com/en-us/articles/end-user-license-agreement)의 약관이 적용됩니다.

 사용자 지정 IAM 구성의 예: 인스턴스 프로파일, 인스턴스 역할, 인스턴스에 대한 추가 정책, 클러스터와 관련된 Lambda 함수의 역할 등**** 

AWS ParallelCluster 2: 

```
[cluster default]
additional_iam_policies = arn:aws:iam::aws:policy/AmazonS3ReadOnlyAccess,arn:aws:iam::aws:policy/AmazonDynamoDBReadOnlyAccess
ec2_iam_role = {{ec2_iam_role}}
iam_lambda_role = {{lambda_iam_role}}
...
```

AWS ParallelCluster 3: 

```
...
Iam:
  Roles:
    CustomLambdaResources: {{lambda_iam_role}}
HeadNode:
  ...
  Iam:
    InstanceRole: {{ec2_iam_role}}
Scheduling:
  Scheduler: slurm
  SlurmQueues:
    - Name: queue1
      ...
      Iam:
        InstanceProfile: {{iam_instance_profile}}
    - Name: queue2
      ...
      Iam:
        AdditionalIamPolicies:
          - Policy: arn:aws:iam::aws:policy/AmazonS3ReadOnlyAccess
          - Policy: arn:aws:iam::aws:policy/AmazonDynamoDBReadOnlyAccess
```

참고: 
+  AWS ParallelCluster 2의 경우 IAM 설정은 클러스터의 모든 인스턴스에 적용되며와 함께 사용할 `additional_iam_policies` 수 없습니다`ec2_iam_role`.
+ For AWS ParallelCluster 3의 경우 헤드 노드와 컴퓨팅 노드에 대해 서로 다른 IAM 설정을 지정할 수 있으며 각 컴퓨팅 대기열에 대해 서로 다른 IAM 설정을 지정할 수도 있습니다.
+ For AWS ParallelCluster 3에서는 IAM 인스턴스 프로파일을 IAM 역할의 대안으로 사용할 수 있습니다. `InstanceProfile` `InstanceRole` 또는는 함께 구성할 `AdditionalIamPolicies` 수 없습니다.

사용자 지정 부트스트랩 작업의 예****

AWS ParallelCluster 2:

```
[cluster default]
s3_read_resource = arn:aws:s3:::{{amzn-s3-demo-bucket}}/*
pre_install = s3://{{amzn-s3-demo-bucket}}/scripts/pre_install.sh
pre_install_args = 'R curl wget'
post_install = s3://{{amzn-s3-demo-bucket}}/scripts/post_install.sh
post_install_args = "R curl wget"
...
```

AWS ParallelCluster 3: 

```
...
HeadNode:
  ...
  CustomActions:
    OnNodeStart:
      Script: s3://{{amzn-s3-demo-bucket}}/scripts/pre_install.sh
      Args:
        - R
        - curl
        - wget
    OnNodeConfigured:
      Script: s3://{{amzn-s3-demo-bucket}}/scripts/post_install.sh
      Args: ['R', 'curl', 'wget']
  Iam:
    S3Access:
      - BucketName: {{amzn-s3-demo-bucket}}
Scheduling:
  Scheduler: slurm
  SlurmQueues:
    - Name: queue1
      ...
      CustomActions:
        OnNodeStart:
          Script: s3://{{amzn-s3-demo-bucket}}/scripts/pre_install.sh
          Args: ['R', 'curl', 'wget']
        OnNodeConfigured:
          Script: s3://{{amzn-s3-demo-bucket}}/scripts/post_install.sh
          Args: ['R', 'curl', 'wget']
      Iam:
        S3Access:
          - BucketName: {{amzn-s3-demo-bucket}}
```

 S3 버킷 리소스에 대한 읽기 및 쓰기 액세스 권한이 있는 클러스터의 예**** 

AWS ParallelCluster 2: 

```
[cluster default]
s3_read_resource = arn:aws:s3:::{{amzn-s3-demo-bucket}}/read_only/*
s3_read_write_resource = arn:aws:s3:::{{amzn-s3-demo-bucket}}/read_and_write/*
...
```

AWS ParallelCluster 3: 

```
...
HeadNode:
  ...
  Iam:
    S3Access:
      - BucketName: {{amzn-s3-demo-bucket}}
        KeyName: read_only/
        EnableWriteAccess: False
      - BucketName: {{amzn-s3-demo-bucket}}
        KeyName: read_and_write/
        EnableWriteAccess: True
Scheduling:
  Scheduler: slurm
  SlurmQueues:
    - Name: queue1
      ...
      Iam:
        S3Access:
          - BucketName: {{amzn-s3-demo-bucket}}
            KeyName: read_only/
            EnableWriteAccess: False
          - BucketName: {{amzn-s3-demo-bucket}}
            KeyName: read_and_write/
            EnableWriteAccess: True
```

## 포괄적인 언어
<a name="inclusive_language"></a>

AWS ParallelCluster 3은 "마스터"가 AWS ParallelCluster 2에서 사용된 위치에서 "헤드 노드"라는 단어를 사용합니다. 다음 내용이 포함됩니다: 
+  AWS Batch 작업 환경에서 내보낸 변수가에서 `MASTER_IP`로 변경되었습니다`PCLUSTER_HEAD_NODE_IP`.
+ 모든 CloudFormation 출력이에서 `Master*`로 변경되었습니다`HeadNode*`.
+ 모든 NodeType 및 태그가 `Master`에서 `HeadNode`로 변경되었습니다.

## 스케줄러 지원
<a name="scheduler_support"></a>

AWS ParallelCluster 3.x는 Son of Grid Engine(SGE) 및 Torque 스케줄러를 지원하지 않습니다.

 AWS Batch 명령 `awsbhosts`, `awsbkill`, `awsbout`, `awsbstat`, 및 `awsbqueues`는 별도의 `aws-parallelcluster-awsbatch-cli` PyPI 패키지로 배포`awsbsub`됩니다. 헤드 노드에는 AWS ParallelCluster 에 의해 이 패키지가 설치됩니다. 클러스터의 헤드 노드에서 이러한 AWS Batch 명령을 계속 사용할 수 있습니다. 그러나 헤드 노드가 아닌 다른 위치에서 AWS Batch 명령을 사용하려면 먼저 `aws-parallelcluster-awsbatch-cli` PyPI 패키지를 설치해야 합니다.

## AWS ParallelCluster CLI
<a name="parallelcluster_cli"></a>

 AWS ParallelCluster 명령줄 인터페이스(CLI)가 변경되었습니다. 새 구문은 [AWS ParallelCluster CLI 명령](commands-v3.md)에 설명되어 있습니다. CLI의 출력은 [JSON](https://json.org/) 문자열 형식입니다.

 새 클러스터 구성**** 

`pcluster configure` 명령에는 AWS ParallelCluster 2와 비교하여 AWS ParallelCluster 3의 다양한 파라미터가 포함됩니다. 자세한 내용은 [`pcluster configure`](pcluster.configure-v3.md) 단원을 참조하십시오.

또한 구성 파일 구문이 AWS ParallelCluster 2에서 변경되었습니다. 클러스터 구성 설정에 대한 전체 참조는 [클러스터 구성 파일](cluster-configuration-file-v3.md)를 참조하세요.

 새 클러스터 생성**** 

AWS ParallelCluster 2의 `pcluster create` 명령이 [`pcluster create-cluster`](pcluster.create-cluster-v3.md) 명령으로 대체되었습니다.

`-nw` 옵션이 없는 AWS ParallelCluster 2.x의 기본 동작은 클러스터 생성 이벤트를 기다리는 반면 AWS ParallelCluster 3.x 명령은 즉시를 반환합니다. [`pcluster describe-cluster`](pcluster.describe-cluster-v3.md)를 사용하여 클러스터 생성 진행 상황을 모니터링할 수 있습니다.

An AWS ParallelCluster 3 구성 파일에는 단일 클러스터 정의가 포함되어 있으므로 `-t` 파라미터가 더 이상 필요하지 않습니다.

다음은 구성 파일의 예입니다.

```
# AWS ParallelCluster v2
$ pcluster create \
    -r {{REGION}} \
    -c {{V2_CONFIG_FILE}} \
    -nw \
    -t {{CLUSTER_TEMPLATE}} \
    {{CLUSTER_NAME}}

# AWS ParallelCluster v3
$ pcluster create-cluster \
    --region {{REGION}} \
    --cluster-configuration {{V3_CONFIG_FILE}} \
    --cluster-name {{CLUSTER_NAME}}
```

 클러스터 나열**** 

`pcluster list` AWS ParallelCluster 2.x 명령을 [`pcluster list-clusters`](pcluster.list-clusters-v3.md) 명령으로 바꿔야 합니다.

 참고: 2.x 버전으로 생성된 클러스터를 나열하려면 AWS ParallelCluster v2 CLI가 필요합니다 AWS ParallelCluster. 가상 환경을 사용하는 AWS ParallelCluster 의 여러 버전을 설치하는 방법은 [AWS ParallelCluster 가상 환경에 설치(권장)](install-v3-virtual-environment.md)을 참조하세요.

```
# AWS ParallelCluster v2
$ pcluster list -r {{REGION}}

# AWS ParallelCluster v3
$ pcluster list-clusters --region {{REGION}}
```

 **클러스터 시작 및 중지** 

`pcluster start` 및 `pcluster stop` AWS ParallelCluster 2.x 명령을 [`pcluster update-compute-fleet`](pcluster.update-compute-fleet-v3.md) 명령으로 바꿔야 합니다.

 컴퓨팅 플릿 시작: 

```
# AWS ParallelCluster v2
$ pcluster start \
    -r {{REGION}} \
    {{CLUSTER_NAME}}

# AWS ParallelCluster v3 - Slurm fleets
$ pcluster update-compute-fleet \
    --region {{REGION}} \
    --cluster-name {{CLUSTER_NAME}} \
    --status {{START_REQUESTED}}

# AWS ParallelCluster v3 - AWS Batch fleets
$ pcluster update-compute-fleet \
    --region {{REGION}} \
    --cluster-name {{CLUSTER_NAME}} \
    --status {{ENABLED}}
```

 컴퓨팅 플릿 중지: 

```
# AWS ParallelCluster v2
$ pcluster stop \
    -r {{REGION}} \
    {{CLUSTER_NAME}}

# AWS ParallelCluster v3 - Slurm fleets
$ pcluster update-compute-fleet \
    --region {{REGION}} \
    --cluster-name {{CLUSTER_NAME}} \
    --status {{STOP_REQUESTED}}

# AWS ParallelCluster v3 - AWS Batch fleets
$ pcluster update-compute-fleet \
    --region {{REGION}} \
    --cluster-name {{CLUSTER_NAME}} \
    --status {{DISABLED}}
```

 **클러스터에 연결** 

`pcluster ssh` AWS ParallelCluster 2.x 명령의 파라미터 이름은 AWS ParallelCluster 3.x에서 다릅니다. [`pcluster ssh`](pcluster.ssh-v3.md)을(를) 참조하세요.

클러스터에 연결: 

```
# AWS ParallelCluster v2
$ pcluster ssh \
    -r {{REGION}} \
    {{CLUSTER_NAME}} \
    -i {{~/.ssh/id_rsa}}

# AWS ParallelCluster v3
$ pcluster ssh \
    --region {{REGION}} \
    --cluster-name {{CLUSTER_NAME}} \
    -i {{~/.ssh/id_rsa}}
```

## IMDS 구성 업데이트
<a name="imds-update"></a>

버전 3.0.0부터는 기본적으로 헤드 노드의 IMDS(및 인스턴스 프로파일 자격 증명)에 대한 액세스를 수퍼유저의 하위 집합으로 제한하는 지원을 AWS ParallelCluster 도입했습니다. 자세한 내용은 [`Imds` 속성](HeadNode-v3.md#HeadNode-v3-Imds.properties) 단원을 참조하십시오.