

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

# 為您的 WorkSpaces 集區使用者啟用應用程式設定持續性
<a name="app-settings-persistence"></a>

WorkSpaces 集區支援 Windows 型目錄的持久性應用程式設定。這表示每個串流工作階段後都會自動儲存您的使用者應用程式自訂項目和 Windows 設定，並將它們套用至下一個工作階段。使用者可以設定的持久性應用程式設定範例包括 (但不限於)：瀏覽器最愛、設定、網頁工作階段、應用程式連線描述檔、外掛程式及 UI 自訂項目。這些設定會儲存至您帳戶中啟用應用程式設定持續性的 AWS 區域中的 Amazon Simple Storage Service (Amazon S3) 儲存貯體。它們可在每個 WorkSpaces 集區串流工作階段中使用。

**注意**  
S3 儲存貯體中存放的資料可能需支付標準 Amazon S3 費用。如需詳細資訊，請參閱 [Amazon S3 定價](https://aws.amazon.com/s3/pricing/)。

**Topics**
+ [應用程式設定持久性的運作方式](how-it-works-app-settings-persistence.md)
+ [啟用應用程式設定持續性](enabling-app-settings-persistence.md)
+ [管理使用者應用程式設定的 VHDs](administer-app-settings-vhds.md)

# 應用程式設定持久性的運作方式
<a name="how-it-works-app-settings-persistence"></a>

持續性應用程式設定儲存在虛擬硬碟 (VHD) 檔案。當使用者第一次從啟用應用程式設定持續性的目錄中串流應用程式時，就會建立此檔案。如果與目錄相關聯的 WorkSpace 集區是以包含預設應用程式和 Windows 設定的映像為基礎，則預設設定會用於使用者的第一個串流工作階段。

當串流工作階段結束時，會卸載 VHD 並將它上傳到您帳戶的 Amazon S3 儲存貯體。當您第一次為 AWS 區域中的目錄啟用持久性應用程式設定時，就會建立儲存貯體。儲存貯體對 AWS 您的帳戶和區域是唯一的。此 VHD 在傳輸中會使用 Amazon S3 SSL 端點加密，靜態時則使用 [AWS 受管 CMK](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk) 加密。

VHD 同時掛載到 `C:\Users\%username%`和 中的 WorkSpace`D:\%username%`。如果您的 WorkSpace 未加入 Active Directory 網域，Windows 使用者名稱為 PhotonUser。如果您的 WorkSpace 已加入 Active Directory 網域，Windows 使用者名稱即為登入使用者的使用者名稱。

應用程式設定持久性無法在不同的作業系統版本之間運作。例如，如果您為使用 Windows Server 2019 映像的 WorkSpace 集區啟用應用程式設定持久性，如果您更新 WorkSpace 集區以使用執行不同作業系統 （例如 Windows Server 2022) 的映像，則目錄使用者不會儲存先前串流工作階段的設定。相反地，在您更新 WorkSpace 集區以使用新映像後，當使用者從 WorkSpace 啟動串流工作階段時，會建立新的 Windows 使用者設定檔。不過，如果您將更新套用到映像上相同的作業系統時，即會儲存來自先前串流工作階段的自訂和設定。當對相同作業系統的更新套用至映像時，當使用者從 WorkSpace 啟動串流工作階段時，會使用相同的 Windows 使用者設定檔。

**重要**  
WorkSpaces 集區只有在 WorkSpace 加入 Microsoft Active Directory 網域時，才支援依賴 Microsoft [資料保護 API](https://docs.microsoft.com/en-us/windows/desktop/seccng/cng-dpapi) 的應用程式。如果 WorkSpace 未加入 Active Directory 網域，則每個 WorkSpace 上的 Windows 使用者 PhotonUser 會有所不同。由於 DPAPI 安全模組運作的方式，不會為在此案例中使用 DPAPI 的應用程式保留使用者的密碼。在 WorkSpaces 加入 Active Directory 網域且使用者是網域使用者的情況下，Windows 使用者名稱是登入使用者的使用者名稱，且使用者的密碼會保留給使用 DPAPI 的應用程式。

WorkSpaces 集區會自動儲存此路徑中的所有檔案和資料夾，但下列資料夾除外：
+ 聯絡人
+ 桌面
+ 文件
+ 下載
+ 連結
+ 圖片
+ 儲存的遊戲
+ 搜尋
+ 影片

在這些資料夾外部建立的檔案和資料夾會儲存在 VHD 內並同步到 Amazon S3。集區的預設 VHD 大小上限為 5 GB。儲存的 VHD 大小是其本身包含的檔案和資料夾的總大小。WorkSpaces 集區會自動儲存使用者的`HKEY_CURRENT_USER`登錄 Hive。對於新使用者 （設定檔不存在於 Amazon S3 的使用者），WorkSpaces 集區會使用預設設定檔建立初始設定檔。此設定檔會在映像建置器的下列位置建立：`C:\users\default`。

**注意**  
必須先將整個 VHD 下載至 WorkSpace，才能開始串流工作階段。因此，包含大量資料的 VHD 會造成串流工作階段開始延遲。如需詳細資訊，請參閱[啟用應用程式設定持久性的最佳實務](enabling-app-settings-persistence.md#best-practices-app-settings-persistence)。

當您啟用應用程式設定持續性時，您必須指定設定群組。設定群組會決定從此目錄用於串流工作階段的已儲存應用程式設定。WorkSpaces 集區會為您 AWS 帳戶中 S3 儲存貯體中個別存放的設定群組建立新的 VHD 檔案。如果設定群組在目錄之間共用，則每個目錄中都會使用相同的應用程式設定。如果目錄需要自己的應用程式設定，請指定目錄的唯一設定群組。

# 啟用應用程式設定持續性
<a name="enabling-app-settings-persistence"></a>

**Topics**
+ [啟用應用程式設定持續性的先決條件](#prerequisites-app-settings-persistence)
+ [啟用應用程式設定持久性的最佳實務](#best-practices-app-settings-persistence)
+ [如何啟用應用程式設定持續性](#howto-enable-app-settings-persistence)

## 啟用應用程式設定持續性的先決條件
<a name="prerequisites-app-settings-persistence"></a>

若要啟用應用程式設定持續性，您必須先執行以下操作：
+ 使用從 AWS 於 2017 年 12 月 7 日或之後發佈的基礎映像建立的映像。
+ 設定網際網路存取或 Amazon S3 的 VPC 端點，以啟用從您的虛擬私有雲端 (VPC) 到 Amazon S3 的網路連線。如需詳細資訊，請參閱 [WorkSpaces 集區的聯網和存取](managing-network.md) 中的*主資料夾和 VPC 端點*。

## 啟用應用程式設定持久性的最佳實務
<a name="best-practices-app-settings-persistence"></a>

若要啟用應用程式設定持續性，而不提供 WorkSpaces 的網際網路存取，請使用 VPC 端點。此端點必須位於 WorkSpaces 集區中 WorkSpaces 所連接的 VPC 中。您必須連接自訂政策，才能啟用 WorkSpaces 集區對端點的存取。如需如何建立自訂政策的詳細資訊，請參閱 [WorkSpaces 集區的聯網和存取](managing-network.md) 中的*主資料夾和 VPC 端點*一節。如需有關私有 Amazon S3 端點的詳細資訊，請參閱《Amazon VPC 使用者指南》**中的 [VPC 端點](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints.html)和 [Amazon S3 的端點](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints-s3.html)。

## 如何啟用應用程式設定持續性
<a name="howto-enable-app-settings-persistence"></a>

您可以在建立目錄時或使用 WorkSpaces 主控台建立目錄之後，啟用或停用應用程式設定持續性。針對每個 AWS 區域，持續性應用程式設定會存放在您帳戶的 S3 儲存貯體中。

第一次為 AWS 區域中的目錄啟用應用程式設定持續性時，WorkSpaces 集區會在相同區域中 AWS 的帳戶中建立 S3 儲存貯體。相同的儲存貯體會存放該 AWS 區域中所有使用者和所有目錄的應用程式設定 VHD 檔案。如需詳細資訊，請參閱 [管理使用者應用程式設定的 VHDs](administer-app-settings-vhds.md) 中的 *Amazon S3 儲存貯體儲存*。

**在建立目錄時啟用應用程式設定持續性**
+ 依照[設定 SAML 2.0 並建立 WorkSpaces 集區目錄](create-directory-pools.md)中的步驟執行作業，並確定選取 **Enable Application Settings Persistence (啟用應用程式設定持續性)**。

**啟用現有目錄的應用程式設定持續性**

1. 在 https：//[https://console.aws.amazon.com/workspaces/v2/home](https://console.aws.amazon.com/workspaces/v2/home) 開啟 WorkSpaces 主控台。

1. 在左側導覽窗格中，選擇**集區**，然後選取要啟用應用程式持續性的集區。

1. 在頁面**的設定**區段中選擇**編輯**。

1. 在頁面**的應用程式持續性**區段中，選取**啟用應用程式設定持續性**。

1. 選擇**儲存變更**。

新的串流工作階段現已啟用應用程式設定持續性。

# 管理使用者應用程式設定的 VHDs
<a name="administer-app-settings-vhds"></a>

**Topics**
+ [Amazon S3 儲存貯體儲存](#app-persistence-s3-buckets)
+ [重設使用者的應用程式設定](#app-persistence-s3-reset)
+ [啟用 Amazon S3 物件版本控制並還原使用者的應用程式設定](#app-persistence-enable-versions-revert-settings)
+ [增加應用程式設定 VHD 的大小](#app-persistence-increase-VHD-size)

## Amazon S3 儲存貯體儲存
<a name="app-persistence-s3-buckets"></a>

當您啟用應用程式設定持久性時，使用者的應用程式自訂和 Windows 設定會自動儲存至虛擬硬碟 (VHD) 檔案，該檔案存放在您 AWS 帳戶中建立的 Amazon S3 儲存貯體中。對於每個 AWS 區域，WorkSpaces 集區會在您的帳戶中建立專屬於您帳戶和區域的儲存貯體。您使用者設定的所有應用程式設定都會存放在該區域的儲存貯體中。

您不需要執行任何組態任務來管理這些 S3 儲存貯體；它們完全由 WorkSpaces 集區服務管理。儲存在每個儲存貯體中的 VHD 檔案在傳輸中會使用 Amazon S3 的 SSL 端點加密，靜態時則使用 [AWS 受管 CMK](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk) 加密。儲存貯體使用特定格式命名，如下所示：

```
wspool-app-settings-<region-code>-<account-id-without-hyphens>-<random-identifier>
```

***region-code***  
這是使用應用程式設定持久性建立目錄 AWS 的區域代碼。

***account-id-without-hyphens***  
 AWS 您的帳戶 ID。確保與該區域中其他儲存貯體不發生衝突的隨機識別符。儲存貯體名稱的第一部分 `wspool-app-settings`，不會因為跨帳戶或區域而變更。

例如，如果您在美國西部 （奧勒岡） 區域 (us-west-2) 的 帳戶號碼 123456789012 上啟用目錄的應用程式設定持續性，WorkSpaces 集區會在您的帳戶內建立顯示名稱的 Amazon S3 儲存貯體。只有具備足夠許可的管理員可以刪除這個儲存貯體。

```
wspool-app-settings-us-west-2-1234567890123-abcdefg
```

停用應用程式設定持續性不會刪除任何存放在 S3 儲存貯體的 VHD。您或具有足夠許可的其他管理員必須使用 Amazon S3 主控台或 API，才能永久刪除設定 VHD。WorkSpaces 集區會新增儲存貯體政策，以防止意外刪除儲存貯體。

啟用應用程式設定持續性時，每個設定群組都會建立唯一的資料夾來存放設定 VHD。S3 儲存貯體的資料夾階層取決於使用者啟動串流工作階段的方式，如下節所述。

在您的帳戶中，設定 VHD 存放在 S3 儲存貯體中的資料夾路徑使用以下結構：

```
bucket-name/Windows/prefix/settings-group/access-mode/user-id-SHA-256-hash
```

***bucket-name***  
存放使用者應用程式設定的 S3 儲存貯體名稱。名稱格式如本節前文所述。

***prefix***  
Windows 版本特定字首。例如，v4 代表 Windows Server 2012 R2。

***settings-group***  
設定群組值。此值會套用至一或多個共用相同應用程式設定的目錄。

***access-mode***  
使用者的身分方法：`custom`適用於 WorkSpaces 集區 API 或 CLI、`federated`適用於 SAML，以及`userpool`適用於使用者集區使用者。

***user-id-SHA-256-hash***  
使用者特定的資料夾名稱。此名稱是使用從使用者 ID 產生的小寫 SHA-256 雜湊十六進位字串。

下列範例資料夾結構適用於使用 API 或 CLI 存取的串流工作階段，其使用者 ID 為 `testuser@mydomain.com`、 AWS 帳戶 ID 為 `123456789012`，以及美國西部 （奧勒岡） 區域 (us-west-2) `test-stack`中的設定群組：

```
wspool-app-settings-us-west-2-1234567890123-abcdefg/Windows/v4/test-stack/custom/a0bcb1da11f480d9b5b3e90f91243143eac04cfccfbdc777e740fab628a1cd13
```

您可以使用網站或線上提供的開放原始碼編碼程式庫，產生使用者 ID 的小寫 SHA-256 雜湊值，來識別使用者的資料夾。

## 重設使用者的應用程式設定
<a name="app-persistence-s3-reset"></a>

若要重設使用者的應用程式設定，您必須從 AWS 帳戶中的 S3 儲存貯體尋找並刪除 VHD 和相關聯的中繼資料檔案。請確定您未在使用者的作用中串流工作階段期間執行此操作。刪除使用者的 VHD 和中繼資料檔案後，下次使用者從已啟用應用程式設定持續性的串流執行個體啟動工作階段時，WorkSpaces 集區會為該使用者建立新的設定 VHD。

**重設使用者的應用程式設定**

1. 開啟位於 [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/) 的 Amazon S3 主控台。

1. 在 **Bucket name (儲存貯體名稱)** 清單中，選擇包含您要重設之應用程式設定 VHD 的 S3 儲存貯體。

1. 找出包含 VHD 的資料夾。如需如何導覽 S3 儲存貯體資料夾結構的詳細資訊，請參閱本主題前文中的「Amazon S3 儲存貯體儲存」**。

1. 在 **Name (名稱)** 清單中，選取 VHD 和 REG 旁的核取方塊，然後選擇 **More (更多)**，再選擇 **Delete (刪除)**。

1. 在 **Delete objects (刪除物件)** 對話方塊中，確認列出 VHD 和 REG，然後選擇 **Delete (刪除)**。

下次使用者從使用適用設定群組啟用應用程式設定持續性的集區串流時，就會建立新的應用程式設定 VHD。此 VHD 會在工作階段結束時儲存到 S3 儲存貯體。

## 啟用 Amazon S3 物件版本控制並還原使用者的應用程式設定
<a name="app-persistence-enable-versions-revert-settings"></a>

在您的使用者變更應用程式設定時，您可以使用 Amazon S3 物件版本控制和生命週期政策來管理使用者的應用程式設定。使用 Amazon S3 物件版本控制，您可以保留、擷取和還原每個版本的設定 VHD。這可讓您從使用者動作失誤和應用程式故障中復原。啟用版本控制時，每個串流工作階段後，新版的應用程式設定 VHD 都會同步到 Amazon S3。新版不會覆寫舊版，所以您的使用者設定如果發生問題，您可以回復到之前的 VHD 版本。

**注意**  
每個版本的應用程式設定 VHD 都會儲存到 Amazon S3 作為個別物件，並據此收費。

根據預設，您的 S3 儲存貯體中不啟用物件版本控制，所以您必須明確啟用它。

**針對您的應用程式設定 VHD 啟用物件版本控制**

1. 開啟位於 [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/) 的 Amazon S3 主控台。

1. 在 **Bucket name (儲存貯體名稱)** 清單中，選擇包含您要啟用物件版本控制之應用程式設定 VHD 的 S3 儲存貯體。

1. 選擇 **Properties (屬性)**。

1. 選擇 **Versioning (版本控制)**、**Enable versioning (啟用版本控制)**，然後選擇 **Save (儲存)**。

您可以使用 Amazon S3 生命週期政策，讓較舊版本的應用程式設定 VHD 過期。如需詳細資訊，請參閱《Amazon Simple Storage Service 使用者指南》**中的[如何建立 S3 儲存貯體的生命週期政策？](https://docs.aws.amazon.com/AmazonS3/latest/user-guide/create-lifecycle.html)。

**回復使用者的應用程式設定 VHD**

您可以在適用的 S3 儲存貯體中刪除新版的 VHD，回復到之前的使用者應用程式設定 VHD 版本。請不要在使用者有作用中的串流工作階段時執行此作業。

1. 開啟位於 [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/) 的 Amazon S3 主控台。

1. 在 **Bucket name (儲存貯體名稱)** 清單中，選擇包含要回復之使用者應用程式設定 VHD 的 S3 儲存貯體。

1. 找出並選取包含 VHD 的資料夾。如需如何導覽 S3 儲存貯體資料夾結構的資訊，請參閱本主題前文中的「Amazon S3 儲存貯體儲存」**。

   當您選取此資料夾時，即會顯示設定 VHD 和關聯的中繼資料檔案。

1. 若要顯示 VHD 清單和中繼資料檔案版本，請選擇 **Show (顯示)**。

1. 找出要回復的 VHD 版本。

1. 在 **Name (名稱)** 清單中，選取較新版 VHD 和相關聯中繼資料檔案旁的核取方塊，選擇 **More (更多)**，然後選擇 **Delete (刪除)**。

1. 驗證您想要回復的應用程式設定 VHD 和相關聯的中繼資料檔案都是最新版。

下次使用者從啟用應用程式設定持續性的集區串流時，會顯示使用者設定的還原版本。

## 增加應用程式設定 VHD 的大小
<a name="app-persistence-increase-VHD-size"></a>

集區的預設 VHD 大小上限為 5 GB。如果使用者需要額外空間供應用程式設定使用，您可以將適用的應用程式設定 VHD 下載到 Windows 電腦擴展它。然後，以較大的 VHD 取代 S3 儲存貯體中目前的 VHD。請不要在使用者有作用中的串流工作階段時執行此作業。

**注意**  
若要減少虛擬硬碟 (VHD) 的實體大小，請在結束工作階段之前清除資源回收筒。這也會減少上傳和下載時間，並改善整體使用者體驗。

**增加應用程式設定 VHD 的大小**
**注意**  
您必須先下載完整的 VHD，使用者才能串流應用程式。增加應用程式設定 VHD 的大小，會增加使用者開始應用程式串流工作階段所用的時間。

1. 開啟位於 [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/) 的 Amazon S3 主控台。

1. 在 **Bucket name (儲存貯體名稱)** 清單中，選擇包含您要擴展之應用程式設定 VHD 的 S3 儲存貯體。

1. 找出並選取包含 VHD 的資料夾。如需有關如何導覽 S3 儲存貯體資料夾結構的資訊，請參閱本主題[Amazon S3 儲存貯體儲存](#app-persistence-s3-buckets)先前的 。

   當您選取此資料夾時，即會顯示設定 VHD 和關聯的中繼資料檔案。

1. 將`Profile.vhdx`檔案下載到 Windows 電腦上的目錄。下載完成後請勿關閉瀏覽器，因為稍後要使用瀏覽器上傳擴展的 VHD。

1. 若要使用 Diskpart 將 VHD 的大小增加到 7 GB，請以管理員身分開啟命令提示，然後輸入下列命令。

   ```
   diskpart
   ```

   ```
   select vdisk file="C:\path\to\application\settings\profile.vhdx"
   ```

   ```
   expand vdisk maximum=7000
   ```

1. 然後，輸入下列 Diskpart 命令，找到並連接 VHD 清單，然後顯示磁碟區清單：

   ```
   elect vdisk file="C:\path\to\application\settings\profile.vhdx"
   ```

   ```
   attach vdisk
   ```

   ```
   list volume
   ```

   在輸出中，記下標籤為 "AwsEucUsers" 的磁碟區編號。在接下來的步驟中，選取此磁碟區以便擴大它。

1. 輸入下列命令，其中 `<volume-number>`是清單磁碟區輸出中的數字。

   ```
   select volume <volume-number>
   ```

1. 鍵入以下命令：

   ```
   extend
   ```

1. 輸入下列命令，確認 VHD 上的分割區大小如預期般增加 （在此範例中為 7 GB)：

   ```
   diskpart
   ```

   ```
   select vdisk file="C:\path\to\application\settings\profile.vhdx"
   ```

   ```
   list volume
   ```

1. 輸入以下命令分離 VHD 以便上傳它：

   ```
   detach vdisk
   ```

1. 回到使用 Amazon S3 主控台的瀏覽器，選擇**上傳**、**新增檔案**，然後選取擴大的 VHD。

1. 選擇**上傳**。

上傳 VHD 之後，下次使用者從已啟用應用程式設定持久性的集區串流時，即可使用較大的應用程式設定 VHD。