Share via


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

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

稼働日の終わりに開発ボックスを休止すると、仮想マシン (VM) のコストのかなりの部分を節約できます。 開発者が開発ボックスをシャットダウンし、開いているウィンドウやアプリケーションを失う必要性がなくなります。

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

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

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

重要

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

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

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

  • 現在、2 つの SKU で休止状態がサポートされています。8 個と 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)/メモリ整合性の機能はサポートされません。 開発ボックスでは、この機能が自動的に無効になります。

  • 自動停止スケジュールは、引き続き開発ボックスをシャットダウンします。 開発ボックスを休止状態にする場合は、開発者ポータルまたは Azure CLI を使用して実行できます。

    Note

    スケジュールで開発ボックスを自動的に休止状態にする機能は、プレビュー段階で使用することができます。 プレビュー には、Microsoft Dev Box - Auto-Hibernation Schedules Preview でサインアップできます。

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

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

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

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

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

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

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

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

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

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

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

Note

Microsoft Dev Box が Azure Marketplace で提供する 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 を使用して開発ボックスを構成する」をご参照ください。

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

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

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

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

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

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

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

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

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

    Screenshot that shows the dev center overview page and the menu option for dev box definitions.

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

    Screenshot of the list of existing dev box definitions and the edit (pencil) button.

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

    Screenshot of the page for editing a dev box definition, with Enable hibernation selected.

  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

トラブルシューティング

Dev Box 定義で休止状態を有効にしても、休止状態を有効にできなかったことが定義によって報告される場合:

  • 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