Microsoft Dev Box 内で休止状態を構成する

この記事では、Microsoft Dev Box 内で休止状態を有効および無効にする方法について説明します。 休止状態は、開発ボックスイメージと開発ボックス定義レベルで制御します。

終業時に開発ボックスを休止状態にすると、ご利用の仮想マシン (VM) コストのかなりの部分の節約に役立ちます。 開発者が開発ボックスをシャットダウンし、開いているウィンドウやアプリケーションを失う必要性がなくなります。

Dev Box Hibernation (プレビュー) の導入により、新しい開発ボックス上でこの機能を有効にし、休止状態にしたり再開したりすることができます。 この機能により、ご利用の作業環境を維持しながら開発ボックスを管理する便利な方法が提供されます。

休止状態を有効にするには、次の 3 つの手順があります。

  1. 開発ボックスイメージ上で休止状態を有効にする
  2. 開発ボックス定義上で休止状態を有効にする
  3. 自動停止スケジュールを使用して開発ボックス プールの休止状態を自動化するか、RDP 切断で停止します。

重要

開発ボックスの休止状態は、現在プレビュー段階です。 プレビュー状態の詳細については、「Microsoft Azure プレビューの追加の使用条件」を参照してください。 このドキュメントでは、ベータ版、プレビュー版、またはその他のまだ一般提供されていない Azure 機能に適用される法律条項を規定しています。

休止状態が有効なイメージに関する考慮事項

開発ボックスで休止状態を有効にする前に、休止状態が有効なイメージに関する次の考慮事項を確認してください。

  • 現在、次の 2 つの SKU が休止状態をサポートしています: 8 vCPU SKU および 16 vCPU SKU。 現在、32 vCPU SKU は休止状態をサポートしていません。

  • 休止状態が有効な開発ボックス定義で作成された新しい開発ボックス上でのみ、休止状態を有効にすることができます。 既存の開発ボックス上で休止状態を有効にすることはできません。

  • 開発ボックスを休止状態にするために使用できるのは、Microsoft 開発者ポータル、Azure CLI、PowerShell、SDK、および REST API のみです。 Windows の開発ボックス内から休止状態にすることはサポートされていません。

  • Azure Marketplace イメージを操作する場合は、開発ボックス イメージ用に Visual Studio を使用することをお勧めします。

  • Windows 11 Enterprise CloudPC + OS Optimizations イメージには最適化された電源設定が含まれており、休止状態では使用することができません。

  • 休止状態を有効にした後は、この機能をその開発ボックスでは無効にできません。 ただし、開発ボックスの "定義" 上で休止状態のサポートを無効にして、以降作成される開発ボックスの休止状態をなくすことはできます。

  • 休止状態を有効にするには、ご利用の Windows OS 内で入れ子になった仮想化を有効にする必要があります。 ご利用の DevBox イメージ内で "仮想マシン プラットフォーム" 機能が有効になっていない場合、休止状態を有効にすることを選択すると、DevBox では入れ子になった仮想化が自動的に有効になります。

  • 休止状態では、ハイパーバイザーで保護されたコード整合性 (HVCI)/メモリ整合性の機能はサポートされません。 開発ボックスでは、この機能が自動的に無効になります。

  • 自動停止スケジュールは、関連付けられている開発ボックス定義で休止状態を有効にした後に作成された開発ボックスを休止状態にします。 開発ボックス定義で休止状態を有効にする前に作成された開発ボックスは、引き続きシャットダウンされます。

    Note

    開発ボックスを自動的に休止状態にするようにスケジュールする機能は、パブリック プレビューとして利用できます。 このお知らせに関する詳細については、「Microsoft Dev Box - Auto-Hibernation Schedules Preview」を参照してください。

休止状態と互換性のない設定

次の設定は休止状態と互換性がないことがわかっているため、休止状態のシナリオがサポートされません。

  • メモリ整合性/ハイパーバイザーによるコード整合性

    メモリ整合性/ハイパーバイザー コード整合性を無効にするには:

    1. Windows の [スタート] メニューで、[Windows セキュリティ] を見つけて開きます。
    2. [デバイス セキュリティ] に移動します。
    3. [コア分離] で、[コア分離の詳細] を選びます。
    4. [メモリ整合性] で、トグルを [オフ] に設定します。

    この設定を変更した後、コンピューターを再起動する必要があります。

  • 入れ子になった仮想化が有効になっていない、ゲスト仮想セキュア モード ベースの機能

    入れ子になった仮想化を有効にするには:

    1. [スタート] メニューで、「Windows の機能の有効化または無効化」を検索します。
    2. ダイアログで、[仮想マシン プラットフォーム] チェック ボックスをオンにします。
    3. [OK] を選択して設定の変更を保存します。

開発ボックスイメージ上で休止状態を有効にする

Azure Compute Gallery からカスタム イメージを使用する予定の場合は、新しいイメージを作成する際に休止状態機能を有効にする必要があります。 既存のイメージに対して休止状態を有効にすることはできません。

Note

Azure Marketplace 内で Microsoft Dev Box が提供する Visual Studio と Microsoft 365 のイメージは、休止状態をサポートするように既に構成されています。 これらのイメージ上で休止状態を有効にする必要はありません。使用の準備ができています。

休止状態機能を有効にするには、イメージの作成時に IsHibernateSupported フラグを true に設定します。

az sig image-definition create 
--resource-group <resourceGroupName> --gallery-name <galleryName> --gallery-image-definition <imageName> --location <location> 
--publisher <publisherName> --offer <offerName> --sku <skuName> --os-type windows --os-state Generalized 
--features "IsHibernateSupported=true SecurityType=TrustedLaunch" --hyper-v-generation V2 

sysprep と一般化された VM を使用してカスタム イメージを作成する場合は、次のように Azure CLI を使用してイメージをキャプチャします。

az sig image-version create 
--resource-group <resourceGroupName> --gallery-name <galleryName> --gallery-image-definition <imageName> 
--gallery-image-version <versionNumber> --virtual-machine <VMResourceId>

カスタム イメージの作成について詳しくは、「Azure VM Image Builder を使用して開発ボックスを構成する」をご参照ください。

開発ボックス定義上で休止状態を有効にする

新しい開発ボックス定義が、休止状態が有効なカスタム イメージまたは Azure Marketplace イメージを使用するとき、Microsoft Dev Box でその定義に対して休止状態を有効にできます。 休止状態が有効なカスタム イメージまたは Azure Marketplace イメージを使用する既存の開発ボックス定義を更新することもできます。

休止状態が有効な開発ボックス定義を使用する開発ボックス プール内で作成された新しい開発ボックスはすべて、シャットダウンすることと休止状態にすることの両方が可能です。 休止状態が有効にされる前に作成された開発ボックスがプールにある場合、それらの開発ボックスは引き続きシャットダウンのみをサポートします。

Microsoft Dev Box は、休止状態のサポートのためにご利用のイメージを検証します。 イメージを使用して休止状態を正常に有効にできない場合、開発ボックス定義は検証に失敗することがあります。

Azure portal または Azure CLI を使用して、開発ボックス定義の休止状態を有効にできます。

Azure portal で休止状態を有効にする

  1. Azure portal にサインインします。

  2. 検索ボックス内で、「デベロッパー センター」と入力します。 結果一覧から、[デベロッパー センター] を選択します。

  3. 更新する開発ボックス定義が含まれるデベロッパー センターを開き、それから [開発ボックス定義] を選択します。

    デベロッパー センターの概要ページと、開発ボックス定義のメニュー オプションを示すスクリーンショット。

  4. 更新する開発ボックス定義を選び、次に編集 (鉛筆) ボタンを選びます。

    既存の開発ボックス定義の一覧と編集 (鉛筆) ボタンのスクリーンショット。

  5. [開発ボックス定義の編集] ページで、[休止状態を有効にする] を選びます。

    開発ボックス定義を編集するためのページのスクリーンショット。[休止状態を有効にする] が選択されています。

  6. [保存] を選択します。

Azure CLI で休止状態を有効にする

Azure CLI から開発ボックス定義の休止状態を有効にするには、イメージの作成時に hibernateSupport フラグを Enabled に設定します。

az devcenter admin devbox-definition update 
--dev-box-definition-name <devBoxDefinitionName> -–dev-center-name <devCenterName> --resource-group <resourceGroupName> –-hibernateSupport Enabled

トラブルシューティング

開発ボックス定義で休止状態を有効にしたが、休止状態を有効にできなかったことを定義が報告する場合:

  • Visual Studio for Dev Box Marketplace イメージを直接使用するか、カスタム イメージを生成するための基本イメージとして使用することをお勧めします。
  • Windows + OS の最適化イメージには最適化された電源設定が含まれており、休止状態では使用できません。
  • カスタム Azure Compute Gallery イメージを使用している場合は、Dev Box 定義で休止状態を有効にする前に、Azure Compute Gallery イメージで休止状態を有効にします。
  • ギャラリー イメージで有効にした後でも、定義で休止状態を有効にできない場合、カスタム イメージには休止を防ぐ Windows 構成が含まれている可能性があります。

詳細については、「休止状態と互換性のない設定」をご覧ください。

開発ボックス定義上で休止状態を無効にする

プールで休止状態を有効にした後に新しい VM のプロビジョニングに問題がある場合、開発ボックス定義で休止状態を無効にできます。 設定を開発ボックスのシャットダウンのみに戻すときにも、休止状態を無効にできます。

Azure portal または CLI を使用して、開発ボックス定義上で休止状態を無効にすることができます。

Azure portal で休止状態を無効にする

  1. Azure portal にサインインします。

  2. 検索ボックス内で、「デベロッパー センター」と入力します。 結果一覧から、[デベロッパー センター] を選択します。

  3. 更新する開発ボックス定義が含まれるデベロッパー センターを開き、それから [開発ボックス定義] を選択します。

  4. 更新する開発ボックス定義を選び、次に編集 (鉛筆) ボタンを選びます。

  5. [開発ボックス定義の編集] ページで、[休止状態を有効にする] をクリアします。

  6. [保存] を選択します。

Azure CLI で休止状態を無効にする

Azure CLI から開発ボックス定義の休止状態を無効にするには、イメージの作成時に hibernateSupport フラグを Disabled に設定します。

az devcenter admin devbox-definition update 
--dev-box-definition-name <devBoxDefinitionName> -–dev-center-name <devCenterName> --resource-group <resourceGroupName> –-hibernateSupport Disabled