使用 Amazon EC2 用戶數據 - AWS PCS

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

使用 Amazon EC2 用戶數據

您可以在執cloud-init行個體啟動時執行的啟動範本中提供EC2使用者資料。具有內容類型的使用者資料區塊會在cloud-config執行個體註冊前執行 AWS PCSAPI,而具有內容類型的使用者資料區塊會在註冊完成後text/x‑shellscript執行,但在 Slurm 精靈啟動之前執行。如需內容類型的詳細資訊,請參閱 cloud-init 文件。

我們的用戶數據可以執行常見的配置方案,包括但不限於以下內容:

啟動範本中的使用者資料必須採用MIME多部分封存格式。這是因為您的使用者資料會與設定節點群組中的節點所需的其他 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 SDK,則必須先 base64 對使用者資料進行編碼,並在呼叫時將該字串作為UserData參數值提交 CreateLaunchTemplate,如此JSON檔案所示。

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