[アップデート] Amazon WorkSpaces Personalでネストした仮想化がサポートされました
しばたです。
先日Amazon WorkSpaces Personalを扱っていたところ各WorkSpaceの設定に「ネスト仮想化」が増えていることに気づきました。
今日になってAWSからも正式にAmazon WorkSpaces Personalでネストした仮想化をサポートした旨のアナウンスがあったので本記事ではこちらを検証していきます。
更新内容
先述の通りAmazon WorkSpaces Personal(とAmazon WorkSpaces Core)でネストした仮想化がサポートされました。
本日時点ですべてのAmazon WorkSpaces Personalをサポートするリージョン[1]で利用可能となっており、ネストした仮想化の使用にあたり追加費用はかかりません。
具体的な要件は以下のドキュメントにまとまっています。
こちらによると以下の条件を満たすWorkSpace環境でネストした仮想化が使える様になっています。
- ライセンスモデル
- Public (AWS-provided) bundles
- Bring Your Own License (BYOL)
- Bring Your Own Protocol (BYOP)
- OS
- Windows Server 2019
- Windows Server 2022
- Windows Server 2025
- Windows 11 (BYOL専用)
- Ubuntu 22.04 以降
- Red Hat Enterprise Linux 8 以降
- Rocky 8 以降
- プロトコル
- DCV (WSP)
- Bring Your Own Protocol (BYOP)
- バンドルサイズ
- Value以上の非GPUバンドル
ざっくり言ってしまうと新しめのOSであればだいたい使える感じです。
PCoIPプロトコル環境は対象外ですが、既にPCoIPプロトコルの廃止が明言されているので問題無いでしょう。
AWSとしては4vCPU以上のバンドル(Power以上)で使うことを推奨しています。
2vCPUのバンドル(StandardとPerformance)でも利用自体は可能です。
制限事項としてAutoStopモードのWindows Server 2025 (およびWindows 11) WorkSpaceでネストした仮想化を有効にするとハイバネーションが使えなくなる(再開ではなく再起動になる)制限があるそうです。
また、Amazon WorkSpacesに限った話ではないですが、Windows環境におけるネストした仮想化はライセンス上の制約もあるので併せてご注意ください。
試してみた
ここから実際に試してみます。
私の検証用AWSアカウントの東京リージョンにAmazon WorkSpaces環境を一つ用意しました。
検証用のWorkSpaceをウィザードから作成していくと、カスタマイズ時に「ネスト仮想化」を選べる様になっていました。

ここで「ネスト仮想化を有効にする」にチェックを入れると以下の注意事項が表示されます。
前述の内容と同じなので改めて一読しておくと良いでしょう。

ネストされた仮想化を有効にしてワークロードをテストおよび検証し、パフォーマンス要件を満たしていることを確認することをお勧めします。4 個以上の vCPU を搭載したバンドルには、ネスト型仮想化をお勧めします。最高のエクスペリエンスを得るには、Power 以上へのアップグレードを検討してください。
Windows Server 2025 または Windows 11 を使用する AutoStop WorkSpaces は、ネスト仮想化が有効になっている場合のハイバネーションをサポートしていません。停止すると再開するのではなく再起動し、保存されていない作業は失われます。セッションを終了する前に作業内容を保存するか、AlwaysOn に切り替えてこの制限を回避してください。
作成したWorkSpaceはこんな感じです。
今回は日本語版Windows Server 2025のPerformanceバンドルにしています。

詳細欄に「ネスト仮想化」が増えているのが見て取れます。

このWorkSpaceにログインしてネスト仮想化が必須となるWSL2がインストールできるか確認します。
# WSL2のインストール
wsl --install

従来であればエラーになるのですが、今回はエラーなく無事インストールが完了しました。

WSL環境のバージョンを確認するとちゃんと2になっています。

いい感じですね。
ネスト仮想化の無効化、再有効化
既存環境に対するネスト仮想化の変更は「アクション」メニューから行えます。
対象WorkSpaceを選択し、アクションメニューから「ネスト仮想化を無効にする」を選ぶと無効化できます。

確認ダイアログが出るので確認フィールドに入力のうえ「無効化」ボタンをクリックして確定させます。

設定変更には少し時間がかかり、変更が完了すると無事無効化できます。

逆に有効にしたい場合はアクションメニューから「ネストした仮想化を有効にする」を選びます。

こちらも確認ダイアログが出るのですが、無効化よりも多くの注意書きが表示されます。

確認フィールドに入力のうえ「有効化」ボタンをクリックして確定させます。
有効化の場合は設定変更が完了するまでに結構な時間がかかりました。
コンピューティングタイプの変更
コンピューティングタイプの変更は特に問題無くできそうです。
(6時間制限のため動作確認まではできず...)

余談: WorkSpaceインスタンスタイプが新しくなっている + EC2でネストした仮想化のサポート範囲が増えている
以前の記事でも触れましたが、当初EC2でネストした仮想化がサポートされるのは第8世代のインスタンスタイプ(C8i, M8i, R8i)のみでした。
私の記憶ではWorkSpaces Personalの各バンドルは内部的にT3系インスタンスを使っていたのですが「ネストした仮想化をサポートした以上インスタンスタイプが変わったのか?」と思い確認してみました。
WorkSpace環境でもインスタンスメタデータにアクセスできるのでそこからインスタンスタイプを確認できます。
すると、Performanceバンドルがm7i-flex.largeであることが分かりました。
(事前にStandardバンドルを試したところ、こちらはc8i-flex.largeでもありました)
# Perfomanceバンドルは m7i-flex.large
PS D:\> Invoke-RestMethod http://169.254.169.254/latest/meta-data/instance-type
m7i-flex.large
# Standardバンドルは c8i-flex.large
PS D:\> Invoke-RestMethod http://169.254.169.254/latest/meta-data/instance-type
c8i-flex.large
# 余談 : Valueバンドルは t3.small のまま
PS D:\> Invoke-RestMethod http://169.254.169.254/latest/meta-data/instance-type
t3.small
結果として第7、第8世代インスタンスインスタンスに変わっていることが分かりました。
併せてEC2のドキュメントを再確認すると
Supported instance types – Nested virtualization is currently supported on C8i, M8i, R8i, C8id, R8id, M8id, C8i-flex, R8i-flex, M8i-flex, X8i, C7i, R7i, M7i, C7i-flex, M7i-flex, and I7i instances.
とネストした仮想化をサポートするインスタンスタイプが大幅に増えていることもわかりました。
最後に
以上となります。
EC2でネストした仮想化がサポートされた時からずっと待ってたのでかなり嬉しい更新です。特にWSL2が使える様になったのが最高ですね。
開発用途でAmazon WorkSpaces Personalを使っている方にとっては朗報かと思います。
中国とテルアビブは対象外 ↩︎









