次の方法で共有


Microsoft Dev Box のアーキテクチャと主要な概念

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

Microsoft Dev Box の詳細については、次のビデオをご覧ください。

主要なコンポーネントとリレーションシップ

開発者が開発者ポータルで開発ボックスを作成する前に、Microsoft Dev Box でデベロッパー センターとプロジェクトを設定します。

コア ワークフローには、次のものが含まれます。

  1. 共有リソースを使用して デベロッパー センター を設定する
  2. チームまたはビジネス機能の プロジェクト の作成
  3. 特定の設定を使用した 開発ボックス プール の構成
  4. ポータルを使用してプールから 開発ボックス を作成する開発者

開発ボックスを実行すると、開発者は開発者ポータルから リモートでそれに接続 できます。 開発ボックス ユーザーは、作成した開発ボックスを完全に制御でき、開発者ポータルから管理できます。

デベロッパー センター

デベロッパー センターは、同様の設定を必要とする プロジェクト の最上位レベルのリソースとコレクションです。 作成できるデベロッパー センターの数に制限はありませんが、ほとんどの組織で必要なのは 1 つだけです。

デベロッパー センターを使用すると、プラットフォーム エンジニアは、ネットワーク接続を使用して開発チームが使用するネットワークを構成できます。

Azure Deployment Environment では 、デベロッパー センターを使用してリソースを整理することもできます。 組織は両方のサービスに同じデベロッパー センターを使用できます。

Catalogs

Dev Box のカタログは、プロビジョニング中に開発ボックスの構成を自動化するタスクとスクリプトのコレクションです。 カタログをデベロッパー センターにアタッチすると、そのデベロッパー センター内のすべてのプロジェクトでそのタスクを使用できるようになります。 または、カタログをプロジェクトに直接アタッチして、タスクの可用性をその特定のプロジェクトに制限することもできます。 提供されているサンプル タスクをカスタマイズしたり、チームの要件を満たすために独自のカタログを作成したりできます。

カタログには、チーム固有のカスタマイズ用のイメージ定義ファイルも含まれています。

Dev Box のカスタマイズを作成する方法については、 Microsoft Dev Box のカスタマイズに関するページを参照してください。

プロジェクト

Dev Box では、プロジェクトは組織内のチームまたはビジネス機能を表し、開発チームのアクセスポイントです。 各プロジェクトは 開発ボックス プールのコレクションであり、各プールはリージョンまたはワークロードを表します。 プロジェクトをデベロッパー センターに関連付けると、デベロッパー センター レベルのすべての設定がプロジェクトに自動的に適用されます。

各プロジェクトは、1 つのデベロッパー センターにのみ関連付けることができます。 開発マネージャーは、イメージ定義、カスタム イメージ、マーケットプレース イメージ、またはレガシ開発ボックス定義を指定する開発ボックス プールを作成することで、プロジェクトで使用できる開発ボックスを構成します。

開発者が独自の開発ボックスを作成できるようにするには、Dev Box ユーザー ロールを割り当てることで 、開発者向けのプロジェクトへのアクセスを提供 する必要があります。

デプロイ環境のプロジェクトと Dev Box リソースのプロジェクトは、同じデベロッパー センターで構成できます。

プロジェクト ポリシー

Microsoft Dev Box のプロジェクト ポリシーでは、ガバナンスとコンプライアンスを適用して、プロジェクトで使用できるリソース (イメージ、ネットワーク、SKU など) を定義します。 これにより、開発チームは承認されたリソースのみを使用できるため、組織はリソースの使用を制御および合理化できます。

開発ボックス プール

開発ボックス プールは、一緒に管理し、同様の設定を適用する開発ボックスのコレクションです。 複数の開発ボックス プールを作成して、異なるリージョンまたは異なるワークロードで動作するハイブリッド チームのニーズをサポートできます。

開発ボックス プールでは、イメージ ソース (イメージ定義、カスタム イメージ、マーケットプレース イメージ、またはレガシ開発ボックス定義)、コンピューティング サイズ、ストレージ、ネットワーク接続、その他の設定など、開発ボックスの構成を指定します。 開発ボックス プールから作成されるすべての開発ボックスは、同じ構成を共有します。

イメージ定義

イメージ定義は、基本イメージを定義し、チーム固有のカスタマイズを適用する YAML ベースのカスタマイズ ファイルです。 これらは再利用可能なイメージに組み込み、開発ボックスの作成時間を最適化できます。 イメージ定義では、開発ボックス プールの作成時にコンピューティング サイズとストレージを個別に選択できるため、柔軟性が向上します。

イメージ定義の作成と使用の詳細については、「 チームのカスタマイズを構成する」を参照してください。

開発ボックスの定義

開発ボックスの定義は、従来のオプションです。 コンピューティング サイズとストレージを選択する際の柔軟性を高めるために、イメージ定義、カスタム イメージ、または Marketplace イメージを使用することをお勧めします。

開発ボックス定義では、ソース イメージとサイズを指定します。これには、コンピューティング サイズとストレージ サイズがバンドルされています。 Azure Marketplace からソース イメージを選択するか、独自の Azure コンピューティング ギャラリー インスタンスからカスタム イメージを選択します。 Dev Box では、Windows 10 および Windows 11 のクライアント エディションがサポートされています。 デベロッパー センターでは、複数のプロジェクトで開発ボックス定義を使用できます。

新しいデプロイでは、Marketplace イメージまたはカスタム イメージを開発ボックス プールで直接使用することを検討してください。これにより、コンピューティング構成とストレージ構成を個別に選択できます。

ネットワーク接続

IT 管理者とプラットフォーム エンジニアは、組織のポリシーに従って、開発ボックスの作成に使用するネットワークを構成します。 ネットワーク接続には、Active Directory 参加の種類や仮想ネットワークなどの構成情報が格納されます。この情報は、開発ボックスがネットワーク リソースへの接続に使用します。

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

Dev Box では、次の 2 種類のネットワーク接続がサポートされています。

  • Microsoft がホストするネットワーク接続 - Microsoft は、開発ボックスのネットワーク インフラストラクチャと関連サービスを管理します。
  • Azure ネットワーク接続 - 開発ボックスのネットワーク インフラストラクチャと関連サービスを管理します。
    • 開発ボックスをクラウドベースのリソースのみに接続する必要がある場合は、ネイティブの Microsoft Entra ID 参加を使用します。
    • 開発ボックスでオンプレミスのリソースとクラウドベースのリソースに接続する必要がある場合は、ハイブリッド Microsoft Entra ID 参加を使用します。

ネイティブの Microsoft Entra 参加と Microsoft Entra ハイブリッド参加の詳細については、「 Microsoft Entra デバイスの展開を計画する」を参照してください。

Dev Box の Azure リージョン

Dev Box を設定する前に、組織に最適なリージョンを選択する必要があります。

  • デベロッパー センターとプロジェクトは、通常、メイン オフィスまたは IT 管理センターと同じリージョンに存在します。
  • 開発ボックス プールは、使用するネットワーク接続に応じて、異なるリージョンに配置できます。 開発者は、待機時間を最小限にするため、近くのプールから開発ボックスを作成する必要があります。

ネットワーク接続で指定された仮想ネットワークのリージョンによって、開発ボックスのリージョンが決まります。 開発者をサポートするリージョンに基づいて、複数のネットワーク接続を作成できます。 その後、開発ボックス プールを作成するときにこれらの接続を使用して、開発ボックス ユーザーがそれらの近くのリージョンに開発ボックスを作成できるようにします。 開発ボックス ユーザーに近いリージョンを使用すると、最適なエクスペリエンスが得られます。

使用するリージョンを決定するには、次の項目を確認します。

ご希望のリージョンが Dev Box で利用できない場合は、500 マイル以内のリージョンを選択してください。

開発ボックス

開発ボックスは、セルフサービス開発者ポータルを使用して作成する構成済みのワークステーションです。 新しい開発ボックスには、開発ボックス ユーザーがすぐに生産性を高めるために必要なすべてのツール、バイナリ、構成が含まれています。 複数の開発ボックスを作成および管理して、複数のワークストリームで動作させることができます。

開発ボックス ユーザーは、独自の開発ボックスを制御できます。 必要に応じてさらに作成し、使用が完了したら削除できます。

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

Microsoft Dev Box アーキテクチャ

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

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

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

データを保護するために、Microsoft Dev Box では、既定でプラットフォーム マネージド キーを使用してディスクを暗号化します。 BitLocker を有効にする必要はありません。有効にすると、開発ボックスにアクセスできなくなる可能性があります。

Azure のデータ ストレージと保護の詳細については、「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 リージョン間の待機時間の詳細については、「リージョン別のラウンドトリップ待機時間データ」を参照してください。

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 接続のユーザー認証。

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

ユーザー接続

開発ボックスが実行されている場合、開発者は開発者ポータルからそれに接続できます。

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

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

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

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

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

Microsoft Dev Box は、Microsoft 以外の接続ブローカーはサポートしていません。

Microsoft Dev Box で始める

Microsoft Dev Box の使用を開始するには、デベロッパー センターを設定する必要があります。 デベロッパー センターは、プロジェクトとリソースのコンテナーです。 Azure portal でデベロッパー センターを作成し、そのデベロッパー センター内にプロジェクトを作成できます。 各プロジェクトは、開発ボックス、ネットワーク、イメージなど、独自のリソース セットを持つことができます。

基本的なテンプレート ( Microsoft Dev Box) を使用して Dev Box 体験を開始します。

Microsoft Dev Box の新機能

Microsoft Dev Box の最新の機能と更新プログラムについては、「 Microsoft Dev Box の新機能」を参照してください。