Share via


Microsoft Dev Box アーキテクチャの概要

この記事では、Microsoft Dev Box のアーキテクチャと主要概念について学習します。 Microsoft Dev Box を使用すると、開発者は、事前構成されていて、すぐにコーディングできるクラウドベースのワークステーションにセルフサービスでアクセスできます。 開発チームとプロジェクトの構造に合うようにこのサービスを構成して、安全にリソースにアクセスするためのセキュリティとネットワークの設定を管理することができます。

Microsoft Dev Box は、Azure Deployment Environments と同じ基盤の上に構築されています。 Deployment Environments では、アプリケーションを開発するための構成済みのクラウドベース環境が開発者に提供されます。 両サービスは相補的なもので、デベロッパー センターやプロジェクトなど、特定のアーキテクチャ コンポーネントを共有しています。

Microsoft Dev Box はどのように動作しますか?

開発者が開発者ポータルで開発ボックスを作成する前に、Microsoft Dev Box でデベロッパー センターとプロジェクトを設定します。 次の図は、Microsoft Dev Box 内のさまざまなコンポーネント間の関係の概要を示しています。

Microsoft Dev Box 内のさまざまなコンポーネント間の関係の概要を示す図。

デベロッパー センターは、Microsoft Dev Box の最上位リソースです。 デベロッパー センターには、プロジェクトのコレクションと、これらのプロジェクトの共有リソース (開発ボックス定義やネットワーク接続など) が含まれています。 作成できるデベロッパー センターの数に制限はありませんが、ほとんどの組織で必要なのは 1 つだけです。

開発ボックス プロジェクトは、開発チームにとってのアクセス ポイントです。 開発者にプロジェクトに対する Dev Box ユーザー ロールを割り当てて、開発ボックスを作成する開発者アクセス許可を付与します。 デベロッパー センター内では 1 つ以上のプロジェクトを作成できます。

開発ボックス定義は、開発ボックスの仮想マシン イメージやコンピューティング リソースなど、開発ボックスの構成を指定します。 Azure Marketplace から VM イメージを選択するか、カスタム VM イメージを使用するために Azure Compute Gallery を使用することができます。

プロジェクトには、開発ボックス プールのコレクションが含まれています。 開発ボックス プールは、開発ボックス定義、ネットワーク接続、その他の設定などの開発ボックスの構成を指定します。 開発ボックス プールから作成されるすべての開発ボックスは、同じ構成を共有します。

開発ボックス プールに関連付けられているネットワーク接続によって、開発ボックスがどこでホストされるかが決まります。 Microsoft によってホストされるネットワーク接続を使用するか、独自の Azure ネットワーク接続を利用することができます。 仮想ネットワークを制御する必要がある場合や、会社のリソースにアクセスする必要がある場合、または Active Directory アカウントで開発ボックスに対して認証を行うには、Azure ネットワーク接続を使用できます。

開発者は、開発者ポータルを使用することで開発ボックス プールから開発ボックスを作成できます。 VM イメージ、コンピューティング リソース、または開発ボックスがホストされる場所に基づいて、特定のプールから選択を行えます。

開発ボックスが実行中になると、開発ボックス ユーザーは、リモート デスクトップ クライアントを使用することで、またはブラウザーから直接、開発ボックスにリモートで接続できます。 開発ボックス ユーザーは、自分が作成した開発ボックスを完全に制御でき、開発者ポータルからそれらを管理できます。

Microsoft Dev Box アーキテクチャ

"代理ホステッド アーキテクチャ" によって、Microsoft サービスは、サブスクリプション所有者によって適切なスコープの仮想ネットワークへのアクセス許可が委任された後、ホストされた Azure サービスを顧客サブスクリプションにアタッチできます。 この接続モデルによって、Microsoft サービスは、標準的な従量課金ベースのサービスではなく、サービスとしてのソフトウェアとユーザー ライセンス サービスを提供できます。

Microsoft Dev Box は "代理ホステッド" アーキテクチャを使用します。つまり、開発ボックスは Microsoft が所有するサブスクリプション内に存在します。 そのため、Microsoft には、このインフラストラクチャを実行して管理するためのコストが発生します。

Microsoft Dev Box は、Microsoft Dev Box サブスクリプションの容量とリージョン内の可用性を管理します。 Microsoft Dev Box は、利用者が開発ボックス プールの作成時に選択したネットワーク接続に基づいて、開発ボックスをホストする Azure リージョンを決定します。

ネットワーク接続に関しては、Microsoft がホストするネットワーク接続と、自分が独自のサブスクリプション内に作成する Azure ネットワーク接続のどちらかを選択することもできます。

次の図は、Microsoft Dev Box の論理アーキテクチャを示しています。

Microsoft Dev Box アーキテクチャの概要を示す図。

ネットワーク接続

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

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

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

独自の Azure 仮想ネットワークを使用する場合、Microsoft Dev Box では、以下を含む仮想ネットワークのセキュリティとルーティング機能を使用できます。

Microsoft Dev Box では、ネットワーク接続をプロジェクトの開発ボックス プールに関連付けます。 それ以降この開発ボックス プールで作成されるすべての開発ボックスは、そのネットワーク接続の Azure リージョンでホストされます。 Azure ネットワーク接続を使用する場合は、最初にネットワーク接続をデベロッパー センターに追加してから、接続を開発ボックス プールに関連付けます。

開発ボックスをホストするのに最適なリージョンを決定するためには、開発ボックス ユーザーが Azure Virtual Desktop エクスペリエンス予測ツールを利用して、ユーザーの場所からの接続のラウンド トリップ時間を見積もることができるようにします。 その後、開発ボックス プールとネットワーク接続を構成して、その地理リージョンの開発者の待機時間を最適化できます。

Microsoft Intune の統合

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

Microsoft Intune および関連する Windows コンポーネントには、仮想ネットワークを通して許可する必要があるさまざまなネットワーク エンドポイントがあります。 Apple と Android のエンドポイントは、これらのデバイスの種類を管理するために Microsoft Intune を使用しない場合、無視しても問題ありません。

ID サービス

Microsoft Dev Box は、Microsoft Entra ID と、必要に応じてオンプレミス Active Directory Domain Services (AD DS) を使用します。 Microsoft Entra ID は次の機能を提供します。

  • Microsoft Dev Box 開発者ポータルでのユーザー認証。
  • Microsoft Entra ハイブリッド参加または Microsoft Entra 参加を通した Microsoft Intune のデバイス ID サービス。

Microsoft Entra ハイブリッド参加を使用するように開発ボックスを構成すると、AD DS によって以下のものが提供されます。

  • 開発ボックスのオンプレミス ドメイン参加。
  • リモート デスクトップ プロトコル (RDP) 接続のユーザー認証。

Microsoft Entra 参加を使用するように開発ボックスを構成すると、Microsoft Entra ID によって以下のものが提供されます。

  • 開発ボックスのためのドメイン参加メカニズム。
  • RDP 接続のユーザー認証。

Note

Microsoft Dev Box では、職場と学校のアカウントがサポートされています。 ゲスト アカウントまたは個人アカウントの使用はサポートされていません。

ユーザー接続

開発ボックスの実行中は、開発者はリモート デスクトップ クライアントを使用することで、またはブラウザー内から直接、開発ボックスに接続できます。

開発ボックス接続は、Azure Virtual Desktop によって提供されます。 インターネットから直接の受信接続は開発ボックスに対して行われません。 代わりに、以下の接続が作成されます。

  • 開発ボックスから Azure Virtual Desktop エンドポイント
  • リモート デスクトップ クライアントから Azure Virtual Desktop エンドポイント。

これらのエンドポイントの詳細については、「Azure Virtual Desktop に必要な URL の一覧」を参照してください。 ネットワーク セキュリティ制御の構成を容易にするには、Azure Virtual Desktop のサービス タグを使用してこれらのエンドポイントを識別します。 Azure サービス タグの詳細については、「Azure サービス タグの概要」を参照してください。

これらの接続を行うために開発ボックスを構成する必要はありません。 Microsoft Dev Box は、Azure Virtual Desktop 接続コンポーネントをギャラリーまたはカスタム イメージにシームレスに統合します。

Azure Virtual Desktop のネットワーク アーキテクチャの詳細については、「Azure Virtual Desktop のネットワーク接続の理解」を参照してください。

Microsoft Dev Box は、サードパーティの接続ブローカーはサポートしていません。