

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

# 管理使用者應用程式設定的 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。