View a markdown version of this page

步驟 3:建立啟動範本並將其連接至運算環境 - AWS Batch

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

步驟 3:建立啟動範本並將其連接至運算環境

當執行個體啟動時,user-data指令碼會自動安裝 Fluent Bit、從 IMDSv2 擷取執行個體 ID、從 Amazon S3 同步組態,以及啟動Fluent Bit服務。如需啟動範本的詳細資訊,請參閱 搭配 使用 Amazon EC2 啟動範本 AWS Batch。如需 IMDS 組態的詳細資訊,請參閱 執行個體中繼資料服務 (IMDS) 組態

如需範例user-data指令碼,請參閱配套 GitHub 儲存庫。將 launch-template-userdata-minimal.txt 檔案用於您的啟動範本。此檔案會排除註解以縮減user-data大小。launch-template-userdata.txt 檔案是註解版本以供參考。使用前請在範本中取代下列預留位置:

  • <BUCKET_NAME> – Amazon S3 儲存貯體的名稱。

  • <FLUENT_BIT_VERSION> – 要安裝的Fluent Bit版本。保留空白以安裝最新的可用版本。

先決條件
AWS Console

建立啟動範本:

  1. 前往 https://console.aws.amazon.com/ec2/ 開啟 Amazon EC2 主控台。

  2. 在導覽窗格中,選擇 Launch Templates (啟動範本)

  3. 選擇 Create launch template (建立啟動範本)。

  4. 針對啟動範本名稱,輸入名稱,例如 batch-host-logs

  5. 展開 Advanced Details (進階詳細資訊)。

  6. 針對 Metadata version (中繼資料版本),選擇 V2 only (token required) (僅限 V2 (需要權杖))。

  7. 針對中繼資料回應跳轉限制,輸入 2

  8. 捲動至使用者資料,並從配套 GitHub 儲存庫貼上user-data指令碼。將 取代<BUCKET_NAME>為您的儲存貯體名稱。<FLUENT_BIT_VERSION> 將 取代為您想要的Fluent Bit版本,或將最新版本保留空白。

  9. 選擇 Create launch template (建立啟動範本)。

建立運算環境:

  1. 在 https://https://console.aws.amazon.com/batch/ 開啟 AWS Batch 主控台。

  2. 在導覽窗格中,選擇 Compute environments (運算環境)。

  3. 選擇建立

  4. 針對運算環境組態,選擇 Amazon Elastic Compute Cloud (Amazon EC2)

  5. 針對協調類型,選擇管。

  6. 針對名稱,輸入名稱,例如 my-host-logs-ce

  7. 針對執行個體角色,選擇您在步驟 2 中更新或建立的執行個體角色,例如 ecsInstanceRole

  8. 選擇下一步

  9. 執行個體組態下,展開啟動範本,然後選取您建立的範本。

  10. 完成其餘欄位,然後選擇建立運算環境

AWS CLI

建立啟動範本。將user-data指令碼從配套 GitHub 儲存庫儲存至檔案,並使用 base64 進行編碼:

aws ec2 create-launch-template \ --launch-template-name batch-host-logs \ --launch-template-data '{ "MetadataOptions": { "HttpTokens": "required", "HttpPutResponseHopLimit": 2 }, "UserData": "BASE64_ENCODED_USER_DATA" }'

使用啟動範本建立運算環境:

aws batch create-compute-environment \ --compute-environment-name my-host-logs-ce \ --type MANAGED \ --compute-resources '{ "type": "EC2", "minvCpus": 0, "maxvCpus": 256, "instanceTypes": ["optimal"], "subnets": ["subnet-12345678"], "securityGroupIds": ["sg-12345678"], "instanceRole": "arn:aws:iam::111122223333:instance-profile/ecsInstanceRole", "launchTemplate": { "launchTemplateName": "batch-host-logs", "version": "$Latest" } }'
注意

中繼資料回應跳轉限制在啟動範本2中設定為 ,因為在任務容器中執行的應用程式需要額外的網路跳轉才能到達 IMDSv2 端點。如果沒有此設定,來自容器的 IMDSv2 請求會失敗。