

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

# 匯入映像
<a name="import-image"></a>

您可以匯入自訂的 EC2 AMIs 來建立 WorkSpaces 應用程式映像。以下是其運作方式：

1. 使用任何偏好的方法自訂您的 EC2 AMI，包括 [EC2 Image Builder](https://docs.aws.amazon.com/imagebuilder/)。

1. 將您的自訂 AMI 匯入 WorkSpaces 應用程式，以建立 WorkSpaces 應用程式映像

1. 或者，使用映像建置器進行其他映像自訂

透過 AMI 匯入建立的影像為 `type = "custom"`，而 WorkSpaces 應用程式提供的映像為 `type = "native"`。

您可以將 stream.\$1 執行個體類型與 搭配使用`type = "native"`。若要使用下列任何執行個體類型，您必須匯入 AMI 並使用 建立映像`type = "custom"`。
+ GeneralPurpose.\$1
+ MemoryOptimized.\$1
+ ComputeOptimized.\$1
+ 加速。\$1

## 映像匯入的先決條件
<a name="import-image-prerequisites"></a>

所有這些先決條件對於成功執行工作流程至關重要。以下列出支援的 AMI 組態和其他強制性要求。

### 必要的 AMI 屬性
<a name="required-ami-properties"></a>

EBS  
+ 小於或等於 500GB 大小
  + 您可以匯入 < 200 GB 的 AMI，不過，匯入的映像會使用至少 200GB。
+ GP2
  + 您可以使用 gp2 或 gp3 EBS 磁碟區類型匯入 AMI，不過，匯入的映像將使用 gp2。
+ 每個映像一個磁碟區
+ `/dev/sda1` 根裝置名稱
+ 影像類型：機器
+ 架構：x86\$164
+ 虛擬化類型：HVM
+ 開機模式：UEFI
+ TPM Support：2.0 版。這是必要項目，請參閱 [https://docs.aws.amazon.com/ec2/latest/windows-ami-reference/ami-windows-tpm.html\$1ami-windows-tpm-find](https://docs.aws.amazon.com/ec2/latest/windows-ami-reference/ami-windows-tpm.html#ami-windows-tpm-find)：// 尋找已啟用 TPM 的 AMI。
+ ENA 支援： true
+ 平台：Windows
+ 平台詳細資訊：Windows

### 作業系統屬性
<a name="operating-system-properties"></a>

Windows Server 2022/2025 **完整基礎**  
+ 不支援 Windows Server **Core** 
+ 不支援具有 SQL Server 的 Windows

客服人員  
+ EC2 啟動 V2 版本 >= 2.1.1
+ 需要 SSM 代理程式

驅動程式  
+ EC2 ENA 驅動程式版本 >= 2.9.0
+ EC2 NVMe 驅動程式版本 >= 1.6.0

程式庫支援  
+ .NET Framework 4.8 或更新版本
  + 在 Windows Server 2022/2025 中預設安裝
+ PowerShell 5.1 或更新版本
  + 在 Windows Server 2022/2025 中預設安裝
+ Windows 功能：不得安裝遠端桌面服務授權和遠端桌面服務工作階段主機
+ 連接埠：連接埠 8000、8300 和 8443 必須解除封鎖和佔用
+ 開機模式：UEFI

如果您想要搭配 Accelerated.g4dn、Accelered.g5、Accelered.G6 或 Accelerated.G6e 等圖形執行個體使用映像，請在 AMI 上安裝適當的 GRID 驅動程式。如需詳細資訊，請參閱 https：//[https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nvidia-GRID-driver.html](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nvidia-GRID-driver.html)。如果驅動程式未正確設定，串流將正常運作，圖形卡可能無法使用。

**重要**  
AMI 的「擁有者帳戶 ID」必須是AWS您的帳戶 ID。您無法匯入公有 EC2 AMI。  
在匯入映像之前，執行任何 Windows 更新並停用自動 Windows 更新。  
目前不支援匯入加密的 EC2 AMIs 

### IAM 角色要求
<a name="iam-role-requirements"></a>

**重要**  
「建立具有下列許可的 IAM 角色，以用於映像匯入：

```
{  
    "Version": "2012-10-17",		 	 	   
    "Statement": [  
        {  
            "Sid": "AllowModifyImageAttributeWithTagCondition",  
            "Effect": "Allow",  
            "Action": "ec2:ModifyImageAttribute",  
            "Resource": "*"  
        },  
        {  
            "Sid": "AllowDescribeImages",  
            "Effect": "Allow",  
            "Action": "ec2:DescribeImages",  
            "Resource": "*"  
        }  
    ]  
}
```

為此 IAM 角色新增下列信任關係

```
{  
    "Version": "2012-10-17",		 	 	   
    "Statement": [  
        {  
            "Effect": "Allow",  
            "Principal": {  
                "Service": "appstream.amazonaws.com"  
            },  
            "Action": "sts:AssumeRole"  
        }  
    ]  
}
```

## 匯入映像
<a name="import-image-procedure"></a>

1. 在 https：//[https://console.aws.amazon.com/appstream2](https://console.aws.amazon.com/appstream2) 開啟 WorkSpaces 應用程式主控台。

1. 在左側導覽窗格中，選擇**影像**，然後選擇**影像登錄**檔。

1. 選擇**匯入映像**。

1. **AMI ID** - 輸入您要匯入 WorkSpaces 應用程式的 AMI AMI ID。您也可以使用此欄位搜尋 AMI。

1. **映像名稱** - 輸入因匯入操作而建立之映像的唯一名稱。

1. **顯示名稱** *（選用）* - 輸入要顯示影像的 。

1. **描述** *（選用）* – 輸入影像的描述。

1. **IAM 角色** - 選取您為映像匯入建立的 IAM 角色。如需詳細資訊，請參閱 [IAM 角色要求](#iam-role-requirements)。

1. **管理 WorkSpaces 應用程式代理**程式 – 如果您想要一律使用最新的 WorkSpaces 應用程式代理程式版本，您的串流執行個體會自動更新為在發行新的代理程式版本AWS時可用的最新功能、效能改善和安全性更新。

1. **執行時間驗證** *（選用）*：選取此選項，服務會佈建匯入映像的執行個體，並執行串流測試。
   + 
**注意**  
這些串流測試將在背景執行，您無法透過 WorkSpaces 應用程式用戶端連線至此執行個體。
   + 我們建議您使用此選項，讓您的映像更有信心適用於 WorkSpaces 應用程式。
   + 您將需要支付該執行個體的每小時價格。
   + 如果您在進行不影響串流測試的次要變更後重新匯入 AMI，而且如果執行時間驗證上次通過，則匯入此 AMI，您可以避免執行時間驗證。
   + **選擇執行個體類型** *（選用）*：選取執行串流測試的正確執行個體系列、類型和大小。建議您使用計劃用於建立機群的相同執行個體。

1. **應用程式目錄和啟動效能資訊清單** *（選用）*：提供詳細資訊，為您的最終使用者建立應用程式目錄，並改善應用程式的啟動效能。
   + **應用程式目錄**：建立應用程式目錄，指定安裝映像之應用程式的詳細資訊。針對您計劃串流的每個應用程式，您可以指定名稱、顯示名稱、要啟動的可執行檔和要顯示的圖示。
   + **啟動效能**：將檔案新增至應用程式最佳化資訊清單可減少應用程式第一次在新機群執行個體上啟動所需的時間。此最佳化資訊清單是依應用程式以行分隔的文字檔案。

   若要進一步了解，請參閱 [應用程式詳細資訊](applications-details.md)。

1. **標籤 ***（選用）* - 選擇**新增標籤**，然後輸入標籤的索引鍵和值。若要新增更多標籤，請重複此步驟。如需詳細資訊，請參閱[標記 Amazon WorkSpaces 應用程式資源](tagging-basic.md)。

1. **匯入影像** – 檢閱您輸入的所有資訊，然後選擇**匯入影像**。服務將執行相容性檢查，以確保 AMI 與 WorkSpaces 應用程式相容。
   + 如果靜態檢查失敗，您將立即收到錯誤。
   + 如果靜態檢查通過，則會提交您的匯入請求，根據您選取的選項，使用 建立新的 WorkSpaces 應用程式映像可能需要 30-60 分鐘 `type = "custom"`

# 應用程式詳細資訊
<a name="applications-details"></a>

應用程式詳細資訊包含有關預熱資訊清單和應用程式目錄組態的資訊。

## 應用程式PreWarm資訊清單
<a name="application-prewarm-manifests"></a>

建立 WorkSpaces 應用程式映像時，您可以指定要提供給使用者的應用程式。若要加速應用程式的啟動時間，您可以準備 PreWarm 資訊清單。這基本上是應用程式在使用者啟動應用程式時需要啟動的檔案目錄。在執行個體佈建期間，這些檔案將在工作階段連線之前準備好，以加快使用者工作階段中的應用程式啟動時間。

預熱資訊清單必須先在 AMI 上預先建立，才能匯入 WorkSpaces 應用程式環境。您可以選擇建立一個常見的預熱資訊清單檔案，或為每個應用程式建立一個。這會變更您稍後匯入 AMI 的方式。

### 常見的預熱資訊清單
<a name="common-prewarm-manifest"></a>

對於您要預熱的每個應用程式，請啟動應用程式並執行使用者可能執行的任何初始互動。然後，使用下列命令以存放應用程式資料的目錄為目標。

```
dir -path "C:\Path\To\Folder\To\Optimize" -Recurse -ErrorAction SilentlyContinue | %{$_.FullName} | Out-File "C:\ProgramData\Amazon\Photon\Prewarm\PrewarmManifest.txt" -encoding UTF8 -append
```

這會將每個應用程式要最佳化的檔案附加到通用`C:\\ProgramData\\Amazon\\Photon\\Prewarm\\PrewarmManifest.txt`檔案中。執行應用程式預熱不需要其他動作。WorkSpaces 應用程式會在上述位置尋找預熱檔案，並在檔案存在時使用。

此程序是選用的，隨著預熱資訊清單的大小增加，機群佈建時間也會增加。因此，請注意在最佳化與機群佈建之間取得平衡。

### 應用程式特定資訊清單
<a name="application-specific-manifests"></a>

在映像匯入期間，您可能想要為每個應用程式指定個別的應用程式資訊清單檔案，以便更輕鬆地追蹤每個應用程式的預熱資產。若要執行與上述相同的步驟，但不建立通用`C:\\ProgramData\\Amazon\\Photon\\Prewarm\\PrewarmManifest.txt`檔案，請在 AMI 上為每個應用程式建立檔案。

對於您要預熱的每個應用程式，請啟動應用程式並執行使用者可能執行的任何初始互動。然後，使用下列命令以存放應用程式資料的目錄為目標。

```
dir -path "C:\Path\To\Folder\To\Optimize" -Recurse -ErrorAction SilentlyContinue | %{$_.FullName} | Out-File "C:\Path\To\My\<ApplicationName>PreWarm.txt" -encoding UTF8 -append
```

在映像匯入程序期間，我們將使用這些應用程式預熱檔案。同樣地，這是完全選用的。您可以選擇使用此方法、通用預熱資訊清單方法，或完全沒有預熱資訊清單。

## 應用程式目錄組態
<a name="application-catalog-configs"></a>

`AppCatalogConfig` 這可讓您指定要在 AMI 匯入期間註冊至 WorkSpaces 應用程式映像的應用程式。`AppCatalogConfig` 是下列結構的應用程式組態物件的 JSON 清單。

```
[  
    {  
        "Name": "Rufus", //Required and must be unique among the list of applications  
        "DisplayName": "Rufus",  
        "AbsoluteAppPath": "Rufus", //Required  
        "AbsoluteIconPath": "Rufus",  
        "AbsoluteManifestPath": "Rufus",  
        "WorkingDirectory": "Rufus",  
        "LaunchParameters": "Rufus"  
    }  

    ...  

    // Up to 50 applications total  
 ]
```

每個應用程式唯一的必要欄位是 `Name`和 `AbsoluteAppPath`。每個欄位的詳細資訊如下：

名稱 **【必要**】  
+ 您的應用程式用來識別它的特定名稱
+ 介於 1 到 100 個字元之間
+ 允許字元 regex `^[a-zA-Z0-9][a-zA-Z0-9_.-]{0,99}$`
+ 在指定的 AppCatalogConfig 中必須是唯一的

DisplayName  
+ 要顯示給使用者之特定應用程式的顯示名稱
+ 介於 0 到 100 個字元之間
+ 允許字元 regex `^[a-zA-Z0-9][a-zA-Z0-9_. -]{0,99}$`

AbsoluteAppPath **【必要**】  
+ 啟動應用程式的可執行檔路徑
  + 這是當使用者選取您的應用程式時將啟動的可執行檔
+ 介於 1 到 32767 個字元之間
  + 此字元長度上限是支援 Windows 中的擴充檔案路徑。如果使用大於 260 個字元的檔案路徑，請確定您的 AMI 和應用程式已正確設定為支援 Windows 擴充檔案路徑。
+ 使用逸出的檔案路徑字串，例如
  + `"C:\\Windows\\System32\\notepad.exe"`

AbsoluteManifestPath  
+ 只有在您使用 時才適用 [應用程式特定資訊清單](#application-specific-manifests)
+ 此應用程式預熱資訊清單檔案的路徑
+ 介於 0 到 32767 個字元之間
  + 此字元長度上限是支援 Windows 中的擴充檔案路徑。如果使用大於 260 個字元的檔案路徑，請確定您的 AMI 和應用程式已正確設定為支援 Windows 擴充檔案路徑。
+ 使用逸出的檔案路徑字串，例如
  + `"C:\\Path\\To\\PrewarmManifest.txt"`

AbsoluteIconPath  
+ AMI 上要用於應用程式的圖示檔案路徑。
  + 串流到此映像時，使用者會顯示此圖示。
  + 如果未提供任何 ，則圖示將衍生自可執行檔本身。
  + 請小心選取具有適當處理背景透明度的圖示檔案，為您的使用者提供良好的客戶體驗
    + 使用 PNG 映像
+ 介於 1 到 32767 個字元之間
  + 此字元長度上限是支援 Windows 中的擴充檔案路徑。如果使用大於 260 個字元的檔案路徑，請確定您的 AMI 和應用程式已正確設定為支援 Windows 擴充檔案路徑。
+ 使用逸出的檔案路徑字串，例如
  + `"C:\\Path\\To\\ApplicationIcon.png"`

WorkingDirectory  
+ 在 中啟動應用程式的工作目錄
+ 介於 0 到 32767 個字元之間
  + 此字元長度上限是支援 Windows 中的擴充檔案路徑。如果使用大於 260 個字元的檔案路徑，請確定您的 AMI 和應用程式已正確設定為支援 Windows 擴充檔案路徑。
+ 使用逸出的檔案路徑字串，例如
  + `"C:\\Path\\To\\Working\\Directory"`

LaunchParameters  
+ 用作 中指定可執行檔啟動參數的字串 `AbsoluteAppPath`
+ 介於 0 到 1024 個字元之間
+ 使用逸出字串搭配完整的必要啟動參數清單，例如下列範例，示範如何使用 PowerShell 指令碼做為您的應用程式，方法是使用 PowerShell 可執行檔做為您的應用程式，搭配啟動參數中提供的指令碼
  + AbsoluteAppPath
    + `"C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\powershell.exe"`
  + LaunchParameters
    + `"-File \"C:\\Path\\To\\App\\Script.ps1\""`

### AppCatalogConfig 範例
<a name="sample-appcatalogconfig"></a>

這是適用於 Notepad、Google Chrome 和 Mozilla Firefox 的 AppCatalogConfig 的裸機範例

```
[  
    {  
        "Name": "Notepad",  
        "DisplayName": "Notepad",  
        "AbsoluteAppPath": "C:\\Windows\\System32\\notepad.exe"
    },  
    {  
        "Name": "Chrome",  
        "DisplayName": "Chrome",  
        "AbsoluteAppPath": "C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe",
        "LaunchParameters": "https://www.amazon.com/"  
    },  
    {  
        "Name": "Firefox",  
        "DisplayName": "Firefox",  
        "AbsoluteAppPath": "C:\\Program Files\\Mozilla Firefox\\firefox.exe",
        "LaunchParameters": "https://aws.amazon.com/"  
    }  
 ]
```