

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 使用 Amazon S3 在 AWS PCS 中部署 CLI 篩選條件外掛程式指令碼
<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. 將 shell 程式碼新增至啟動範本使用者資料，以下載指令碼：

   ```
   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 Filter Plugin 指令碼會在啟動期間自動下載至所有執行個體
+ S3 中的指令碼更新反映在新啟動的執行個體上
+ 在整個叢集中一致地強制執行任務提交政策

## 疑難排解
<a name="slurm-cli-filter-plugin-deploy-s3-troubleshooting"></a>

**S3 存取遭拒**  
**徵狀：**執行個體啟動失敗或未下載指令碼。  
**可能原因：**缺少 IAM 許可或 S3 VPC 端點。  
**解決方案：**確認 IAM 執行個體描述檔具有`s3:GetObject`許可，並已設定 S3 VPC 端點。