AWS workspaces: Add nested virtualization modification documentation
Summary
Added section for enabling/disabling nested virtualization with notes on GPU incompatibility and VSM disablement.
Security assessment
Documents that enabling nested virtualization disables VSM (a security feature), which weakens WorkSpace security boundaries.
Evidence
* When nested virtualization is enabled on a Windows WorkSpace, Virtual Secure Mode (VSM) is automatically disabled.
Diff
diff --git a/workspaces/latest/adminguide/modify-workspaces.md b/workspaces/latest/adminguide/modify-workspaces.md index 93b10c746..140b3bdd9 100644 --- a//workspaces/latest/adminguide/modify-workspaces.md +++ b//workspaces/latest/adminguide/modify-workspaces.md @@ -7 +7 @@ -Modify volume sizesModify compute typeModify protocols +Modify volume sizesModify compute typeModify protocolsModify nested virtualization @@ -140,0 +141,2 @@ You can switch a WorkSpace between the Standard, Power, Performance, PowerPro Ge + * If you modify the compute type from a non-GPU-enabled bundle to a GPU-enabled bundle, nested virtualization is automatically disabled on the WorkSpace. GPU WorkSpaces do not support nested virtualization. For more information, see [Nested virtualization for WorkSpaces Personal](./nested-virtualization.html). + @@ -271,0 +274,62 @@ The `Protocols` property is case-sensitive. Ensure that you use `PCOIP` or `WSP` +## Modify nested virtualization + +You can enable or disable nested virtualization on your WorkSpaces to allow running hypervisors such as Hyper-V and KVM inside your WorkSpace. Nested virtualization is useful for running development tools like Docker Desktop, Windows Subsystem for Linux 2 (WSL2), Android Studio emulators, or QEMU within your WorkSpace. + +You can modify the nested virtualization setting using the AWS Management Console, AWS CLI, or Amazon WorkSpaces API. + +For more information about prerequisites, considerations, and detailed instructions including AWS CLI and AWS Tools for PowerShell examples, see [Nested virtualization for WorkSpaces Personal](./nested-virtualization.html). + +###### Note + + * Nested virtualization is not supported on GPU WorkSpaces. + + * Nested virtualization is not supported on Standby WorkSpaces. For more information, see [Multi-Region Resilience for WorkSpaces Personal](./multi-region-resilience.html). + + * When nested virtualization is enabled on a Windows WorkSpace, Virtual Secure Mode (VSM) is automatically disabled. + + * There is no additional cost for using nested virtualization. For more information, see [Amazon WorkSpaces pricing](https://aws.amazon.com/workspaces/pricing/). + + + + +###### To enable or disable nested virtualization using the console + + 1. Open the WorkSpaces console at [https://console.aws.amazon.com/workspaces/v2/home](https://console.aws.amazon.com/workspaces/v2/home). + + 2. In the navigation pane, choose **WorkSpaces**. + + 3. Select the WorkSpace. + + 4. Choose **Actions** , and then choose **Enable Nested Virtualization** or **Disable Nested Virtualization**. + + + + +###### Note + +The modification may take several minutes to complete. During the modification, the WorkSpace status shows as _Modifying_. After the modification completes, start the WorkSpace to use nested virtualization. + +###### Tip + +To verify the current nested virtualization state, select the WorkSpace in the console. In the detail view, the **Summary** section displays a **Nested Virtualization** field showing either `Enabled` or `Disabled`. + +###### To enable or disable nested virtualization using the AWS CLI + +Use the [modify-workspace-properties](https://docs.aws.amazon.com/cli/latest/reference/workspaces/modify-workspace-properties.html) command with the `NestedVirtualizationEnabled` property. + +To enable: + + + aws workspaces modify-workspace-properties \ + --workspace-id ws-example123456 \ + --region us-west-2 \ + --workspace-properties NestedVirtualizationEnabled=true + +To disable: + + + aws workspaces modify-workspace-properties \ + --workspace-id ws-example123456 \ + --region us-west-2 \ + --workspace-properties NestedVirtualizationEnabled=false +