

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

# AMI のパッチ適用と Amazon EC2 インスタンスの置換
<a name="instance-updates-ami-patch-v3"></a>

動的に起動されたすべてのクラスターコンピューティングノードが一貫した方法で動作するように、 はクラスターインスタンスの自動 OS 更新 AWS ParallelCluster を無効にします。さらに、 AWS ParallelCluster および関連する CLI のバージョンごとに特定の AWS ParallelCluster AMIs セットが構築されます。この特定の AMIs セットは変更されず、リリースされた AWS ParallelCluster バージョンの AWS ParallelCluster AMIs 用に構築されたバージョンでのみサポートされます。AMI は更新されません。

ただし、緊急のセキュリティ問題により、お客様はこれらの AMI にパッチを追加し、パッチが適用された AMI でクラスターを更新したい場合があります。これは[AWS ParallelCluster 責任共有モデル](security.md)と一致しています。

現在使用している CLI AWS ParallelCluster バージョンでサポートされている特定の AWS ParallelCluster AMIs のセットを表示するには、以下を実行します。

```
$ pcluster version
$ pcluster list-official-images
```

 AWS ParallelCluster ヘッドノードは静的インスタンスであり、手動で更新できます。ヘッドノードの再起動と再起動は、 AWS ParallelCluster バージョン 3.0.0 以降で完全にサポートされています。

インスタンスにエフェメラルインスタンスストアがある場合は、手動で更新する前に必ずインスタンスストアデータを保存する必要があります。詳細については、「Linux インスタンス用 Amazon EC2 ユーザーガイド**」の「[`HeadNode`](HeadNode-v3.md)/[`LocalStorage`](HeadNode-v3.md#HeadNode-v3-LocalStorage)/[`EphemeralVolume`](HeadNode-v3.md#yaml-HeadNode-LocalStorage-EphemeralVolume) クラスター設定」と「[インスタンスストアボリュームによるインスタンスタイプ](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html#instance-store-volumes)」を参照してください。

コンピューティングノードはエフェメラルインスタンスです。デフォルトでは、ヘッドノードからのみアクセスできます。 AWS ParallelCluster バージョン 3.0.0 以降では、 でコンピューティングフリートを停止した後、/[`Scheduling`](Scheduling-v3.md)[`SlurmQueues`](Scheduling-v3.md#Scheduling-v3-SlurmQueues)/// [`Image`](Scheduling-v3.md#Scheduling-v3-SlurmQueues-Image) [`CustomAmi`](Scheduling-v3.md#yaml-Scheduling-SlurmQueues-Image-CustomAmi)パラメータを変更して [`pcluster update-cluster`](pcluster.update-cluster-v3.md) コマンドを実行することで、コンピューティングインスタンスに関連付けられた AMI を更新できます[`pcluster update-compute-fleet`](pcluster.update-compute-fleet-v3.md)。

```
$ pcluster update-compute-fleet-status --status STOP_REQUESTED
```

以下の方法のいずれかを使用して、コンピューティングノード用の更新されたカスタム AMI の作成を自動化できます。
+ [`pcluster build-image`](pcluster.build-image-v3.md) コマンドを、更新された [Build](Build-v3.md)/[`ParentImage`](Build-v3.md#yaml-build-image-Build-ParentImage) と共に使用する。
+ [`Build`](Build-v3.md)/[`UpdateOsPackages`](Build-v3.md#Build-v3-UpdateOsPackages)/[`Enabled`](Build-v3.md#yaml-build-image-Components-UpdateOsPackages-Enabled): `true` を使用してビルドを実行する。

## ヘッドノードインスタンスの更新または交換
<a name="instance-updates-headnode-v3"></a>

状況によっては、ヘッドノードの再開または再起動が必要になることがあります。例えば、OS を手動で更新する場合や、ヘッドノードインスタンスの再起動を強制する [AWS インスタンスのリタイアの予定](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-retirement.html)がある場合などに必要です。

インスタンスにエフェメラルドライブがない場合は、その後いつでも再び起動できます。リタイアが予定されている場合、停止したインスタンスを起動すると、新しいハードウェアを使用するように移行されます。

同様に、インスタンスストアがないインスタンスは手動で停止して起動できます。この場合や、エフェメラルボリュームのない他のインスタンスについては、[クラスターのヘッドノードを停止して起動する](#instance-headnode-stop-start-v3) に進んでください。

インスタンスにエフェメラルドライブがあり、停止されている場合、インスタンスストアのデータは失われます。ヘッドノードに使用されているインスタンスタイプにインスタンスストアがあるかどうかは、[インスタンスストアボリューム](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html#instance-store-volumes)にあるテーブルで確認できます。

## エフェメラルドライブからデータを保存する
<a name="instance-updates-save-data-v3"></a>

 AWS ParallelCluster バージョン 3.0.0 以降、ヘッドノードの再起動と再起動はすべてのインスタンスタイプで完全にサポートされています。ただし、インスタンスにエフェメラルドライブがあると、そのデータは失われます。ヘッドノードを再開または再起動する前に、次の手順に従ってデータを保存します。

保存する必要のあるデータがあるかどうかを確認するには、[`EphemeralVolume`](HeadNode-v3.md#yaml-HeadNode-LocalStorage-EphemeralVolume)/[`MountDir`](HeadNode-v3.md#yaml-HeadNode-LocalStorage-EphemeralVolume-MountDir) フォルダー (デフォルトは `/scratch`) の内容を確認します。

データは、ルートボリュームまたはクラスターに接続されている共有ストレージシステム (Amazon FSx、Amazon EFS、Amazon EBS など) に転送できます。リモートストレージへのデータ転送には追加コストが発生する可能性があることに注意してください。

データを保存したら、続けて、[クラスターのヘッドノードを停止して起動する](#instance-headnode-stop-start-v3) を行います。

## クラスターのヘッドノードを停止して起動する
<a name="instance-headnode-stop-start-v3"></a>

1. クラスターに実行中のジョブがないことを確認します。

   Slurm スケジューラーを使用する場合。
   + `sbatch` `--no-requeue` オプションが指定されていない場合、実行中のジョブはキューに入れられます。
   + `--no-requeue` オプションを指定すると、実行中のジョブは失敗します。

1. クラスターコンピューティングフリートの停止を要求します。

   ```
   $ pcluster update-compute-fleet --cluster-name cluster-name --status STOP_REQUESTED
   {
     "status": "STOP_REQUESTED",
     ...
   }
   ```

1. コンピューティングフリートのステータスが `STOPPED` になるまで待ちます。

   ```
   $ pcluster update-compute-fleet --cluster-name cluster-name --status STOP_REQUESTED
   {
     "status": "STOPPED",
     ...
   }
   ```

1. OS の再起動またはインスタンスの再起動による手動更新には、 AWS マネジメントコンソール または を使用できます AWS CLI。以下に示しているのは、 AWS CLIを使用した例です。

   ```
   # Retrieve head node instance id
   $ pcluster describe-cluster --cluster-name cluster-name --status STOP_REQUESTED
   {
     "headNode": {
     "instanceId": "i-1234567890abcdef0",
     ...
   },
     ...
   }
   # stop and start the instance
   $ aws ec2 stop-instances --instance-ids 1234567890abcdef0
   {
     "StoppingInstances": [
       {
         "CurrentState": {
           "Name": "stopping"
           ...
         },
         "InstanceId": "i-1234567890abcdef0",
         "PreviousState": {
           "Name": "running"
           ...
         }
       }
     ]
   }
   $ aws ec2 start-instances --instance-ids 1234567890abcdef0
   {
     "StartingInstances": [
       {
         "CurrentState": {
           "Name": "pending"
           ...
         },
         "InstanceId": "i-1234567890abcdef0",
         "PreviousState": {
           "Name": "stopped"
           ...
         }
       }
     ]
   }
   ```

1. クラスターコンピューティングフリートの開始。

   ```
   $ pcluster update-compute-fleet --cluster-name cluster-name --status START_REQUESTED
   {
     "status": "START_REQUESTED",
     ...
   }
   ```