

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

# Amazon S3 を使用して PCS に CLI AWS フィルタプラグインスクリプトをデプロイする
<a name="slurm-cli-filter-plugins-deploy-s3"></a>

AMIs を再構築せずにライブクラスターでジョブ送信ロジックを更新する場合は、S3 を使用して CLI フィルタプラグインスクリプトをデプロイします。このアプローチは、ユーザーデータを使用してインスタンスの起動中に S3 からスクリプトをダウンロードします。

## 前提条件
<a name="slurm-cli-filter-plugin-deploy-s3-prerequisites"></a>

S3 を使用してスクリプトをデプロイする前に、以下のタスクを完了します。
+ CLI Filter Plugin Lua スクリプトを使用して S3 バケットを作成する
+ S3 バケットへの読み取りアクセス権を持つ IAM インスタンスプロファイルを設定する
+ インターネットなしで直接アクセスするように S3 VPC Gateway エンドポイントを設定する
+ S3 からダウンロードするユーザーデータスクリプトを準備する

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

1. `cli_filter.lua` スクリプトを S3 バケットにアップロードします。

1. バケットの S3 読み取りアクセス許可を使用して IAM インスタンスプロファイルを設定します。

1. 起動テンプレートの user-data にシェルコードを追加して、スクリプトをダウンロードします。

   ```
   aws s3 cp s3://my-bucket/cli_filter.lua /etc/aws/pcs/scheduler/slurm-24.11/cli_filter.lua
   chmod 644 /etc/aws/pcs/scheduler/slurm-24.11/cli_filter.lua
   ```

1. 更新された起動テンプレートを使用してコンピューティングノードグループをデプロイします。

1. ジョブの送信をテストして、スクリプトの機能を検証します。

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

S3 デプロイが完了したら、次の操作を行います。
+ CLI フィルタープラグインスクリプトは、起動時にすべてのインスタンスに自動的にダウンロードされます
+ S3 のスクリプト更新は、新しく起動されたインスタンスに反映されます。
+ ジョブ送信ポリシーはクラスター全体で一貫して適用されます。

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

**S3 アクセスが拒否されました**  
**症状:** インスタンスの起動が失敗するか、スクリプトがダウンロードされません。  
**考えられる原因:** IAM アクセス許可または S3 VPC エンドポイントがない。  
**解決策:** IAM インスタンスプロファイルに `s3:GetObject` アクセス許可があり、S3 VPC エンドポイントが設定されていることを確認します。