

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

# PCS クラスターで Slurm CLI AWS フィルタープラグインを設定する
<a name="slurm-cli-filter-plugins-configure"></a>

新しい PCS クラスターを作成するときに CLI AWS フィルタープラグインを設定します。クラスターを再作成することなく、Update API またはコンソールを使用して、既存のクラスターで CLI フィルタープラグインを有効または無効にできます。

## 前提条件
<a name="slurm-cli-filter-plugins-configure-prerequisites"></a>

CLI フィルタープラグインを設定する前に、以下のタスクを完了してください。
+ CLI Filter Plugin API を実装する Lua スクリプトを記述してテストする
+ Lua スクリプトに正確に名前を付ける `cli_filter.lua`
+ スクリプトをすべてのクラスターインスタンス (AMI、S3、またはファイルシステム) にデプロイする方法を選択する
+ Slurm バージョン 24.11 以降を使用していることを確認します。

## 新しいクラスターで CLI フィルタープラグインを有効にする
<a name="slurm-cli-filter-plugins-configure-create"></a>

------
#### [ AWS PCS console ]

1. [https://console.aws.amazon.com/pcs/](https://console.aws.amazon.com/pcs/) で AWS PCS コンソールを開きます。

1. ナビゲーションペインで **[Clusters]** (クラスター) を選択してください。

1. **[クラスターを作成]** を選択します。

1. 有効なバージョンの Slurm (バージョン 24.11 以降) を選択します。

1. ス**ケジューラ設定**で、**追加のスケジューラ設定**を展開します。

1. **パラメータ名**を に設定`CliFilterPlugins`し、**パラメータ値を** に設定して、新しい Slurm カスタム設定を追加します`cli_filter/lua`。

1. 残りのクラスター設定を完了し、**[クラスターを作成]** を選択します。

------
#### [ AWS PCS API ]

`CreateCluster` API アクションの呼び出しで`slurmCustomSettings`設定を指定します。を `parameterName`に設定`CliFilterPlugins`し、 `parameterValue` を に設定します`cli_filter/lua`。詳細については、*AWS PCS API リファレンス*の[CreateCluster](https://docs.aws.amazon.com/pcs/latest/APIReference/API_CreateCluster.html)」を参照してください。

次の例では AWS CLI 、 を使用して `CreateCluster` API アクションを呼び出します。カスタム設定により、CLI フィルタープラグイン`CliFilterPlugins=cli_filter/lua`が有効になります。

```
aws pcs create-cluster --cluster-name {{cluster-name}} \
--scheduler type=SLURM,version=24.11 \
--size SMALL \
--networking subnetIds={{cluster-subnet-id}},securityGroupIds={{cluster-security-group-id}} \
--slurm-configuration \
'slurmCustomSettings=[{parameterName=CliFilterPlugins,parameterValue="cli_filter/lua"}]'
```

------

## CLI フィルタープラグインスクリプトをデプロイする
<a name="slurm-cli-filter-plugins-configure-deploy"></a>

**CLI フィルタープラグインスクリプトをクラスターにデプロイするには**

1. コンピューティングノードグループで使用されるすべての AMIs に、PCS Slurm インストーラを介して AWS Slurm がインストールされていることを確認します。
**注記**  
すべてのコンピューティングノードグループに AWS PCS サンプル AMI を使用する場合は、このステップをスキップします。Slurm は既にインストールされています。

1. クラスター内のすべてのインスタンス`/etc/aws/pcs/scheduler/slurm-<version>/cli_filter.lua`に`cli_filter.lua`スクリプトを にデプロイします。

   たとえば、Slurm バージョン 24.11 の場合:

   ```
   /etc/aws/pcs/scheduler/slurm-24.11/cli_filter.lua
   ```

1. 準備AMIs を使用して、すべてのログインノードとコンピューティングノードを起動します。

1. ジョブの送信をテストして、CLI フィルタープラグインが正しく実行されることを確認します。

## 既存のクラスターで CLI フィルタープラグインを有効または無効にする
<a name="slurm-cli-filter-plugins-configure-update"></a>

インフラストラクチャを再構築することなく、既存のクラスターで CLI フィルタープラグインを有効または無効にできます。詳細については、「[PCS AWS でのクラスターの更新](working-with_clusters_update.md)」を参照してください。

------
#### [ AWS PCS console ]

1. [https://console.aws.amazon.com/pcs/](https://console.aws.amazon.com/pcs/) で AWS PCS コンソールを開きます。

1. ナビゲーションペインで **[Clusters]** (クラスター) を選択してください。

1. 更新するクラスターを選択します。

1. **[アクションを編集]** を選択します。

1. クラスターの編集ページの**「追加のスケジューラ設定**」を参照してください。
   + CLI フィルタープラグインを有効にするには: **パラメータ名**を に設定`CliFilterPlugins`し、**パラメータ値を** に設定して、新しい Slurm カスタム設定を追加します`cli_filter/lua`。
   + CLI フィルタープラグインを無効にするには: 既存の`CliFilterPlugins`設定を削除します。

1. **クラスターの更新**を選択して変更を送信します。

1. クラスターのステータスをモニタリングします。これは、プロセス中に「更新」と表示され、更新が完了すると「アクティブ」と表示されます。

------
#### [ AWS PCS API ]

`UpdateCluster` API アクションを使用して、CLI フィルタープラグインを有効または無効にします。詳細については、*AWS PCS API リファレンス*の[UpdateCluster](https://docs.aws.amazon.com/pcs/latest/APIReference/API_UpdateCluster.html)」を参照してください。

既存のクラスターで CLI フィルタープラグインを有効にするには:

```
aws pcs update-cluster --cluster-identifier {{my-cluster}} \
--slurm-configuration \
'slurmCustomSettings=[{parameterName=CliFilterPlugins,parameterValue="cli_filter/lua"}]'
```

既存のクラスターで CLI フィルタープラグインを無効にするには:

```
aws pcs update-cluster --cluster-identifier {{my-cluster}} \
--slurm-configuration \
'slurmCustomSettings=[]'
```

------

## 予想される結果
<a name="slurm-cli-filter-plugin-configure-results"></a>

設定が完了したら、次の操作を行います。
+ クラスターは CLI フィルタープラグインを有効にして作成されます
+ ジョブの送信により、Slurm コントローラーに到達する前にカスタム検証ロジックがトリガーされます。
+ 非準拠ジョブはカスタムエラーメッセージで拒否されます
+ 準拠ジョブは Slurm スケジューラを介して正常に進行します。

## トラブルシューティング
<a name="slurm-cli-filter-plugin-configure-troubleshooting"></a>

**CLI フィルタプラグインスクリプトがノードにありません**  
**症状:** プラグインのロードエラーにより、ジョブの送信がすぐに失敗します。  
**考えられる原因:** スクリプトがすべてのインスタンスにデプロイされていないか、ファイルパスまたは名前が正しくありません。  
**解決策:** スクリプトが、正確なファイル名 を持つすべてのログインノードとコンピューティングノードに正しいパスに存在することを確認します`cli_filter.lua`。

**無効な CLI フィルタープラグイン設定**  
**症状:** クラスターの作成が検証エラーで失敗します。  
**考えられる原因: **`CliFilterPlugins`パラメータが `cli_filter/lua`形式に設定されていません。  
**解決策:** `cli_filter/lua`で正確なパラメータ値を使用します`slurmCustomSettings`。