

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

# 設定 Windows 執行個體的 EC2Launch v2 設定
<a name="ec2launch-v2-settings"></a>

本節包含有關如何進行 EC2Launch v2 設定的資訊。

**Topics**
+ [使用 EC2Launch v2 設定對話方塊變更設定](#ec2launch-v2-ui)
+ [使用 CLI 設定 EC2Launch v2](#ec2launch-v2-cli)
+ [EC2Launch v2 任務組態](#ec2launch-v2-task-configuration)
+ [EC2Launch v2 結束程式碼和重新啟動](#ec2launch-v2-exit-codes-reboots)
+ [EC2Launch v2 和 Sysprep](#ec2launch-v2-sysprep)

## 使用 EC2Launch v2 設定對話方塊變更設定
<a name="ec2launch-v2-ui"></a>

下列程序說明如何使用 EC2Launch v2 對話方塊啟用或停用設定。
**注意**  
如果您在 agent-config.yml 檔案中不當設定自訂任務，並嘗試開啟 Amazon EC2Launch 設定對話方塊，您將收到錯誤。有關架構範例，請參閱 [範例：`agent-config.yml`](#ec2launch-v2-example-agent-config)。

1. 啟動和連線至 Windows 執行個體。

1. 從「開始」功能表選擇**所有程式**,，然後瀏覽至 **EC2Launch 設定**。選擇**透過 Sysprep 關閉**或**不透過 Sysprep 關閉**之前，確認在執行關閉時儲存您想要套用的任何變更。  
![\[EC2 Launch 設定應用程式。\]](http://docs.aws.amazon.com/zh_tw/AWSEC2/latest/UserGuide/images/ec2launchv2-settings.png)

1. 在 **Ec2 服務屬性**對話方塊的**一般**索引標籤中，啟用或停用下列設定。

   1. **Set Computer Name** (設定電腦名稱)

      如果啟用此設定 (預設為停用)，則會在每次開機時將目前主機名稱與所需主機名稱進行比較。如果主機名稱不相符，則會重設主機名稱，然後系統會選擇性地重新開機以取得新的主機名稱。如果未指定自訂主機名稱，則會使用十六進位格式的私有 IPv4 地址產生名稱，例如：`ip-AC1F4E6`。若要避免現有的主機名稱遭到修改，請勿啟用此設定。

   1. **延伸開機磁碟區**

      此設定將動態擴充 `Disk 0`/`Volume 0`，以包含任何尚未分割的空間。此設定在執行個體是從自訂大小的根磁碟區啟動時很有用。

   1. **設定管理員帳戶**

      啟用後，您可以為本機電腦上建立的管理員帳戶設定使用者名稱和密碼屬性。如果未啟用此功能，遵循 Sysprep 的系統不會建立系統管理員帳戶。只有在 `adminPassword` 是 `adminPasswordtype` 時，才要在 `Specify` 中提供密碼。

      密碼類型的定義如下：

      1. `Random`

         EC2Launch 會產生密碼並以使用者金鑰將其加密。系統會在執行個體啟動後停用此設定，以便執行個體重新開機或停止再啟動時，能持續使用這個密碼。

      1. `Specify`

         EC2Launch 會使用您在 `adminPassword` 中指定的密碼 如果該密碼不符合系統要求，EC2Launch 會改為產生隨機密碼。系統會將該密碼以純文字存放於 `agent-config.yml`，並在 Sysprep 設定管理員密碼後予以刪除。EC2Launch 會以使用者金鑰加密該密碼。

      1. `Do not set`

         EC2Launch 會使用您在未使用的 .xml 檔案中指定的密碼。如果您未在 unattend.xml 中指定密碼，會停用管理員帳戶。

   1. **啟動 SSM 服務**

      選取此選項時，Systems Manager 服務會啟用，以啟動以下 Sysprep。EC2Launch v2 將執行[先前](ec2launch-v2.md#ec2launch-v2-tasks)所述的所有任務，而且 SSM Agent 將處理 Systems Manager 功能的請求，例如執行命令和狀態管理員。

      您可使用執行命令升級現有執行個體，以使用 EC2Launch v2 服務和 SSM Agent 的最新版本。若要了解詳細資訊，請參閱 *AWS Systems Manager 使用者指南*中的[使用執行命令更新 SSM 代理程式](https://docs.aws.amazon.com/systems-manager/latest/userguide/run-command-tutorial-update-software.html)。

   1. **最佳化 ENA**

      選取時，會設定 ENA 設定，以確保針對 ENA 接收端擴展和接收佇列深度設定進行最佳化 AWS。如需詳細資訊，請參閱[設定接收端擴展 CPU 親和性](enhanced-networking-os.md#windows-rss-cpu-affinity)。

   1. **啟用 SSH**

      此設定會啟用適用於較新版本 Windows 的 OpenSSH，以允許遠端系統管理。

   1. **啟用巨型訊框**

      選取以啟用「巨型訊框」。「巨型訊框」可能會對您的網路通訊產生意想不到的影響，因此在啟用之前，請務必了解「巨型訊框」對您的系統的影響。如需「巨型訊框」的詳細資訊，請參閱 [巨型訊框 (9001 MTU)](network_mtu.md#jumbo_frame_instances)。

   1. **準備建立映像**

      選取是否希望 EC2 執行個體在使用 Sysprep 的情況下關閉。當您想要使用 EC2Launch v2 執行 Sysprep 時，請選擇 **Shutdown with Sysprep** (使用 Sysprep 關機)。

1. 在**DNS 尾碼**標籤上，您可以選取是否要為 EC2 中執行之伺服器的 DNS 解析新增 DNS 尾碼清單，而不需提供完整網域名稱。DNS 尾碼可以包含變數 `$REGION` 和 `$AZ`。只有不存在的尾碼才會新增到清單中。  
![\[EC2 Launch 設定應用程式。\]](http://docs.aws.amazon.com/zh_tw/AWSEC2/latest/UserGuide/images/ec2launchv2-dns.png)

1. 在**桌布**索引標籤中，您可以使用背景圖片來設定執行個體桌布，並指定要顯示之桌布的執行個體詳細資訊。Amazon EC2 會在您每次登入時產生詳細資訊。

   您可以使用下列控制項來設定桌布。
   + **在桌布上顯示執行個體詳細資訊** - 此核取方塊會啟用或停用桌布上的執行個體詳細資訊顯示。
   + **圖片路徑 (.jpg)** - 指定要用作桌布背景的圖片路徑。
   + **選取要在桌布上顯示的屬性** - 選取要顯示在桌布上之執行個體詳細資訊的核取方塊。清除要從桌布中移除的先前選取的執行個體詳細資訊的核取方塊。
   + **在桌布上顯示執行個體標籤** - 選取下列其中一個設定以在桌布上顯示執行個體標籤：
     + **無** - 不在桌布上顯示任何執行個體標籤。
     + **顯示全部** - 在桌布上顯示所有執行個體標籤。
     + **顯示篩選結果** - 在桌布上顯示指定的執行個體標籤。當您選取此設定時，可以在**執行個體標籤篩選**方塊中新增您想要顯示在桌布上的執行個體標籤。
**注意**  
您必須在中繼資料中啟用標籤，才能在桌布上顯示標籤。如需有關執行個體標籤和中繼資料的詳細資訊，請參閱 [使用執行個體中繼資料檢視 EC2 執行個體的標籤](work-with-tags-in-IMDS.md)。  
![\[EC2 Launch 設定「桌布」索引標籤。\]](http://docs.aws.amazon.com/zh_tw/AWSEC2/latest/UserGuide/images/ec2launchv2-wallpaper-02.png)

1. 在**磁碟區**標籤上，選取是否要初始化連線至執行個體的磁碟區。啟用會設定任何額外磁碟區的磁碟機代號，並將它們延伸到使用可用空間。如果您選取**全部**，則會初始化所有儲存磁碟區。如果您選取**裝置**，則只會初始化清單中指定的裝置。您必須為每個要初始化的裝置輸入裝置。使用 EC2 主控台上列出的裝置，例如，`xvdb` 或 `/dev/nvme0n1`。下拉式清單會顯示連接到執行個體的儲存磁碟區。若要輸入未連接到執行個體的裝置，請在文字欄位中輸入該裝置。

   **名稱**、**字母**和**分割區**是選填欄位。如果沒有為**磁碟分割區**指定任何值，則會以 `gpt` 磁碟分割區類型初始化大於 2 TB 的儲存磁碟區，而小於 2 TB 的磁碟分割區會以 `mbr` 磁碟分割區類型初始化。如果已設定裝置，且非 NTFS 裝置包含磁碟分割區表格，或磁碟的前 4 KB 會包含資料，接著系統會略過磁碟並記錄動作。  
![\[EC2 Launch 設定應用程式。\]](http://docs.aws.amazon.com/zh_tw/AWSEC2/latest/UserGuide/images/ec2launchv2-volumes.png)

## 使用 CLI 設定 EC2Launch v2
<a name="ec2launch-v2-cli"></a>

您可以使用命令列介面 (CLI) 來配置 EC2Launch 設定並管理服務。下節包含您可用來管理 EC2Launch v2 之 CLI 命令的說明和使用資訊。

**Topics**
+ [collect-logs](#ec2launch-v2-collect-logs)
+ [get-agent-config](#ec2launch-v2-get-agent-config)
+ [list-volumes](#ec2launch-v2-list-volumes)
+ [重設](#ec2launch-v2-reset)
+ [run](#ec2launch-v2-run)
+ [status](#ec2launch-v2-settings-status)
+ [sysprep](#ec2launch-v2-settings-sysprep)
+ [validate](#ec2launch-v2-validate)
+ [version](#ec2launch-v2-version)
+ [桌布](#ec2launch-v2-wallpaper)

### collect-logs
<a name="ec2launch-v2-collect-logs"></a>

收集 EC2Launch 的日誌、壓縮檔案，並將它們置於指定的目錄中。

**範例**

```
ec2launch collect-logs -o C:\Mylogs.zip
```

**用途**

`ec2launch collect-logs [flags]`

**Flags**

`-h`, `--help`

`collect-logs` 的說明

`-o`, `--output string`

壓縮輸出日誌的路徑

### get-agent-config
<a name="ec2launch-v2-get-agent-config"></a>

以指定的格式 (JSON 或 YAML) 列印 `agent-config.yml`。如果未指定任何格式，則會以先前指定的格式列印 `agent-config.yml`。

**範例**

```
ec2launch get-agent-config -f json
```

**用途**

`ec2launch get-agent-config [flags]`

**Flags**

`-h`, `--help`

`get-agent-config` 的說明

`-f`, `--format string`

`agent-config` 檔案的輸出格式：`json`、`yaml`

### list-volumes
<a name="ec2launch-v2-list-volumes"></a>

列出連接到執行個體的所有儲存磁碟區，包括暫時磁碟區和 EBS 磁碟區。

**範例**

```
ec2launch list-volumes
```

**用途**

`ec2launch list-volumes`

**Flags**

`-h`, `--help`

`list-volumes` 的說明

### 重設
<a name="ec2launch-v2-reset"></a>

此任務的主要目標是在下次代理程式執行時重設該代理程式。為此，**reset** 命令會從本機 `EC2Launch` 目錄刪除 EC2Launch v2 的所有代理程式狀態資料 (請參閱：[EC2Launch v2 目錄結構](ec2launch-v2.md#ec2launch-v2-directory))。選擇性重設會刪除服務和 Sysprep 日誌。

指令碼行為取決於代理程式執行指令碼的模式 (內嵌或分離)。

內嵌 (預設)  
EC2Launch v2 代理程式會一次執行一個指令碼 (`detach: false`)。這是預設設定。  
當內嵌指令碼發出 **reset** 或 **sysprep** 命令時，它會立即執行並重設代理程式。目前任務完成後，代理程式就會關閉，而不執行任何後續任務。  
例如，如果發出命令的任務後緊接著一個 `startSsm` 任務 (預設情況下會在使用者資料執行之後包含)，則任務不會執行，而且 Systems Manager 服務永遠不會啟動。

Detached  
EC2Launch v2 代理程式會與其他任務同時執行指令碼 (`detach: true`)。  
當分離的指令碼發出 **reset** 或 **sysprep** 命令時，這些命令會等待代理程式完成再執行。executeScript 之後的任務仍會執行。

**範例**

```
ec2launch reset -c
```

**用途**

`ec2launch reset [flags]`

**Flags**

`-c`, `--clean`

在 `reset` 前清除執行個體日誌

`-h`, `--help`

`reset` 的說明

### run
<a name="ec2launch-v2-run"></a>

執行 EC2Launch v2。

**範例**

```
ec2launch run
```

**用途**

`ec2launch run [flags]`

**Flags**

`-h`, `--help`

`run` 的說明

### status
<a name="ec2launch-v2-settings-status"></a>

取得 EC2Launch v2 代理程式的狀態。選擇性地封鎖處理程序，直到代理程式完成為止。處理程序結束程式碼會決定代理程式狀態：
+ `0` – 代理程式已執行且成功。
+ `1` – 代理程式已執行且失敗。
+ `2` – 代理程式仍在執行中。
+ `3` – 代理程式處於未知狀態。代理程式狀態為未執行或已停止。
+ `4` – 嘗試擷取代理程式狀態時發生錯誤。
+ `5` – 代理程式未執行，且上次已知執行的狀態未知。這可能表示以下其中一項：
  + `state.json` 和 `previous-state.json` 均被刪除。
  + `previous-state.json` 已毀損。

  這是執行 [`reset`](#ec2launch-v2-reset) 命令後的代理程式狀態。

**範例**：

```
ec2launch status -b
```

**用途**

`ec2launch status [flags]`

**Flags**

`-b`,`--block`

封鎖處理程序，直到代理程式完成執行

`-h`,`--help`

`status` 的說明

### sysprep
<a name="ec2launch-v2-settings-sysprep"></a>

此任務的主要目標是在下次代理程式執行時重設該代理程式。為此，**sysprep** 命令會重設代理程式狀態、更新 `unattend.xml` 檔案、停用 RDP，然後執行 Sysprep。

指令碼行為取決於代理程式執行指令碼的模式 (內嵌或分離)。

內嵌 (預設)  
EC2Launch v2 代理程式會一次執行一個指令碼 (`detach: false`)。這是預設設定。  
當內嵌指令碼發出 **reset** 或 **sysprep** 命令時，它會立即執行並重設代理程式。目前任務完成後，代理程式就會關閉，而不執行任何後續任務。  
例如，如果發出命令的任務後緊接著一個 `startSsm` 任務 (預設情況下會在使用者資料執行之後包含)，則任務不會執行，而且 Systems Manager 服務永遠不會啟動。

Detached  
EC2Launch v2 代理程式會與其他任務同時執行指令碼 (`detach: true`)。  
當分離的指令碼發出 **reset** 或 **sysprep** 命令時，這些命令會等待代理程式完成再執行。executeScript 之後的任務仍會執行。

**範例**：

```
ec2launch sysprep
```

**用途**

`ec2launch sysprep [flags]`

**Flags**

`-c`,`--clean`

在 `sysprep` 前清除執行個體日誌

`-h`,`--help`

Sysprep 說明

`-s`,`--shutdown`

在 `sysprep` 後關閉執行個體

### validate
<a name="ec2launch-v2-validate"></a>

驗證 `agent-config` 檔案 `C:\ProgramData\Amazon\EC2Launch\config\agent-config.yml`。

**範例**

```
ec2launch validate
```

**用途**

`ec2launch validate [flags]`

**Flags**

-h` `, `--help` 

`validate` 的說明

### version
<a name="ec2launch-v2-version"></a>

取得可執行版本。

**範例**

```
ec2launch version
```

**用途**

`ec2launch version [flags]`

**Flags**

`-h`, `--help`

`version` 的說明

### 桌布
<a name="ec2launch-v2-wallpaper"></a>

將新桌布設定為提供的桌布路徑 (.jpg 檔案)，並顯示選取的執行個體詳細資料。

#### 語法
<a name="lv2-wallpaper-syntax"></a>

```
ec2launch wallpaper ^
--path="C:\ProgramData\Amazon\EC2Launch\wallpaper\Ec2Wallpaper.jpg" ^
--all-tags ^
--attributes=hostName,instanceId,privateIpAddress,publicIpAddress,ipv6Address,instanceSize,availabilityZone,architecture
```

#### 輸入
<a name="lv2-wallpaper-inputs"></a>Parameters

**--allowed-tags [*tag-name-1*, *tag-name-n*]**  
(選用) 要顯示在桌布上的 Base64 編碼 JSON 執行個體標籤名稱陣列。您可以使用此標籤或 `--all-tags`，但不能同時使用兩者。

**--attributes *attribute-string-1*, *attribute-string-n***  
(選用) 要將設定套用至桌布的 `wallpaper` 屬性字串清單 (以逗號分隔)。

**[--path \$1 -p] *path-string***  
(必要) 指定 `wallpaper` 背景圖片檔案路徑。旗標

**--all-tags**  
(選用) 在桌布上顯示所有執行個體標籤。您可以使用此標籤或 `--allowed-tags`，但不能同時使用兩者。

**[--help \$1 -h]**  
顯示 **wallpaper** 命令的說明。

## EC2Launch v2 任務組態
<a name="ec2launch-v2-task-configuration"></a>

本節包含 `agent-config.yml` 和使用者資料的組態結構描述任務、詳細資訊及範例。

**Topics**
+ [結構描述︰`agent-config.yml`](#ec2launch-v2-schema-agent-config)
+ [設定啟動或重新啟動期間執行的 EC2Launch v2 使用者資料指令碼](#ec2launch-v2-schema-user-data)

### 結構描述︰`agent-config.yml`
<a name="ec2launch-v2-schema-agent-config"></a>

`agent-config.yml` 檔案的結構如下所示。請注意，不能在同一階段重複任務。有關任務屬性，請參閱後面的任務說明。

#### 文件結構：agent-config.yml
<a name="ec2launch-v2-schema-agent-config-doc-structure"></a>

**JSON**

```
{
	"version": "1.1",
	"config": [
		{
			"stage": "string",
			"tasks": [
				{
					"task": "string",
					"inputs": {
						...
					}
				},
				...
			]
		},
		...
	]
}
```

**YAML**

```
version: 1.1
config:
- stage: string
  tasks:
  - task: string
	inputs:
	  ...
  ...
...
```

#### 範例：`agent-config.yml`
<a name="ec2launch-v2-example-agent-config"></a>

下列範例顯示 `agent-config.yml` 組態檔的設定。

```
version: 1.1
config:
- stage: boot
  tasks:
  - task: extendRootPartition
- stage: preReady
  tasks:
  - task: activateWindows
    inputs:
      activation:
        type: amazon
  - task: setDnsSuffix
    inputs:
      suffixes:
      - $REGION.ec2-utilities.amazonaws.com
  - task: setAdminAccount
    inputs:
      password:
        type: random
  - task: setWallpaper
    inputs:
      path: C:\ProgramData\Amazon\EC2Launch\wallpaper\Ec2Wallpaper.jpg
      attributes:
      - hostName
      - instanceId
      - privateIpAddress
      - publicIpAddress
      - instanceSize
      - availabilityZone
      - architecture
- stage: postReady
  tasks:
  - task: startSsm
```

### 設定啟動或重新啟動期間執行的 EC2Launch v2 使用者資料指令碼
<a name="ec2launch-v2-schema-user-data"></a>

下列 JSON 和 YAML 範例顯示使用者資料的文件結構。Amazon EC2 會剖析您在文件中指定的 `tasks` 陣列中命名的每個任務。每個任務都有自己的屬性集和要求集。如需詳細資訊，請參閱 [EC2Launch v2 啟動任務的任務定義](ec2launch-v2-task-definitions.md)。

**注意**  
任務只能在使用者資料任務陣列中出現一次。

#### 文件結構：使用者資料
<a name="ec2launch-v2-schema-user-data-doc-structure"></a>

**JSON**

```
{
	"version": "1.1",
	"tasks": [
		{
			"task": "string",
			"inputs": {
				...
			},
		},
		...
	]
}
```

**YAML**

```
version: 1.1
tasks:
- task: string
  inputs:
    ...
...
```

#### 範例：使用者資料
<a name="ec2launch-v2-example-user-data"></a>

如需使用者資料的詳細資訊，請參閱 [Amazon EC2 如何處理 Windows 執行個體的使用者資料](user-data.md#ec2-windows-user-data)。

下列 YAML 文件範例顯示 EC2Launch v2 執行以建立檔案的  PowerShell 指令碼 (作為使用者資料)。

```
version: 1.1
tasks:
- task: executeScript
  inputs:
  - frequency: always
    type: powershell
    runAs: localSystem
    content: |-
      New-Item -Path 'C:\PowerShellTest.txt' -ItemType File
```

針對與舊版啟動代理程式相容的使用者資料，您可以使用 XML 格式。EC2Launch v2 會將指令碼作為 `UserData` 階段中的 `executeScript` 任務執行。為了符合 EC2Launch v1 和 EC2Config 行為，預設情況下使用者資料指令碼會作為連接/內嵌的程序執行。

您可以新增選用標籤來自訂指令碼的執行方式。例如，除了在執行個體啟動時執行一次使用者資料指令碼之外，若還想在執行個體重新啟動時執行，您可以使用下列標記：

`<persist>true</persist>`

**範例**：

```
<powershell>
  $file = $env:SystemRoot + "\Temp" + (Get-Date).ToString("MM-dd-yy-hh-mm")
  New-Item $file -ItemType file
</powershell>
<persist>true</persist>
```

您可以使用 `<powershellArguments>` 標籤指定一或多個 PowerShell 引數。如果未傳遞引數，EC2Launch v2 預設會新增下列引數：`-ExecutionPolicy Unrestricted`。

**範例**：

```
<powershell>
  $file = $env:SystemRoot + "\Temp" + (Get-Date).ToString("MM-dd-yy-hh-mm")
  New-Item $file -ItemType file
</powershell>
<powershellArguments>-ExecutionPolicy Unrestricted -NoProfile -NonInteractive</powershellArguments>
```

若要將 XML 使用者資料指令碼作為分離的程序執行，請將下列標籤新增至您的使用者資料。

`<detach>true</detach>`

**範例**：

```
<powershell>
  $file = $env:SystemRoot + "\Temp" + (Get-Date).ToString("MM-dd-yy-hh-mm")
  New-Item $file -ItemType file
</powershell>
<detach>true</detach>
```

**注意**  
舊版啟動代理程式不支援分離標籤。

#### 變更日誌：使用者資料
<a name="ec2launch-v2-versions-user-data"></a>

下表列出使用者資料的變更，並將其交叉參考至適用的 EC2Launch v2 代理程式版本。


| 使用者資料版本 | 詳細資訊 | 引入於 | 
| --- | --- | --- | 
| 1.1 | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/AWSEC2/latest/UserGuide/ec2launch-v2-settings.html) | EC2Launch v2 2.0.1245 版 | 
| 1.0 | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/AWSEC2/latest/UserGuide/ec2launch-v2-settings.html) | EC2Launch v2 2.0.0 版 | 

\$1 與預設 `agent-config.yml` 檔案搭配使用時。

## EC2Launch v2 結束程式碼和重新啟動
<a name="ec2launch-v2-exit-codes-reboots"></a>

您可以使用 EC2Launch v2 定義指令碼處理結束程式碼的方式。根據預設，在指令碼中執行的最後一個命令的結束程式碼會報告為整個指令碼的結束程式碼。例如，如果指令碼包含三個命令，而第一個命令失敗，但後續命令成功，則會因最終命令成功而將執行狀態報告為 `success`。

如果您希望指令碼重新啟動執行個體，則必須在指令碼中指定 `exit 3010`，即使重新啟動是指令碼中的最後一個步驟也是如此。`exit 3010` 會指示 EC2Launch v2 重新啟動執行個體並再次呼叫指令碼，直到傳回不是 `3010` 的結束程式碼，或直到達到最大重新啟動計數為止。EC2Launch v2 允許每個任務最多 5 次重新啟動。如果您嘗試使用不同的機制 (例如 `Restart-Computer`) 從指令碼重新啟動執行個體，則指令碼執行狀態將不一致。例如，狀態可能會卡在重新啟動迴圈或不執行重新啟動。

如果您使用與舊版代理程式相容的 XML 使用者資料格式，則使用者資料執行的次數可能會超出您的預期。如需詳細資訊，請參閱故障診斷一節中的 [服務會多次執行使用者資料](ec2launchv2-troubleshooting.md#ec2launchv2-troubleshooting-user-data-more-than-once)。

## EC2Launch v2 和 Sysprep
<a name="ec2launch-v2-sysprep"></a>

EC2Launch v2 服務將執行 Sysprep，此為 Microsoft 的工具，可讓您建立自訂且可重複使用的 Windows AMI。EC2Launch v2 呼叫 Sysprep 時，會使用 `%ProgramData%\Amazon\EC2Launch` 中的檔案來決定要執行的操作。您可以使用 **EC2Launch 設定** 對話方塊間接編輯這些檔案，或直接使用 YAML 編輯器或文字編輯器來編輯這些檔案。但有些進階設定無法在 **EC2Launch 設定**對話方塊中使用，因此您必須直接編輯這些項目。

如果您在更新執行個體設定後從執行個體建立 AMI，新設定將套用到從新 AMI 啟用的任何執行個體。如需有關建立 AMI 的詳細資訊，請參閱 [建立 Amazon EBS 支援的 AMI](creating-an-ami-ebs.md)。