Azure Private Link with Azure Virtual Desktop

Azure Private Link と Azure Virtual Desktop を使用して、リモート リソースにプライベートに接続できます。 プライベート エンドポイントを作成すると、仮想ネットワークとサービス間のトラフィックは Microsoft ネットワーク上に留まります。そのため、サービスをパブリック インターネットに公開する必要がなくなります。 また、仮想ネットワークへのユーザーの接続には、VPN または ExpressRoute とリモート デスクトップ クライアントを組み合わせて使用します。 トラフィックを Microsoft ネットワーク内に留めておくことで、セキュリティが向上し、データの安全性が保たれます。 この記事では、Private Link が Azure Virtual Desktop 環境のセキュリティ保護にどのように役立つかについて説明します。

Azure Virtual Desktop には 3 つのワークフローがあり、対応する 3 種類のリソースをプライベート エンドポイントで使用できます。 これらのワークフローは次のとおりです。

  1. 初期フィード検出: クライアントはユーザーに割り当てられているすべてのワークスペースを検出できます。 このプロセスを有効にするには、任意のワークスペースの "グローバル" サブリソースに対して 1 つのプライベート エンドポイントを作成する必要があります。 ただし、Azure Virtual Desktop のデプロイ全体で作成できるプライベート エンドポイントは 1 つだけです。 このエンドポイントが、初期フィード検出に必要なグローバル完全修飾ドメイン名 (FQDN) のドメイン ネーム システム (DNS) エントリとプライベート IP ルートを作成します。 この接続は、すべてのクライアントが使う 1 つの共有ルートになります。

  2. フィード ダウンロード: クライアントは、アプリケーション グループをホストするワークスペースの特定のユーザーについて、すべての接続の詳細をダウンロードします。 Private Link で使用するワークスペースごとに、"フィード"サブリソースのプライベート エンドポイントを作成する必要があります。

  3. ホスト プールへの接続: ホスト プールへのすべての接続には、クライアントとセッション ホストという 2 つの側面があります。 Private Link で使用するホスト プールごとに、"接続" サブリソースのプライベート エンドポイントを作成する必要があります。

次の概略図は、Private Link がローカル クライアントを Azure Virtual Desktop サービスに安全に接続するしくみを示しています。 クライアント接続の詳細については、「クライアント接続シーケンス」を参照してください。

ローカル クライアントを Azure Virtual Desktop サービスに接続する Private Link を示す概略図。

サポートされるシナリオ

Private Link と Azure Virtual Desktop を追加する場合、Azure Virtual Desktop に接続するには、次のサポートされているシナリオがあります。 どのシナリオを選択するかは、要件によって異なります。 これらのプライベート エンドポイントは、ネットワーク トポロジ全体で共有するか、仮想ネットワークを分離して、それぞれがホスト プールまたはワークスペースへの独自のプライベート エンドポイントを持つようにすることができます。

  1. 接続のすべての部分 (クライアントとセッション ホストの初期フィード検出、フィード ダウンロード、リモート セッション接続) では、プライベート ルートが使用されます。 次のプライベート エンドポイントが必要です:

    目的 リソースの種類 ターゲット サブリソース エンドポイントの数量
    ホスト プールへの接続 Microsoft.DesktopVirtualization/hostpools connection ホスト プールごとに 1 つ
    フィードのダウンロード Microsoft.DesktopVirtualization/workspaces feed ワークスペースごとに 1 つ
    初期フィード検出 Microsoft.DesktopVirtualization/workspaces グローバル すべての Azure Virtual Desktop デプロイ用に 1 つのみ
  2. クライアントとセッション ホストのフィード ダウンロードとリモート セッション接続ではプライベート ルートが使用されますが、初期フィード検出ではパブリック ルートが使用されます。 次のプライベート エンドポイントが必要です。 初期フィード検出のエンドポイントは必要ありません。

    目的 リソースの種類 ターゲット サブリソース エンドポイントの数量
    ホスト プールへの接続 Microsoft.DesktopVirtualization/hostpools connection ホスト プールごとに 1 つ
    フィードのダウンロード Microsoft.DesktopVirtualization/workspaces feed ワークスペースごとに 1 つ
  3. クライアントとセッション ホストのリモート セッション接続のみでプライベート ルートを使用しますが、初期フィード検出とフィード ダウンロードではパブリック ルートが使用されます。 次のプライベート エンドポイントが必要です。 ワークスペースへのエンドポイントは必要ありません。

    目的 リソースの種類 ターゲット サブリソース エンドポイントの数量
    ホスト プールへの接続 Microsoft.DesktopVirtualization/hostpools connection ホスト プールごとに 1 つ
  4. クライアントとセッション ホスト VM の両方がパブリック ルートを使う。 このシナリオでは、Private Link は使用されません。

重要

  • 初期フィード検出用のプライベート エンドポイントを作成すると、グローバル サブリソースに使用されるワークスペースによって共有完全修飾ドメイン名 (FQDN) が管理され、すべてのワークスペース間でのフィードの初期検出が容易になります。 この目的でのみ使用され、アプリケーション グループが登録されていない別のワークスペースを作成する必要があります。 このワークスペースを削除すると、すべてのフィード検出プロセスが機能しなくなります。

  • 初期フィード検出 (グローバル サブリソース) に使用されるワークスペースへのアクセスを制御することはできません。 プライベート アクセスのみを許可するようにこのワークスペースを構成した場合、設定は無視されます。 このワークスペースには、常にパブリック ルートからアクセスできます。

  • IP アドレスの割り当ては、IP アドレスの需要が増加するにつれて変更される可能性があります。 容量の拡張中は、プライベート エンドポイントに追加のアドレスが必要です。 潜在的なアドレス空間の枯渇を考慮し、成長のための十分なヘッドルームを確保することが重要です。 ハブ トポロジまたはスポーク トポロジのプライベート エンドポイントに対する適切なネットワーク構成の決定について詳しくは、「Private Link 展開のデシジョン ツリー」を参照してください。

構成の結果

関連する Azure Virtual Desktop ワークスペースとホスト プールの設定を構成して、パブリックまたはプライベート アクセスを設定します。 ワークスペースへの接続について (最初のフィード検出 (グローバル サブリソース) に使用されるワークスペースを除く)、次の表に各シナリオの結果を示します。

構成 Outcome
すべてのネットワークからのパブリック アクセスを有効にする "パブリック" ルートからのワークスペース フィード要求は、許可されます。

"プライベート" ルートからのワークスペース フィード要求は、許可されます。
すべてのネットワークからのパブリック アクセスを無効にする "パブリック" ルートからのワークスペース フィード要求は、拒否されます。

"プライベート" ルートからのワークスペース フィード要求は、許可されます。

リバース接続トランスポートでは、ホスト プールへの接続には、クライアントからゲートウェイと、セッション ホストからゲートウェイへの 2 つのネットワーク接続があります。 両方の接続のパブリック アクセスを有効または無効にするだけでなく、ゲートウェイに接続しているクライアントに対してパブリック アクセスを有効にし、ゲートウェイに接続しているセッション ホストのプライベート アクセスのみを許可することもできます。 次の表に、各シナリオの結果を示します。

構成 Outcome
すべてのネットワークからのパブリック アクセスを有効にする クライアントまたはセッション ホストが "パブリック" ルートを使用している場合、リモート セッションは許可されます。

クライアントまたはセッション ホストが "プライベート" ルートを使用している場合、リモート セッションは許可されます。
すべてのネットワークからのパブリック アクセスを無効にする クライアントまたはセッション ホストが "パブリック" ルートを使用している場合、リモート セッションは拒否されます。

クライアントとセッション ホストの両方が "プライベート" ルートを使用している場合、リモート セッションは許可されます。
クライアント ネットワークのパブリック アクセスを有効にし、セッション ホスト ネットワークは無効にする クライアントが使用しているルートに関係なく、セッション ホストが "パブリック" ルートを使用している場合、リモート セッションは拒否されます。

クライアントが使用しているルートに関係なく、セッション ホストが "プライベート" ルートを使用している限り、リモート セッションは許可されます。

クライアント接続シーケンス

ユーザーが Private Link 経由で Azure Virtual Desktop に接続していて、Azure Virtual Desktop がプライベート ルートからのクライアント接続のみを許可するように構成されている場合、接続シーケンスは次のようになります。

  1. サポートされているクライアントでは、ユーザーはワークスペースにサブスクライブします。 ユーザーのデバイスは、rdweb.wvd.microsoft.com アドレス (または他の Azure 環境の対応するアドレス) を DNS に照会します。

  2. privatelink-global.wvd.microsoft.com のプライベート DNS ゾーンは、初期フィード検出 (グローバル サブリソース) のプライベート IP アドレスを返します。 初期フィード検出にプライベート エンドポイントを使用していない場合は、パブリック IP アドレスが返されます。

  3. フィード内のワークスペースごとに、アドレス <workspaceId>.privatelink.wvd.microsoft.com に対して DNS クエリが実行されます。

  4. privatelink.wvd.microsoft.com のプライベート DNS ゾーンは、ワークスペース フィードのダウンロードに対してプライベート IP アドレスを返し、TCP ポート 443 を使用してフィードをダウンロードします。

  5. リモート セッションに接続する場合、ワークスペース フィードのダウンロードから取得される .rdp ファイルには、ユーザーのデバイスにとって待機時間が最も短い Azure Virtual Desktop ゲートウェイ サービスのアドレスが含まれます。 DNS クエリが、形式 <hostpooId>.afdfp-rdgateway.wvd.microsoft.com でアドレスに対して行われます。

  6. privatelink.wvd.microsoft.com のプライベート DNS ゾーンは、リモート セッションを提供するホスト プールに使用する Azure Virtual Desktop ゲートウェイ サービスのプライベート IP アドレスを返します。 仮想ネットワークとプライベート エンドポイントを介したオーケストレーションでは、TCP ポート 443 が使用されます。

  7. オーケストレーションの後、クライアント、Azure Virtual Desktop ゲートウェイ サービス、およびセッション ホスト間のネットワーク トラフィックは、TCP 動的ポート範囲 1 から 65535 のポートに転送されます。

重要

ユーザー クライアント デバイスまたはセッション ホスト VM のネットワーク ポートをプライベート エンドポイントに制限する場合は、"接続" サブリソースを使用して、ホスト プール リソースのプライベート エンドポイントへの TCP 動的ポート範囲全体 (1 から 65535) のトラフィックを許可する必要があります。 Azure プライベート ネットワークでは、クライアント オーケストレーション中に選択された適切なゲートウェイにこれらのポートを内部的にマップするため、TCP 動的ポート範囲全体が必要です。 ポートをプライベート エンドポイントに制限すると、ユーザーが Azure Virtual Desktop に接続できなくなる可能性があります。

既知の問題と制限事項

Private Link with Azure Virtual Desktop には、次の制限事項があります。

  • Private Link for Azure Virtual Desktop を使用する前に、Azure Virtual Desktop で Private Link を使用する各 Azure サブスクリプションでAzure Virtual Desktop で Private Link を有効にする必要があります。

  • Azure Virtual Desktop に接続するリモート デスクトップ クライアントは、すべて Private Link で使用できます。 インターネットにアクセスできないプライベート ネットワーク上で Windows 用リモート デスクトップ クライアントを使っており、パブリック フィードとプライベート フィードの両方にサブスクライブしている場合、フィードにアクセスすることはできません。

  • プライベート エンドポイントをホスト プールに変更した後、ホスト プール内の各セッション ホスト VM 上で Remote Desktop Agent Loader (RDAgentBootLoader) サービスを再起動する必要があります。 また、ホスト プールのネットワーク構成を変更するたびに、このサービスを再起動する必要があります。 サービスを再開するのではなく、各セッション ホストを再起動することができます。

  • Private Link とマネージド ネットワーク用の RDP Shortpath の両方を使用することはサポートされていませんが、連携して動作できます。 Private Link とマネージド ネットワーク用の RDP Shortpath は、ユーザー自身の責任で利用できます。 STUN または TURN を使用する他のすべての RDP Shortpath オプションは、Private Link ではサポートされていません。

  • Azure Virtual Desktop を使用したPrivate Link のプレビューの早い段階で、初期フィード検出のプライベート エンドポイント ("グローバル" サブリソース用) は、プライベート DNS ゾーン名 privatelink.wvd.microsoft.com を、ワークスペースとホスト プール用の他のプライベート エンドポイントと共有していました。 この構成では、ユーザーはホスト プールとワークスペース専用のプライベート エンドポイントを確立できません。 2023 年 9 月 1 日より、この構成でのプライベート DNS ゾーンの共有はサポートされなくなります。 プライベート DNS ゾーン名 privatelink-global.wvd.microsoft.com を使用するように "グローバル" サブリソースの新しいプライベート エンドポイントを作成する必要があります。 これを行う手順については、「初期フィード検出」を参照してください。

次のステップ