在 EC2 Windows 執行個體啟動期間,使用 EC2Launch v1 代理程式執行任務 - Amazon Elastic Compute Cloud

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

在 EC2 Windows 執行個體啟動期間,使用 EC2Launch v1 代理程式執行任務

Amazon 受管 AMIs Windows Server 2016 和 2019 包含一組名為 EC2Launch 的 Windows Powershell 指令碼。EC2Launch 會在初始執行個體開機期間執行任務。如需包含在 AWS Windows AMIs 中的 EC2Launch 版本資訊,請參閱 AWS Windows AMI 參考。若要檢視每個 AWS Windows AMIs 版本的變更,請參閱 AWS Windows AMI 版本歷史記錄

注意

Windows Server 2016 和更新作業系統版本的最新啟動代理程式為 EC2Launch v2,可取代 EC2Config 和 EC2Launch,並使用開頭為 的名稱預先安裝在 AWS Windows Server 2016 和 2019 AMIs 上EC2LaunchV2-Windows_Server-*。您也可以使用 遷移到 EC2Launch v2 移轉工具,或在 Windows Server 2016 和 2019 手動安裝及設定代理程式。

為了搭配使用 EC2Launch 與 IMDSv2,版本必須為 1.3.2002730 或以上版本。

您可以使用下列 Windows PowerShell 命令可確認已安裝的 EC2Launch 版本。

Test-ModuleManifest -Path "C:\ProgramData\Amazon\EC2-Windows\Launch\Module\Ec2Launch.psd1" | Select Version

EC2Launch 任務

根據預設,EC2Launch 會在初始執行個體開機期間執行下列任務:

  • 設定呈現執行個體資訊的新桌面。

  • 將電腦名稱設定為執行個體私有 IPv4 地址。

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

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

  • 為管理員帳戶設定隨機密碼。

  • 新增 DNS 尾碼。

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

  • 執行使用者資料 (若指定)。如需指定使用者資料的詳細資訊,請參閱當使用使用者資料輸入啟動 EC2 執行個體時執行命令

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

    重要

    如果從這個執行個體建立自訂 AMI,則會擷取這些路由做為作業系統組態的一部分,任何從該 AMI 啟動的新執行個體會保留相同路由,而不論子網放置何處。若要更新路由,請參閱啟動自訂 AMI 時更新 Server 2016 和更新版本的中繼資料/KMS 路由

下列任務可協助維護與 EC2Config 服務回溯相容的功能。您也可以設定 EC2Launch 在啟動期間執行這些任務:

  • 初始化輔助 EBS 磁碟區。

  • 傳送 Windows 事件日誌到 EC2 主控台日誌。

  • 傳送「Windows 已可使用」訊息到 EC2 主控台。

EC2Launch 目錄結構

根據預設,EC2Launch 會安裝於根目錄 C:\ProgramData\Amazon\EC2-Windows\Launch 中的 Windows Server 2016 和更新版本 AMI。

注意

根據預設,Windows 會將檔案和資料夾隱藏在 C:\ProgramData 下。若要檢視 EC2Launch 目錄和檔案,您必須在 Windows 檔案總管中輸入路徑或變更資料夾屬性,才可顯示隱藏的檔案和資料夾。

Launch 目錄包含下列子目錄。

  • Scripts – 含有構成 EC2Launch 的 PowerShell 指令碼。

  • Module – 含有建置 Amazon EC2 相關指令碼的模組。

  • Config – 含有您可以自訂的指令碼組態檔案。

  • Sysprep – 含有 Sysprep 資源。

  • Settings – 含有 Sysprep 圖形使用者介面的應用程式。

  • Library - 包含 EC2 啟動代理程式的共用程式庫。

  • Logs – 含有指令碼產生的日誌檔案。

遙測

遙測是額外資訊,有助於 AWS 更了解您的需求、診斷問題和提供功能,以改善您的 AWS 服務體驗。

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

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

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

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

收集資料的範例:

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 會傳送遙測資料,而不會傳送其他通知給客戶。

您選擇啟用或停用遙測收集。

您可以選擇加入或退出遙測收集。您選取加入或退出遙測收集,以確保我們遵守您的遙測選項。

遙測可見性

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

2021/07/15 21:44:12Z: Telemetry: <Data>
停用執行個體的遙測

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

setx /M EC2LAUNCH_TELEMETRY 0

若要在安裝期間停用遙測,請執行 install.ps1,如下所示:

. .\install.ps1 -EnableTelemetry:$false