

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

# 에서 첫 번째 작업 실행 AWS ParallelCluster
<a name="tutorials-running-your-first-job-on-version-3"></a>

이 자습서에서는에서 첫 번째 Hello World 작업을 실행하는 방법을 안내합니다. AWS ParallelCluster

 AWS ParallelCluster 명령줄 인터페이스(CLI) 또는 API를 사용하는 경우 AWS ParallelCluster 이미지 및 클러스터를 생성하거나 업데이트할 때 생성된 AWS 리소스에 대해서만 비용을 지불합니다. 자세한 내용은 [AWS 에서 사용하는 서비스 AWS ParallelCluster](aws-services-v3.md) 단원을 참조하십시오.

**사전 조건**
+ AWS ParallelCluster [가 설치](install-v3-parallelcluster.md)됩니다.
+ 설치 AWS CLI [및 구성됩니다.](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html)
+ [Amazon EC2 키 페어](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html)가 있는 경우.
+ [`pcluster`](pcluster-v3.md) CLI를 실행하는 데 필요한 [권한](iam-roles-in-parallelcluster-v3.md#iam-roles-in-parallelcluster-v3-example-user-policies)을 가진 IAM 역할이 있습니다.

## 설치 확인
<a name="tutorial-1stjob-verify-install"></a>

 먼저 Node.js 종속성을 포함하여 AWS ParallelCluster 가 올바르게 설치 및 구성되었는지 확인합니다.

```
$ node --version
v16.8.0
$ pcluster version
{
  "version": "3.15.0"
}
```

그러면의 실행 중인 버전이 반환됩니다 AWS ParallelCluster.

## 첫 번째 클러스터 생성
<a name="tutorial-1stjob-first-cluster"></a>

이제 첫 번째 클러스터를 생성할 시간입니다. 이 자습서의 워크로드는 성능 집약적이 아니기 때문에 `t2.micro`의 기본 인스턴스 크기를 사용합니다. (프로덕션 워크로드의 경우 더 적합한 인스턴스 크기를 선택해야 합니다.) 클러스터 `hello-world`를 호출해 보겠습니다.

```
$ pcluster create-cluster \
    --cluster-name hello-world \
    --cluster-configuration hello-world.yaml
```

**참고**  
대부분의 `pcluster` 명령에 사용할 AWS 리전 를 지정해야 합니다. `AWS_DEFAULT_REGION` 환경 변수나 `~/.aws/config` 파일 `[default]` 섹션의 `region` 설정에 그것이 지정되지 않은 경우 `pcluster` 명령줄에 `--region` 파라미터를 제공해야 합니다.

구성에 대한 메시지가 출력되는 경우 다음을 실행하여 AWS ParallelCluster를 구성해야 합니다.

```
$ pcluster configure --config hello-world.yaml
```

 [`pcluster create-cluster`](pcluster.create-cluster-v3.md) 명령이 제대로 실행되면 다음과 비슷한 출력이 표시됩니다.

```
{
  "cluster": {
    "clusterName": "hello-world",
    "cloudformationStackStatus": "CREATE_IN_PROGRESS",
    "cloudformationStackArn": "arn:aws:cloudformation:xxx:stack/xxx",
    "region": "...",
    "version": "...",
    "clusterStatus": "CREATE_IN_PROGRESS"
  }
}
```

 다음을 사용하여 클러스터 생성을 모니터링합니다.

```
$ pcluster describe-cluster --cluster-name hello-world
```

 `clusterStatus`는 클러스터를 생성하는 동안 “`CREATE_IN_PROGRESS`”를 보고합니다. 클러스터가 성공적으로 생성되면 `clusterStatus`이 “`CREATE_COMPLETE`”로 전환됩니다. 출력은 헤드 노드의 `publicIpAddress` 및 `privateIpAddress`도 제공합니다.

## 헤드 노드에 로그인
<a name="tutorial-1stjob-logging-in-head-node"></a>

 OpenSSH pem 파일을 사용하여 헤드 노드에 로그인합니다.

```
$ pcluster ssh --cluster-name hello-world -i /path/to/keyfile.pem
```

 로그인되면 `sinfo` 명령을 실행하여 컴퓨팅 노드가 설정되고 구성되어 있는지 확인합니다.

```
$ sinfo
PARTITION AVAIL  TIMELIMIT  NODES  STATE NODELIST
queue1*      up   infinite     10  idle~ queue1-dy-queue1t2micro-[1-10]
```

 출력은 클러스터에 최대 10개의 노드로 구성된 대기열이 하나 있음을 보여줍니다.

## Slurm을 사용하여 첫 번째 작업 실행
<a name="tutorial-1stjob-first-slurm-job"></a>

이제 잠시 동안 대기한 다음 고유의 호스트 이름을 출력하는 작업을 생성합니다. 다음 콘텐츠를 통해 `hellojob.sh`라는 파일을 생성합니다.

```
#!/bin/bash
sleep 30
echo "Hello World from $(hostname)"
```

 그런 다음 `sbatch`를 사용하여 작업을 제출하고 작업이 실행되는지 확인합니다.

```
$ sbatch hellojob.sh
Submitted batch job 2
```

 이제 대기열을 보고 작업 상태를 확인할 수 있습니다. 새로운 Amazon EC2 인스턴스를 프로비저닝하는 작업은 백그라운드에서 시작됩니다. `sinfo` 명령을 사용하여 클러스터 인스턴스의 상태를 모니터링할 수 있습니다.

```
$ squeue
             JOBID PARTITION     NAME     USER ST       TIME  NODES NODELIST(REASON)
                 2    queue1 hellojob ec2-user CF       3:30      1 queue1-dy-queue1t2micro-1
```

 출력에는 작업이 `queue1`에 제출되었음을 보여줍니다. 작업이 완료될 때까지 30초 동안 기다린 후 `squeue`을 다시 실행합니다.

```
$ squeue
             JOBID PARTITION     NAME     USER ST       TIME  NODES NODELIST(REASON)
```

 이제 대기열에 작업이 없으므로 현재 디렉터리에서 출력을 확인할 수 있습니다.

```
$ ls -l
total 8
-rw-rw-r-- 1 ec2-user ec2-user 57 Sep  1 14:25 hellojob.sh
-rw-rw-r-- 1 ec2-user ec2-user 43 Sep  1 14:30 slurm-2.out
```

 출력에는 “`out`” 파일이 표시됩니다. 작업의 출력이 표시됩니다.

```
$ cat slurm-2.out
Hello World from queue1-dy-queue1t2micro-1
```

출력에서는 작업이 `queue1-dy-queue1t2micro-1` 인스턴스에서 성공적으로 실행되었음을 보여줍니다.

방금 생성한 클러스터에서는 클러스터의 모든 노드에서 홈 디렉터리만 공유됩니다.

클러스터 생성 및 사용에 대해 자세히 알아보려면 [모범 사례](best-practices-v3.md) 섹션을 참조하세요.

애플리케이션에 공유 소프트웨어, 라이브러리 또는 데이터가 필요한 경우 다음 옵션을 고려해 보세요.
+ 에 설명된 대로 소프트웨어가 포함된 AWS ParallelCluster 활성화된 사용자 지정 AMI를 빌드합니다[사용자 지정 AWS ParallelCluster AMI 빌드](building-custom-ami-v3.md).
+  AWS ParallelCluster 구성 파일의 [StorageSettings](SharedStorage-v3.md) 옵션을 사용하여 공유 파일 시스템을 지정하고 설치된 소프트웨어를 지정된 탑재 위치에 저장합니다.
+ [사용자 지정 부트스트랩 작업](custom-bootstrap-actions-v3.md)를 사용하여 클러스터 각 노드의 부트스트랩 절차를 자동화할 수 있습니다.