

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# で最初のジョブを実行する 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
```

**注記**  
 AWS リージョン 使用する は、ほとんどの`pcluster`コマンドで指定する必要があります。`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]
```

 出力には、クラスターに 1 つのキューがあり、最大 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 を構築します[カスタム AMI AWS ParallelCluster の構築](building-custom-ami-v3.md)。
+  AWS ParallelCluster 設定ファイルの [StorageSettings](SharedStorage-v3.md) オプションを使用して共有ファイルシステムを指定し、インストールしたソフトウェアを指定されたマウント場所に保存します。
+ [カスタムブートストラップアクション](custom-bootstrap-actions-v3.md) を使用して、クラスターの各ノードのブートストラップ手順を自動化します。