次の方法で共有


Microsoft Dev Box デプロイ ガイド

この記事では、Microsoft Dev Box のデプロイを計画および実装するためのプロセス、構成オプション、考慮事項について説明します。

Microsoft Dev Box のデプロイには、組織内のさまざまな役割の関与が必要です。 各役割には、特定の責任と要件があります。 Microsoft Dev Box の実装を開始する前に、さまざまな役割からすべての要件を収集することが重要です。これらは、Microsoft Dev Box のさまざまなコンポーネントの構成設定に影響を与えるからです。 要件の概要を把握したら、組織内の Dev Box をロールアウトするためのデプロイ手順を実行できます。

概要: Dev Box デプロイのチェックリスト

  1. Azure サブスクリプションを構成し、Microsoft Entra および Intune とのテナントの整合性を確認します。
  2. ネットワーク (Microsoft ホステッド接続または Azure ネットワーク接続、必要に応じてハイブリッド) を計画および構成します。
  3. 管理者とユーザーの Azure RBAC グループ/役割を構成します。
  4. デベロッパー センターを作成します。
  5. デベロッパー センターまたはプロジェクトのネットワーク接続を構成します。
  6. イメージ ガバナンス用の Azure Compute Gallery (省略可能) を作成またはアタッチします。
  7. セットアップ タスク用のカスタマイズ カタログ (省略可能) をアタッチします。
  8. 開発ボックス定義 (イメージ + コンピューティング サイズ) を作成します。
  9. プロジェクトを作成し、開発ボックスの制限を設定します。
  10. 開発ボックス プールを作成します (ネットワーク接続と自動停止を選択します)。
  11. Microsoft Intune (デバイス構成、条件付きアクセス、特権管理) を構成します。

組織の役割と責任

Dev Box サービスは、組織内の 3 つのロール (プラットフォーム エンジニア、開発チーム リーダー、開発者) を想定して設計されています。 組織の規模と構造によっては、これらの役割の一部が個人またはチームによって組み合わされる場合があります。

これらの各役割には、組織内での Microsoft Dev Box のデプロイ中に負う特定の責任があります。

  • プラットフォーム エンジニア: IT 管理者と協力して、開発者チーム用の開発者のインフラストラクチャとツールを構成します。 これは、次のタスクで構成されます。

    • 開発チームのリーダーと開発者の ID と認証を有効にするように Microsoft Entra ID を構成する
    • 組織の Azure サブスクリプションでデベロッパー センターを作成および管理する
    • デベロッパー センター内でネットワーク接続、開発ボックス定義、コンピューティング ギャラリーを作成および管理する
    • デベロッパー センター内でプロジェクトを作成および管理する
    • 組織の Azure サブスクリプションでその他の Azure リソースを作成および構成する
    • 開発ボックスと Dev Box ユーザーへのライセンスの割り当て用として Microsoft Intune デバイス構成を構成する
    • 組織のリソースへの安全なアクセスと接続を有効にするようにネットワーク設定を構成する
    • 開発ボックスへのアクセスを承認するためのセキュリティの設定を構成する
  • 開発チームのリーダー: 開発者エクスペリエンスの作成および管理を支援します。 これには次のようなタスクがあります。

    • プロジェクト内で開発ボックス プールを作成および管理する
    • イメージ定義とカスタマイズに関するチーム固有の要件を定義する
    • イメージ定義を作成し、コンピューティング ギャラリーを構成するための入力をプラットフォーム エンジニアに提供する
  • 開発者: 割り当てられたプロジェクト内の 1 つ以上の開発ボックスをセルフサービスで提供します。

    • 開発者ポータルから開発ボックスに接続する
    • 開発者ポータルから開発ボックスを作成および管理する

Dev Box プラットフォームのエンジニア、チーム リーダー、開発者の役割と責任を示す図。

Microsoft Dev Box の要件を定義する

組織で Microsoft Dev Box のデプロイを準備する場合、最初にエンドユーザーと IT ガバナンスの要件を定義することが重要です。 たとえば、開発チームが地理的に分散しているか、セキュリティ ポリシーが設定されているか、特定のコンピューティング リソースが標準化されているかなどです。

Microsoft Dev Box には、特定の要件に応じてデプロイを最適化するために異なるコンポーネントごとにさまざまな構成オプションが用意されています。 これらの要件に基づいて、組織の具体的な Dev Box デプロイ プランと実装手順を微調整できるようになります。

たとえば、開発チームが中央データベースなどの企業リソースにアクセスする必要がある場合、これは、開発ボックス プールのネットワーク構成に影響し、追加の Azure ネットワーク コンポーネントが必要になる場合があります。

次の表に、Microsoft Dev Box のデプロイに影響する可能性がある要件、および Dev Box コンポーネントを構成する際の考慮事項を示します。

カテゴリ 要件 考慮事項
開発チームの構成 地理的に分散されたチーム。 開発ボックス プールのネットワーク接続の Azure リージョンにより、開発ボックスがホストされる場所が決まります。 開発者のマシンとその開発ボックスの間の待機時間を最適化するには、開発ボックス ユーザーの場所に最も近い開発ボックスをホストします。 地理的に分散された複数のチームがある場合は、複数のネットワーク接続および関連する開発ボックス プールを作成して、各リージョンに対応できます。
異なるチームのリーダーとアクセス許可がある複数のプロジェクト。 開発プロジェクトのアクセス許可は、デベロッパー センター内のプロジェクトのレベルで制御されます。 異なる開発チーム間で制御を分離する必要がある場合は、新しいプロジェクトの作成を検討してください。
Dev Box 構成 チームごとに開発ボックスのソフトウェア要件が異なる。 イメージ定義、カスタム イメージを作成するか、マーケットプレース イメージを使用して組織全体のさまざまなオペレーティング システム/ソフトウェア要件を表します。 イメージ定義では、YAML ベースのカスタマイズ ファイルが使用され、コンピューティングとストレージを独立して選択できます。 たとえば、データ サイエンス ツールを使用してデータ サイエンティスト用のイメージ定義を作成します。 プロジェクト内に開発ボックス プールを作成する場合は、使用可能なイメージ ソースから選択し、コンピューティング サイズとストレージを個別に選択できます。
複数のコンピューティング/リソース構成。 最新の開発ボックス プールを使用すると、コンピューティング サイズとストレージを個別に選択できるため、従来の開発ボックス定義よりも柔軟性が高くなります。 チームの要件に基づいて開発ボックス プールを作成するときに、適切なコンピューティング構成とストレージ構成を選択します。
開発者が開発ボックスをカスタマイズできる。 開発者ごとのカスタマイズ (ソース管理リポジトリや開発者ツール設定の構成など) では、開発ボックスのカスタマイズを有効にすることができます。
組織固有の VM イメージを標準化する。 デベロッパー センターを構成する場合、組織に固有の VM イメージが含まれる 1 つ以上の Azure Compute Gallery を指定できます。 コンピューティング ギャラリーを使用すると、承認された VM イメージのみが開発ボックスの作成に使用されるよう徹底できます。
ID およびアクセス Microsoft Entra ID を使用したクラウド専用のユーザー管理。 ユーザー管理ソリューションは、開発ボックス プールを作成するためのネットワーク オプションに影響します。 Microsoft Entra ID を使用する場合、Microsoft ホステッド ネットワークと独自のネットワークの両方を選択できます。
ユーザーが Active Directory アカウントを使用してサインインする。 Active Directory Domain Services でユーザーを管理する場合、Microsoft Entra ハイブリッド参加を使用して Microsoft Dev Box と統合する必要があります。 このため、開発ボックス プールを作成するときに Microsoft ホステッド ネットワーク オプションを使用することはできません。また、ハイブリッド ネットワーク接続を有効にするには Azure ネットワークを使用する必要があります。
ネットワークと接続性 他の Azure リソースへのアクセス権。 その他の Azure リソースにアクセスする必要がある場合、Azure ネットワーク接続を設定する必要があります。 その結果、開発ボックス プールを作成するときに Microsoft ホステッド ネットワーク オプションを使用できなくなります。
企業リソースへのアクセス (ハイブリッド接続)。 企業リソースにアクセスするには、Azure ネットワーク接続を構成してから、サードパーティの VPN、Azure VPN、または Azure ExpressRoute を使用してハイブリッド接続を構成する必要があります。 その結果、開発ボックス プールを作成するときに Microsoft ホステッド ネットワーク オプションを使用できなくなります。
カスタム ルーティング。 カスタム ルーティングが必要な場合、Azure ネットワーク接続を設定する必要があります。 その結果、開発ボックス プールを作成するときに Microsoft ホステッド ネットワーク オプションを使用できなくなります。
ネットワークのセキュリティ ネットワーク セキュリティ グループ (NSG) を使用してトラフィック制限を構成する。 受信トラフィックまたは送信トラフィックを制限するためにネットワーク セキュリティ グループが必要な場合、Azure ネットワーク接続を設定する必要があります。 その結果、開発ボックス プールを作成するときに Microsoft ホステッド ネットワーク オプションを使用できなくなります。
ファイアウォールを使用する。 ファイアウォールまたはアプリケーション ゲートウェイを使用するには、Azure ネットワーク接続を設定する必要があります。 その結果、開発ボックス プールを作成するときに Microsoft ホステッド ネットワーク オプションを使用できなくなります。
デバイス管理 開発ボックスへのアクセスをマネージド デバイスのみに制限するか、地理的な場所に基づいて制限する。 Microsoft Intune を使用して、動的デバイス グループと条件付きアクセス ポリシーを作成できます。 Intune 条件付きアクセス ポリシーを構成する方法をご確認ください。
さまざまなデバイスでデバイスの設定と機能を構成する。 開発ボックスがプロビジョニングされたら、Microsoft Intune 内のその他任意のデバイスと同様にそれを管理できます。 デバイス構成プロファイルを作成して、さまざまな設定のオンとオフを切り替えることができます。

Microsoft Dev Box のカスタマイズ」も参照してください。

[前提条件]

  • Microsoft Entra テナントにリンクされている Azure サブスクリプション。 Dev Box リソースと Microsoft Intune は、同じテナントに存在する必要があります。
  • Dev Box ユーザーごとに 1 つの Microsoft Intune ライセンス。
  • アクセス用の Azure RBAC グループ/役割: Microsoft Entra グループ経由で割り当てられたプロジェクト管理者と Dev Box ユーザー。
  • 必要に応じたネットワークの前提条件 (ハイブリッド シナリオ用のオンプレミス リソースへの接続など)。

Microsoft Dev Box をデプロイする

要件を定義したら、Microsoft Dev Box のデプロイを開始できます。 Microsoft Dev Box は、デベロッパー センター、プロジェクト、開発ボックス定義など、複数の Azure リソースで構成されます。 Dev Box には、その他の Azure サービスや Microsoft Intune への依存関係もあります。 詳細については、Microsoft Dev Box アーキテクチャをご確認ください。

Microsoft Dev Box をデプロイするには、Azure、Intune、インフラストラクチャ全体にわたる複数のサービスを作成および構成する必要があります。 次のセクションでは、組織に Microsoft Dev Box をデプロイするためのさまざまな手順について説明します。 一部の手順は省略可能であり、特定の組織の設定によって異なります。

手順 1: Azure サブスクリプションを構成する

サブスクリプションは、Azure 内での管理、課金、スケールの単位です。 1 つ以上のサブスクリプションを使用して、組織の構造、ガバナンス モデル、リソース クォータ、コスト管理をサポートできます。 Dev Box では、異なるチームや部門に異なるサブスクリプションを割り当てることで、柔軟な課金が可能になります。 これにより、クラウド コストがビジネスの運営方法に合わせて調整されます。 詳細については、Azure サブスクリプションの作成に関する考慮事項をご確認ください。

すべての Azure サブスクリプションは、Azure サブスクリプションの ID プロバイダー (IdP) として機能する 1 つの Microsoft Entra テナントにリンクされています。 Microsoft Entra テナントは、ユーザー、サービス、およびデバイスを認証するために使用されます。

各 Dev Box ユーザーには、Microsoft Intune ライセンスが必要です。 Dev Box Azure リソース (デベロッパー センター、プロジェクトなど) が含まれる Azure サブスクリプションは、Microsoft Intune と同じテナント内にある必要があります。

手順 2: ネットワーク コンポーネントを構成する

開発ボックスでは、リソースにアクセスするためにネットワーク接続が必要です。 Microsoft ホステッド ネットワーク接続またはユーザーが独自のサブスクリプション内に作成する Azure ネットワーク接続を選択します。 Azure ネットワーク接続を使用する場合、Azure 内、および必要な場合は組織のネットワーク内で、対応するネットワーク コンポーネントを構成します。

構成することが必要な可能性があるネットワーク コンポーネントの例を次に示します。

  • Azure 仮想ネットワーク (VNet)
  • 仮想ネットワーク ピアリング
  • ネットワーク セキュリティ グループ (NSG)
  • Azure Firewall などのファイアウォール、またはその他のファイアウォール ソリューション
  • Azure ExpressRoute
  • VPN またはゲートウェイ

次の要件がある場合は、Azure ネットワーク接続を使用し、それに応じてネットワークを構成する必要があります。

  • ライセンス サーバー、プリンター、またはバージョン管理システムなどのオンプレミス リソースに開発ボックスからアクセスする
  • Azure Cosmos DB や Azure Kubernetes Service (AKS) クラスターなどの他の Azure リソースにアクセスする
  • ファイアウォールまたはネットワーク セキュリティ グループ (NSG) を介してアクセスを制限する
  • カスタム ネットワーク ルーティング ルールを定義する
  • Microsoft Entra ID 以外のユーザーを管理する

Microsoft Entra ハイブリッド参加を通じてオンプレミスのリソースに接続する場合は、Azure ネットワーク トポロジの専門家と協力してください。 ハブアンドスポーク ネットワーク トポロジを実装する ハブは、オンプレミス ネットワークに接続するための中心点です。 ExpressRoute、サイト間 VPN、またはポイント対サイト VPN を使用します。 スポークは、開発ボックスを含む仮想ネットワークです。 開発ボックス仮想ネットワークを、オンプレミスのリソースに接続する仮想ネットワークとピアリングして、アクセスを提供します。 ハブアンドスポーク トポロジは、ネットワーク トラフィックとセキュリティの管理に役立ちます。

ネットワーク計画には、必要になる IP アドレスの数の見積もりと、それらの VNet への分散方法を含める必要があります。 Azure ネットワーク接続の正常性チェックのために、追加の空き IP アドレスが必要になります。 開発ボックスごとに 1 つの追加の IP アドレスと、正常性チェックと Dev Box インフラストラクチャ用の 2 つの IP アドレスを計画します。

詳細については、Microsoft Dev Box のネットワーク要件をご確認ください。

Dev Box アーキテクチャを計画する場合、プライマリ リージョンとバックアップ リージョンの両方を選択します。 待機時間を最適化し、クォータの問題を回避するために、開発者に近いプライマリ リージョンを選択します。 バックアップ リージョンを使用すると、ディザスター リカバリー シナリオに備え、必要に応じて迅速に移行できます。 たとえば、インドと米国の間など、分散チームの中心となる場所にデベロッパー センターを配置し、各開発グループに最も近いリージョンにプールを配置します。 たとえば、米国西部は Redmond ベースの開発者に適しており、米国中部は継続性を維持するのに適したバックアップ用のリージョンです。 リージョンごとに 2 つのネットワーク接続を構成します。

手順 3: 役割ベースのアクセス制御用のセキュリティ グループを構成する

Microsoft Dev Box では、Azure 役割ベースのアクセス制御 (Azure RBAC) を使用して、サービスの機能へのアクセス権を付与します。

  • Microsoft Dev Box プロジェクトで管理タスクを実行するためのアクセス権をプロジェクト管理者に付与する (プロジェクト管理者の役割)
  • Dev Box プロジェクトで開発ボックスを作成および管理するためのアクセス権を開発ボックスのユーザーに付与する (Dev Box ユーザーの役割)

各プロジェクトの管理者とユーザーのアクセス権を付与するか取り消す場合、Microsoft Entra ID でセキュリティ グループを作成することを検討してください。 セキュリティ グループを使用すると、Azure リソースに対するアクセス許可とは関係なく、アクセス権を付与するタスクを委任できます。 たとえば、開発ボックスのユーザーへのアクセス権の付与をそのプロジェクトの開発チームのリーダーに委任できます。

詳細については、Microsoft Entra ID グループをご確認ください。

手順 4: デベロッパー センターを作成する

Microsoft Dev Box の使用を開始するには、まず開発センターを作成します。 Microsoft Dev Box のデベロッパー センターは、プロジェクトのコレクション、利用可能な開発ボックスのイメージとサイズの構成、組織のリソースへのアクセスを可能にするネットワーク設定を管理するための一元的な場所を提供します。

次の場合は、複数のデベロッパー センターを作成することを検討してください。

  • 特定の構成をプロジェクトのサブセットで使用できるようにする場合。 デベロッパー センター内のすべてのプロジェクトが、同じ開発ボックス定義、ネットワーク接続、カタログ、コンピューティング ギャラリーを共有します。

  • 異なるユーザーが Azure でデベロッパー センター リソースを所有および維持する必要がある場合。

デベロッパー センターがある Azure リージョンは、開発ボックスの場所を決定しません。

詳細については、Microsoft Dev Box 用のデベロッパー センターを作成する方法についてご確認ください。

手順 5: ネットワーク接続を構成する

ネットワーク接続は、開発ボックスがどこに作成されホストされるかを制御し、他の Azure リソースまたは会社のリソースに接続することを可能とします。 制御のレベルに応じて、Microsoft がホストするネットワーク接続を使用するか、独自の Azure ネットワーク接続を利用することができます。

Microsoft がホストするネットワーク接続は、SaaS 方式でネットワーク接続を提供します。 Microsoft は、開発ボックス用のネットワーク インフラストラクチャと関連サービスを管理します。 Microsoft がホストするネットワークは、Microsoft Entra 参加をサポートするクラウド専用デプロイです。 この選択肢は、Microsoft Entra ハイブリッド参加モデルと互換性がありません。

Microsoft ホステッド ネットワーク接続が作成され、特定のデベロッパー センター プロジェクトに割り当てられます。 プロジェクトごとに複数のネットワーク接続を作成できます。 プロジェクトで作成されたネットワーク接続は、その他のプロジェクトと共有されません。

また、Azure ネットワーク接続を使用して (独自ネットワークを持ち込んで) Azure 仮想ネットワークに接続し、必要に応じて会社のリソースに接続することもできます。 Azure ネットワーク接続では、ネットワークのセットアップと構成全体を管理して制御します。 Azure ネットワーク接続では Microsoft Entra 参加または Microsoft Entra ハイブリッド参加オプションを使用でき、オンプレミスの Active Directory Domain Services (AD DS) に接続できます。

Azure ネットワーク接続を作成し、デベロッパー センターに割り当てます。 デベロッパー センター内のすべてのプロジェクトが、デベロッパー センター内のネットワーク接続を共有します。

次のシナリオでは、別のネットワーク接続を作成することを検討してください。

  • 開発者またはチームが、別の地理的リージョンに配置されています。 ネットワーク接続リージョンにより、開発ボックスがホストされる場所が決まります。
  • 開発者またはチームが、Azure リソースにアクセスする必要があります。 使用シナリオごとに個別の Azure ネットワーク接続を作成することを検討します (たとえば、ソース管理サーバーへのアクセス、Web アプリとデータベース サーバーへのアクセスなど)。
  • 開発者またはチームが、企業のオンプレミス リソースにアクセスする必要があります。 Azure ネットワーク接続を作成し、ハイブリッド接続用として構成します。
  • 開発ボックス ユーザーが、Active Directory アカウントで認証する必要があります。 Azure ネットワーク接続を作成し、ハイブリッド接続用として構成します。

手順 6: コンピューティング ギャラリーを作成する

既定では、開発ボックス定義では、Azure Marketplace から Dev Box と互換性のある任意の仮想マシン (VM) イメージを使用できます。 1 つ以上の Azure コンピューティング ギャラリーをデベロッパー センターに割り当て、すべてのデベロッパー センター プロジェクトで使用できる VM イメージを制御できます。

Azure Compute Gallery は、イメージを管理および共有するためのサービスです。 ギャラリーは、Azure サブスクリプションに格納されるリポジトリで、イメージ リソースに関連する構造と体系を構築するのに役立ちます。

次の場合は、Azure コンピューティング ギャラリーの使用を検討してください。

  • 開発チームは、新しいバージョンが検証されるまで、サポート対象となるイメージ バージョンを標準化できます。
  • 開発チームは、開発ボックスの作成時に、最新バージョンのイメージ定義を使用して常に最新のイメージを確実に受け取ることができます。
  • 開発チームは、プロジェクトまたは使用シナリオ用のソフトウェア コンポーネントと構成を使用して事前構成されたイメージから選択できます。 たとえば、データ サイエンス プロジェクトの画像、フロントエンド Web 開発用のイメージなどです。
  • イメージを 1 か所に保持し、デベロッパー センター、プロジェクト、プール間で使用する必要があります。

カスタム VM イメージを作成する場合、開発ボックスのカスタマイズ タスクを使用して、VM イメージのバリエーションの数を制限し、開発者自身が開発ボックスの構成を微調整できるようにすることも検討してください。 たとえば、汎用開発イメージを作成し、カスタマイズを使用して、開発者が特定の開発タスク用に構成し、ソース コード リポジトリを事前に構成できるようにすることができます。

詳細については、デベロッパー センター用のコンピューティング ギャラリーを構成する方法をご確認ください。

手順 7: カタログをアタッチする

開発ボックスのユーザーは、セットアップ タスクを使用して開発ボックスをカスタマイズできます。たとえば、追加のソフトウェアのインストールしたり、リポジトリをクローンしたりできます。 これらのタスクは、開発ボックスの作成プロセスの一環として実行されます。 開発ボックスのカスタマイズとセットアップ タスクを使用すると、プロジェクト用として維持する必要がある VM イメージの数を減らすことができます。

セットアップ タスクは、GitHub リポジトリまたは Azure DevOps リポジトリなどのカタログ内で定義されます。 デベロッパー センターに 1 つ以上のカタログをアタッチします。 すべてのタスクが、デベロッパー センター内のすべてのプロジェクト全体で作成されたすべての開発ボックスで使用できます。

Microsoft からは、カスタマイズを始めるのに役立つクイック スタート カタログが提供されています。 このカタログには、WinGet または Chocolatey を使用したソフトウェアのインストール、リポジトリのクローン、アプリケーションの構成、PowerShell スクリプトの実行など、一般的なセットアップ タスクを定義する一連の既定のタスクが含まれています。

次の場合は、カタログをアタッチすることを検討してください。

  • 開発ボックスのユーザーには、開発ボックスの個別のカスタマイズ要件がある
  • 開発チームに、開発ボックスをカスタマイズするために標準化された一連のオプションを提供する必要がある
  • 維持する VM イメージと開発ボックス定義の数を制限する必要がある

クイック スタート カタログ内のタスクが不十分である場合、新しいカタログを作成することを検討してください。 クイック スタート カタログと独自のカタログの両方をデベロッパー センターにアタッチできます。

開発ボックスのカスタマイズを作成する方法をご確認ください。

手順 8: 開発ボックス定義を作成する

開発ボックス定義には、VM イメージ、コンピューティング リソース (メモリ、CPU など)、ストレージが指定された開発ボックスの構成が含まれます。

開発ボックス定義は、デベロッパー センターのレベルで構成します。 すべてのデベロッパー センター プロジェクトが、デベロッパー センター内の開発ボックス定義を共有します。

次の場合は、1 つ以上の開発ボックス定義を作成することを検討してください。

  • 開発チームには、別のオペレーティング システム バージョンまたはその他のアプリケーションが必要であるため、異なる VM イメージが必要である。
  • 開発チームには、異なるコンピューティング リソースの要件がある。 たとえば、データベース管理者には大量のストレージとメモリを備えたマシンが必要な場合があります。

デプロイの総コストを評価するために、開発ボックス定義に関連するコンピューティング リソースのコストを検討してください。

決定の要約

  • オンプレミス/企業リソースへのアクセスが必要である: Microsoft Entra ハイブリッド参加を使用して Azure ネットワーク接続を使用します。
  • 厳密なエグレス制御 (NSG/ファイアウォール/カスタム ルーティング) が必要である: Azure ネットワーク接続を使用します。
  • クラウドのみの最小限の管理: Microsoft Entra 参加を使用して Microsoft ホステッド ネットワーク接続を使用します。
  • 地理的に分散されたチーム: リージョンごとにネットワーク接続と開発ボックス プールを作成します。必要に応じて、Azure Compute Gallery 経由でイメージをレプリケートします。
  • イメージの増加を減らす: カスタマイズ タスクとカタログを優先します。必要な場合にのみ、専用のイメージを作成します。

手順 9: プロジェクトを作成する

Microsoft Dev Box では、プロジェクトを作成し、デベロッパー センターに関連付けます。 通常、プロジェクトは、組織内の開発プロジェクトに対応しています。 たとえば、基幹業務アプリケーションの開発用のプロジェクトと、会社の Web サイトの開発用の別のプロジェクトを作成できます。

プロジェクト内では、開発ボックスのユーザーが開発ボックスを作成するために使用できる開発ボックス プールのリストを定義します。 プロジェクト レベルでは、開発ボックスのユーザーが作成できる開発ボックスの数の制限を指定できます。

Microsoft Dev Box では、Azure ロールベースのアクセス制御 (Azure RBAC) を使用して、プロジェクト レベルで機能へのアクセス権を付与します。

  • Microsoft Dev Box プロジェクトで管理タスクを実行するためのアクセス権をプロジェクト管理者に付与する (プロジェクト管理者の役割)
  • Dev Box プロジェクトで開発ボックスを作成および管理するためのアクセス権を開発ボックスのユーザーに付与する (Dev Box ユーザーの役割)

Microsoft Entra ID グループを使用して、プロジェクトの開発ボックスのユーザーと管理者のアクセスを管理することを検討してください。

次の場合は、デベロッパー センター プロジェクトを作成することを検討してください。

  • ソフトウェア開発プロジェクト用として標準化された一連のクラウド開発者ワークステーションを開発チームに提供する必要がある
  • 個別のプロジェクト管理者とアクセス許可が存在する複数の開発プロジェクトがある

詳細については、プロジェクトを作成および管理する方法をご確認ください。

手順 10: 開発ボックス プールを作成する

プロジェクト内で、プロジェクト管理者は 1 つ以上の開発ボックス プールを作成できます。 開発ボックス ユーザーは、開発者ポータルを使用して、開発ボックスを作成するための開発ボックス プールを選択します。

開発ボックス プールは、開発ボックス定義とネットワーク接続をリンクします。 Microsoft ホステッド接続または独自の Azure ネットワーク接続から選択できます。 ネットワーク接続の場所により、開発ボックスがホストされる場所が決まります。 開発ボックスのユーザーに最も近いネットワーク接続を持つ開発ボックス プールを作成することを検討してください。

開発ボックスの実行コストを削減するために、開発ボックス プール内の開発ボックスが事前に定義された時刻に毎日シャットダウンするように構成できます。

次の場合は、開発ボックス プールを作成することを検討してください。

  • 開発チームが必要とする開発ボックス プールを開発ボックス定義ごとに作成する。
  • ネットワーク待機時間を短縮するために、開発ボックスのユーザーがいる地理的な場所ごとに開発ボックス プールを作成する。 開発ボックスのユーザーに最も近いネットワーク接続を選択します。
  • その他の Azure リソースまたはオンプレミス リソースにアクセスする必要がある開発者向けの開発ボックス プールを作成する。 開発ボックス プールを構成するときに、デベロッパー センター内の Azure ネットワーク接続のリストから選択します。

詳細については、開発ボックス プールを作成および管理する方法をご確認ください。

手順 11: Microsoft Intune を構成する

Microsoft Dev Box では、Microsoft Intune を使用して開発ボックスを管理します。 Microsoft Intune 管理センターを使用して、Dev Box のデプロイに関連する Intune 設定を構成します。

すべての Dev Box ユーザーはそれぞれ 1 つの Microsoft Intune ライセンスが必要であり、複数の開発ボックスを作成できます。

デバイス構成

開発ボックスがプロビジョニングされたら、Microsoft Intune 内の他の Windows デバイスと同様にそれを管理できます。 たとえば、デバイス構成プロファイルを作成して、Windows でさまざまな設定のオンとオフを切り替えたり、ユーザーの開発ボックスにアプリや更新プログラムをプッシュしたりできます。

条件付きアクセス ポリシーを構成する

Intune を使用して、条件付きアクセス ポリシーを構成して開発ボックスへのアクセスを制御できます。 Dev Box の場合、条件付きアクセス ポリシーを構成して、Dev Box にアクセスできるユーザー、実行できること、アクセス元の場所を制限するのが一般的です。 条件付きアクセス ポリシーを構成するには、Microsoft Intune を使用して動的デバイス グループと条件付きアクセス ポリシーを作成します。

Microsoft Dev Box の条件付きアクセスの使用シナリオには、次のようなものがあります。

  • 開発ボックスへのアクセスをマネージド デバイスのみに制限する
  • 開発ボックスからコピー/貼り付けする機能を制限する
  • 開発ボックスへのアクセスを特定の地域からのみに制限する

Dev Box 用の条件付きアクセス ポリシーを構成する方法をご確認ください。

特権管理

開発ボックス用の Microsoft Intune エンドポイント特権管理 (EPM) を構成して、開発ボックスのユーザーにローカル管理特権が必要なくなるようにすることができます。 Microsoft Intune エンドポイント特権管理を使用すると、組織のユーザーが (管理者特権のない) 標準ユーザーとして実行しながら、昇格された特権を必要とするタスクを完了できるようになります。 一般的に管理者特権が必要なタスクには、アプリケーションのインストール (Microsoft 365 アプリケーションなど)、デバイス ドライバーの更新、特定の Windows 診断の実行などがあります。

詳細については、Microsoft Dev Box 用の Microsoft Intune エンドポイント特権を構成する方法をご確認ください。

コストと運用に関する考慮事項

  • コストを削減するために、開発ボックス プールで自動停止スケジュールを構成します。
  • オーバープロビジョニングを回避するために、ワークロードに一致する開発ボックス定義で VM サイズを選択します。
  • イメージを使用する場合に、イメージのバージョン管理と検証の頻度を定義します。
  • カスタマイズ タスクを使用して基本イメージの汎用性を保ちます。作成時間が重要になった場合は、検証後に再利用可能なイメージを生成することを検討してください。

監視とトラブルシューティング

  • Azure アクティビティ ログを使用して、デベロッパー センターとプロジェクト リソースへの変更を監査します。
  • Microsoft Entra サインイン ログで、開発ボックスと開発者ポータルへのアクセスに関する問題を確認します。
  • Intune レポートを使用して、開発ボックスのデバイス コンプライアンス、構成、アプリのデプロイ状態を確認します。
  • 接続の問題を診断するときに、Azure ネットワーク接続の正常性と必要な無料 IP を確認します。