

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

# 在 EC2 Windows 執行個體啟動期間，使用 EC2Launch v1 代理程式執行任務
<a name="ec2launch"></a>

適用於 Windows Server 2016 與 2019 的 Amazon 受管 AMI 包括名稱為 EC2Launch 的 Windows Powershell 指令碼集。EC2Launch 會在初始執行個體開機期間執行任務。如需有關包含在 AWS Windows AMIs 中的 EC2Launch 版本的資訊，請參閱 [AWS Windows AMI 參考](https://docs.aws.amazon.com/ec2/latest/windows-ami-reference/windows-amis.html)。

**注意**  
Windows Server 2016 及更新作業系統版本的最新啟動代理程式為 EC2Launch v2，可取代 EC2Config 和 EC2Launch，並預先安裝於 AWS Windows Server 2016 與 2019 AMI，且名詞以 `EC2LaunchV2-Windows_Server-*` 開始。您亦可在 Windows Server 2016 與 2019 上手動安裝及設定代理程式。如需詳細資訊，請參閱[安裝 EC2Launch v2](ec2launch-v2-install.md)。  
為了搭配使用 EC2Launch 與 IMDSv2，版本必須為 1.3.2002730 或以上版本。

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

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

## EC2Launch 任務
<a name="ec2launch-tasks"></a>

根據預設，EC2Launch 會在初始執行個體開機期間執行下列任務：
+ 設定呈現執行個體資訊的新桌面。
+ 將電腦名稱設定為執行個體私有 IPv4 地址。
+ 傳送執行個體資訊到 Amazon EC2 主控台。
+ 傳送 RDP 憑證指紋到 EC2 主控台。
+ 為管理員帳戶設定隨機密碼。
+ 新增 DNS 尾碼。
+ 動態擴充作業系統分割區，以包含任何未分割的空間。
+ 執行使用者資料 (若指定)。如需指定使用者資料的詳細資訊，請參閱[當使用使用者資料輸入啟動 EC2 執行個體時執行命令](user-data.md)。
+  設定持續性靜態路由以到達中繼資料服務和 AWS KMS 伺服器。
**重要**  
如果從這個執行個體建立自訂 AMI，則會擷取這些路由做為作業系統組態的一部分，任何從該 AMI 啟動的新執行個體會保留相同路由，而不論子網放置何處。若要更新路由，請參閱[啟動自訂 AMI 時更新 Server 2016 和更新版本的中繼資料/KMS 路由](ec2launch-sysprep.md#update-metadata-KMS)。

下列任務可協助維護與 EC2Config 服務回溯相容的功能。您也可以設定 EC2Launch 在啟動期間執行這些任務：
+ 初始化輔助 EBS 磁碟區。
+ 傳送 Windows 事件日誌到 EC2 主控台日誌。
+ 傳送「Windows 已可使用」**訊息到 EC2 主控台。

## EC2Launch 目錄結構
<a name="ec2launch-directories"></a>

根據預設，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 啟動代理程式的共用程式庫。
+ `Log` – 包含指令碼的子目錄與指令碼產生的日誌檔案。

## 遙測
<a name="ec2launch-telemetry"></a>

遙測是其他資訊，有助於 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
```

**Topics**
+ [EC2Launch 任務](#ec2launch-tasks)
+ [EC2Launch 目錄結構](#ec2launch-directories)
+ [遙測](#ec2launch-telemetry)
+ [安裝最新版本的 EC2Launch](ec2launch-download.md)
+ [在 Windows 執行個體設定 EC2Launch v1 代理程式](ec2launch-config.md)
+ [EC2Launch 版本歷史記錄](ec2launch-version-details.md)