

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

# 使用 AWS PCS 的 Amazon EC2 使用者資料
<a name="working-with_ec2-user-data"></a>

您可以在執行個體啟動時`cloud-init`執行的啟動範本中提供 EC2 使用者資料。具有內容類型的使用者資料區塊會在執行個體向 AWS PCS API 註冊之前`cloud-config`執行，而具有內容類型的使用者資料區塊會在註冊完成後，但在 Slurm 協助程式啟動之前`text/x‑shellscript`執行。如需內容類型的詳細資訊，請參閱 [cloud-init](https://cloudinit.readthedocs.io/en/latest/explanation/format.html) 文件。

我們的使用者資料可以執行常見的組態案例，包括但不限於下列項目：
+  [ 包含使用者或群組 ](https://cloudinit.readthedocs.io/en/latest/topics/examples.html#including-users-and-groups) 
+  [ 安裝套件 ](https://cloudinit.readthedocs.io/en/latest/topics/examples.html#install-arbitrary-packages) 
+  [ 建立分割區和檔案系統 ](https://cloudinit.readthedocs.io/en/latest/topics/examples.html#create-partitions-and-filesystems) 
+  掛載網路檔案系統 

 啟動範本中的使用者資料必須採用 [MIME 分段封存](https://cloudinit.readthedocs.io/en/latest/topics/format.html#mime-multi-part-archive)格式。這是因為您的使用者資料會與節點群組中設定節點所需的其他 AWS PCS 使用者資料合併。您可以將多個使用者資料區塊組合在一起成為單一 MIME 分段檔案。

 MIME 分段檔案包含下列元件：
+  內容類型和部分邊界宣告：`Content-Type: multipart/mixed; boundary="==BOUNDARY=="`
+  MIME 版本宣告：`MIME-Version: 1.0`
+  一或多個使用者資料區塊，其中包含下列元件：
  +  發出使用者資料區塊開頭訊號的開啟界限：`--==BOUNDARY==`。您必須在此邊界之前保留該行空白。
  +  區塊的內容類型宣告： `Content-Type: text/cloud-config; charset="us-ascii"`或 `Content-Type: text/x-shellscript; charset="us-ascii"`。您必須在內容類型宣告後保留該行空白。
  +  使用者資料的內容，例如 shell 命令或`cloud-config`指令的清單。
+  發出 MIME 分段檔案結尾訊號的結束界限：`--==BOUNDARY==--`。您必須在關閉界限之前將行保留空白。

**注意**  
 如果您在 Amazon EC2 主控台中將使用者資料新增至啟動範本，您可以將其貼上為純文字。或者，您可以從檔案上傳。如果您使用 AWS CLI 或 AWS 開發套件，您必須先對使用者資料進行 base64 編碼，並在呼叫 [CreateLaunchTemplate](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateLaunchTemplate.html) 時提交該字串做為 `UserData` 參數的值，如此 JSON 檔案所示。

```
{
    "LaunchTemplateName": "base64-user-data",
    "LaunchTemplateData": {
        "UserData": "ewogICAgIkxhdW5jaFRlbXBsYXRlTmFtZSI6ICJpbmNyZWFzZS1jb250YWluZXItdm9sdW..."
    }
}
```

**範例**
+ [範例：從套件儲存庫安裝軟體](working-with_ec2-user-data_repo.md)
+ [範例：從 S3 儲存貯體執行指令碼](working-with_ec2-user-data_s3.md)
+ [範例：設定全域環境變數](working-with_ec2-user-data_env.md)
+ [搭配 AWS PCS 使用網路檔案系統](working-with_file-systems.md)
+ [範例：使用 EFS 檔案系統做為共用主目錄](working-with_ec2-user-data_efs.md)