EC2Launch v2 概觀 - Amazon Elastic Compute Cloud

EC2Launch v2 概觀

EC2Launch v2 是一種服務,可在執行個體啟動期間執行任務,並在執行個體停止並稍後啟動或重新啟動時執行。

注意

為了將 EC2Launch 與 IMDSv2 搭配使用,版本必須為 1.3.2002730 或更高版本。

比較 Amazon EC2 啟動服務

下表顯示了 EC2Config、EC2Launch v1 和 EC2Launch v2 之間的主要功能差異。

功能 EC2Config EC2Launch v1 EC2Launch v2
執行身分 Windows 服務

PowerShell 指令碼

Windows 服務
支援

Windows 2003

Windows 2008

Windows 2008 R2

Windows 2012

Windows 2012 R2

Windows 2016

Windows 2019 (LTSC 和 SAC)

Windows 2008

Windows 2008 R2

Windows 2012

Windows 2012 R2

Windows 2016

Windows 2019 (LTSC 和 SAC)

Windows 2022

組態檔案

XML XML

YAML

設定管理員使用者名稱

使用者資料大小

16 KB 16 KB

60 KB (壓縮)

在 AMI 上預製的本機使用者資料

是,不可設定。
使用者資料中的任務組態

可設定桌布

自訂工作執行順序

可設定的工作

15

9

啟動時為 20 個

支援 Windows 事件檢視器

事件檢視器事件類型的數目

2

0

30

EC2Launch v2 概念

考慮 EC2Launch v2 時,下列概念有助於理解。

任務

您可以呼叫工作,以在執行個體上執行動作。如需 EC2Launch v2 可用任務的完整清單,請參閱 EC2Launch v2 任務。每個工作都包括一組可以執行的階段、定義的頻率和輸入。您可以在 agent-config 檔案中或透過 user-data 設定工作。

階段

階段是由服務執行的工作邏輯群組。某些工作只能在特定階段中執行。其他人可以在多個階段運行。使用本機資料時,您必須指定工作執行的階段。使用使用者資料時,系統會隱含此階段。

下列清單顯示階段的執行順序:

  1. 開機

  2. 網路

  3. 預備就緒

  4. 後備就緒

  5. UserData

頻率

工作頻率是用來排程工作應執行的時間,視開機內容而定。

可以指定下列頻率:

  • 一次 – 當 AMI 已經第一次啟動執行任務一次 (完成 Sysprep)。

  • 始終 – 在每次啟動代理程式執行時,任務都會執行。啟動代理程式會執行於下列時間:

    • 執行個體啟動或重新啟動

    • 執行 EC2Launch 服務

    • EC2Launch.exe run 被叫用

agent-config

agent-config 是位於 EC2Launch v2 組態資料夾中的檔案。它包括開機、網路、預備就緒和後備就緒階段的組態。此檔案用於指定執行個體的組態,以便在 AMI 第一次啟動或後續啟動時執行的工作。

依預設,EC2Launch v2 安裝會安裝一個 agent-config 檔案,它包含標準 Amazon Windows AMI 中使用的推薦組態。您可以更新該組態檔案,以變更 EC2Launch v2 指定的 AMI 的預設開機經驗。

使用者資料

使用者資料是啟動執行個體時可設定的資料。您可以更新使用者資料,以動態變更自訂 AMI 或快速入門 AMI 的設定方式。EC2Launch v2 支援 60 kB 的使用者資料輸入長度。使用者資料只包含 UserData 階段,因此在 agent-config 檔案之後執行。您可以在使用啟動執行個體精靈啟動執行個體時輸入使用者資料,也可以從 EC2 主控台修改使用者資料。如需處理使用者資料的資訊,請參閱 在您的 Windows 執行個體啟動時執行命令

EC2Launch v2 任務

EC2Launch v2 可以在每次開機時執行下列任務:

  • 設定新的和選擇性的自訂桌布來呈現執行個體的相關資訊。

  • 設定在本機電腦上建立的系統管理員帳戶的屬性。

  • 將 DNS 尾碼新增至搜尋尾碼清單。只有不存在的尾碼才會加入到清單中。

  • 為任何額外的磁碟區設定磁碟機代號,並將它們延伸至使用可用空間。

  • 從網際網路或組態將檔案寫入磁碟。如果內容在組態中,它可以被 base64 解碼或編碼。如果內容來自網際網路,則可以解壓縮。

  • 從網際網路或組態執行指令碼。如果指令碼來自組態,則可以對 base64 進行解碼。如果指令碼來自網際網路,則可以解壓縮。

  • 執行具有指定參數的程序。

  • 設定電腦名稱。

  • 將執行個體資訊傳送到 Amazon EC2 主控台。

  • 傳送 RDP 憑證指紋到 EC2 主控台。

  • 動態擴充作業系統的分割區,以包含任何尚未分割的空間。

  • 執行使用者資料。如需指定使用者資料的詳細資訊,請參閱EC2Launch v2 任務組態

  • 設定非持久性靜態路由以到達中繼資料服務和 AWS KMS 伺服器。

  • 將非開機磁碟分割設定為 MBR 或 GPT。

  • 依照 Sysprep 開始 Systems Manager (SSM) 服務。

  • 最佳化 ENA 設定。

  • 為更新的 Windows 版本啟用開啟 SSH。

  • 啟用巨型訊框。

  • 將 Sysprep 設定為在 EC2Launch v2 中執行。

  • 發佈 Windows 事件日誌。

遙測

遙測是其他資訊,可以幫助 AWS 進一步了解您的需求、診斷問題,並提供功能以改善您使用 AWS 服務的體驗。

EC2Launch v2 版本 2.0.592 及更新版本會收集遙測,例如用量指標和錯誤。這些資料是從執行 EC2Launch v2 的 Amazon EC2 執行個體中收集的資料。這包括由 AWS 擁有的所有 Windows AMI。

EC2Launch v2 會收集下列類型的遙測:

  • 用量資訊 – 代理程式命令、安裝方法和排程的執行頻率。

  • 錯誤和診斷資訊 – 代理程式安裝和執行錯誤代碼。

收集資料的範例:

2021/07/15 21:44:12Z: EC2LaunchTelemetry: IsAgentScheduledPerBoot=true 2021/07/15 21:44:12Z: EC2LaunchTelemetry: IsUserDataScheduledPerBoot=true 2021/07/15 21:44:12Z: EC2LaunchTelemetry: AgentCommandCode=1 2021/07/15 21:44:12Z: EC2LaunchTelemetry: AgentCommandErrorCode=5 2021/07/15 21:44:12Z: EC2LaunchTelemetry: AgentInstallCode=2 2021/07/15 21:44:12Z: EC2LaunchTelemetry: AgentInstallErrorCode=0

預設為啟用遙測。您可隨時停用遙測收集。如果啟用遙測,EC2Launch v2 會傳送遙測資料,而不會傳送其他通知給客戶。

遙測可見性

啟用遙測時,它會在 Amazon EC2 主控台輸出中顯示,如下所示:

2021/07/15 21:44:12Z: Telemetry: <Data>

停用執行個體的遙測

若要停用單一執行個體的遙測,您可以設定系統環境變數,或使用 MSI 來修改安裝。

若要藉由設定系統環境變數來停用遙測,請以管理員身分執行下列命令:

setx /M EC2LAUNCH_TELEMETRY 0

若要使用 MSI 來停用遙測,請在您下載 MSI 後執行以下命令:

msiexec /i ".\AmazonEC2Launch.msi" Remove="Telemetry" /q