次の方法で共有


Microsoft Dev Box 用に Azure Compute Gallery を構成する

この記事では、Microsoft Dev Box のデベロッパー センターに Azure コンピューティング ギャラリーを構成してアタッチする方法について説明します。 Azure Compute Gallery を使用すると、開発ボックス用にカスタマイズされたイメージを管理および共有でき、開発チームがワークフローを標準化して合理化するのに役立ちます。 コンピューティング ギャラリーをデベロッパー センターにアタッチすることで、保存されたイメージに基づいて開発ボックス定義を作成し、一貫性と効率性を確保できます。

コンピューティング ギャラリーを Microsoft Dev Box のデベロッパー センターにアタッチした後は、コンピューティング ギャラリーに格納されているイメージに基づいて開発ボックスの定義を作成できます。

ギャラリーを使用する利点:

  • 一元化されたイメージ管理: イメージを 1 つの場所に維持し、デベロッパー センター、プロジェクト、プール間で再利用します。
  • 常に最新の状態を維持: 開発チームが最新の検証済みイメージバージョンを確実に受け取り、一貫性のある開発ボックス作成を行えるようにします。
  • 標準化: チームは、新しいバージョンが検証されるまで、サポートされているイメージ バージョンを標準化できます。

Azure Compute Gallery の詳細とギャラリーの作成方法については、以下を参照してください。

前提条件

  • デベロッパー センター: デベロッパー センターがない場合は、「 デベロッパー センターを作成する」の手順に従います。
  • コンピューティング ギャラリー: コンピューティング ギャラリーが、開発ボックス定義で使用される イメージ要件 を満たしていることを確認します。

Note

Microsoft Dev Box では、コミュニティ ギャラリーはサポートされていません。

開発ボックスの定義を構成するために使用されるギャラリーには、少なくとも 1 つのイメージ定義と 1 つのイメージ バージョンが必要です。

仮想マシン (VM) イメージを作成するときに、Microsoft Dev Box と互換性のある Azure Marketplace からイメージを選択します。 以下は互換性のあるイメージの例です。

イメージ バージョンの要件

このイメージ バージョンは以下の要件を満たしている必要があります。

  • 第 2 世代

  • Hyper-V v2

  • Windowsオペレーティングシステム

  • 一般化された VM 画像

  • 単一セッション VM イメージ (複数セッション VM イメージはサポートされていません。)

  • 復旧パーティションはありません。

  • 既定の 64 GB OS ディスク サイズ。

    • OS ディスク のサイズは自動的に、Windows 365 ライセンスの SKU の説明で指定されているサイズに調整されます。
  • イメージをキャプチャする前に、データ ディスクを VM に接続することはできません。

  • イメージ定義では、セキュリティの種類としてトラステッド起動が有効になっている必要があります。 セキュリティの種類は、イメージ定義を作成するときに構成します。

    Windows 365 イメージ要件設定のスクリーンショット。

重要

  • Microsoft Dev Box のイメージの要件は、Windows 365 のイメージの要件を上回っており、開発ボックスの作成時間とパフォーマンスを最適化するための設定が含まれます。
  • Windows 365 の要件を満たしていないイメージは、作成可能なイメージの一覧には表示されません。

Note

Microsoft Dev Box では、Windows Insider Program からのプレビュー ビルドはサポートされていません。

プロビジョニングと起動の時間を短縮する

イメージにキャプチャする一般化された VM を作成すると、次の問題がプロビジョニングと起動時間に影響する可能性があります。

  1. 3 つの sysprep オプション /generalize /oobe /mode:vm を使用してイメージを作成します。

    • これらのオプションを使用すると、最初の起動時にドライバーの検索とインストールに時間がかからなくなります。 詳細については、「 Sysprep のコマンド ライン オプション」をご覧ください。
  2. OS ディスクで読み取り/書き込みキャッシュを有効にします。

    • キャッシュが有効であることを確認するには、Azure portal を開き、[イメージ] に移動します。 JSON ビューを選択し、properties.storageProfile.osDisk.caching の値が ReadWrite であることを確認します。
  3. ベース イメージで入れ子になった仮想化を有効にします。

    • UI で、[Windows の機能を有効化または無効化する] を開き、[Virtual Machine Platform] (仮想マシン プラットフォーム) を選択します。
    • あるいは PowerShell コマンド Enable-WindowsOptionalFeature -FeatureName VirtualMachinePlatform -Online を実行します。
  4. 次のコマンドを使用して、ディスク領域を節約し、プロビジョニング中に実行される長いメンテナンス タスクを回避するために、コンポーネント ストアをクリーンアップします。 DISM.exe /Online /Cleanup-Image /StartComponentCleanup

  5. DISM.exe /Online /Set-ReservedStorageState /State:Disabled コマンドを使用して、イメージでの、予約済みストレージの状態の機能を無効にします。

  6. イメージの作成時に defragchkdsk を実行し、スケジュールされたタスクの chkdiskdefrag を無効にします。

Azure Compute Gallery イメージを使用して開発ボックス定義を作成するときには、Microsoft Dev Box によってイメージが検証され、開発ボックス用にプロビジョニングする要件を満たしていることが確認されます。 また、イメージがアタッチされたネットワーク接続で指定されているリージョンにレプリケートされるので、開発ボックスの作成に必要なリージョン内に存在するようになります。

このサービスでこれらのアクションを実行できるようにするには、以下のようにギャラリーへのアクセス許可を付与する必要があります。

ユーザー割り当て ID をデベロッパー センターに追加する

  1. 手順に従ってユーザー割り当てマネージド ID を作成します

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

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

  4. デベロッパー センターを開きます。 左側のメニューで [ID] を選択します。

  5. [ユーザー割り当て済み] タブで、[+ 追加] を選択します。

  6. [ユーザー割り当てマネージド ID の追加] ペインで、手順 1 で作成したユーザー割り当てマネージド ID を選択し、[追加] を選択します。

    ユーザー割り当てマネージド ID を追加するためのウィンドウのスクリーンショット。

ロールの割り当て

Microsoft Dev Box の動作は、ギャラリーのアタッチ方法によって異なります。

  • Azure portal を使用してギャラリーをデベロッパー センターにアタッチすると、ギャラリーのアタッチ後、Dev Box サービスによって、必要なロールの割り当てが自動的に作成されます。
  • Azure CLI を使用してギャラリーをデベロッパー センターにアタッチすると、ギャラリーのアタッチ前に手動でデベロッパー センターのマネージド ID ロールの割り当てを作成する必要があります。

以下の手順を使用して、手動でロールを割り当てます。

デベロッパー センター用のマネージド ID

  1. Azure portal で、デベロッパー センターにアタッチするギャラリーを開きます。 Azure Compute Gallery を検索してギャラリーを見つけることもできます。

  2. 左側のメニューで、[アクセス制御 (IAM)] を選択します。

  3. [追加]>[ロール割り当ての追加] の順に選択します。

  4. 次のロールを割り当てます。 詳細な手順については、「Azure portal を使用して Azure ロールを割り当てる」を参照してください。

    設定
    Role [共同作成者] を選択します。
    アクセスの割り当て先 [マネージド ID] を選択します。
    メンバー デベロッパー センターにユーザー割り当て ID を追加したときに作成したユーザー割り当てマネージド ID を検索して選択します。

複数のデベロッパー センターとコンピューティング ギャラリーで同じマネージド ID を使用できます。 マネージド ID を追加したすべてのデベロッパー センターに、投稿者ロールの割り当てが追加されているギャラリー内のイメージに対する必要なアクセス許可が付与されます。

開発ボックスの定義でコンピューティング ギャラリーのイメージを使うには、最初に、ギャラリーをデベロッパー センターにアタッチすることで関連付ける必要があります。

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

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

  3. ギャラリーのアタッチ先となるデベロッパー センターを選択します。

    既存のデベロッパー センターのリストのスクリーンショット。

  4. 左側のメニューで、[Azure コンピューティング ギャラリー] を選択し、このデベロッパー センターにアタッチされているギャラリーを一覧表示します。

    コンピューティング ギャラリーのページのスクリーンショット。ギャラリーが一覧表示されていません。

  5. [+ 追加] を選択して、アタッチするギャラリーを選択します。

  6. [Azure コンピューティング ギャラリーの追加] で、目的のギャラリーを選択します。 同じ名前を持つ複数のギャラリーにアクセスできる場合は、サブスクリプション名がかっこで囲まれて表示されます。

    ギャラリーを選択するための領域のスクリーンショット。

  7. デベロッパー センターで名前が競合している場合は、このギャラリーに使用する一意の名前を指定する必要があります。

  8. [追加] を選択します。

  9. 目的のギャラリーが [Azure コンピューティング ギャラリー] ページに表示されようになったことを確認します。

    コンピューティング ギャラリーのページのスクリーンショット。サンプル ギャラリーが一覧表示されています。

ギャラリーを追加すると、ギャラリー内のイメージを使用して、開発ボックス定義を作成および更新するときに選択できます。

ギャラリーは、デベロッパー センターからデタッチできます。これにより、それらのイメージは開発ボックス定義の作成のために使用できなくなります。

Note

開発ボックス定義でアクティブに使用中のギャラリーは削除できません。 そのようなギャラリーを削除する前に、関連付けられている開発ボックス定義を削除するか、異なるギャラリーのイメージを使用するように定義を更新する必要があります。

開発ボックス定義でアクティブに使用されているギャラリーを削除することはできません。

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

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

  3. ギャラリーを削除するデベロッパー センターを選択します。

  4. 左側のメニューで、[Azure コンピューティング ギャラリー] を選択し、このデベロッパー センターにアタッチされているギャラリーを一覧表示します。

  5. 削除するギャラリーを選択したら、[削除] を選択します。

    コンピューティング ギャラリーのページ、選択されたギャラリー、[削除] ボタンのスクリーンショット。

  6. 確認ダイアログで [続行] を選択します。

ギャラリーはデベロッパー センターからデタッチされます。 ギャラリーとそのイメージは削除されず、必要に応じて再アタッチできます。