Azure Virtual Desktop サービスのアーキテクチャと回復性
Azure Virtual Desktop は、回復性があり、信頼性が高く、セキュリティで保護されたサービスを、組織とユーザーに提供するよう設計されています。 Azure Virtual Desktop のアーキテクチャは、ユーザーをデスクトップとアプリに接続するサービスを構成する、さまざまなコンポーネントで構成されています。 ほとんどのコンポーネントは Microsoft が管理していますが、中には顧客管理またはパートナー管理のコンポーネントもあります。
Microsoft では、中核的な機能の仮想デスクトップ インフラストラクチャ (VDI) コンポーネントをサービスとして提供しています。 コンポーネントには、次が含まれます。
- Web サービス: ユーザー向け Web サイトおよびエンドポイントを提供し、ユーザーのデバイスに接続情報を返します。
- ブローカー サービス: 受信接続を調整します。
- ゲートウェイ サービス: デスクトップやアプリを提供するセッション ホストに接続している場所にかかわらず、ユーザーのデバイスからリモート デスクトップ プロトコル (RDP) 接続を提供する websocket サービス。
- リソース ディレクトリ: 複数の地理データベースのうち、各ユーザーに必要な接続情報をホストするものを Web サービスに指示するための情報を提供します。
- 地理データベース: ユーザーにプロビジョニングされたすべてのリソースの接続ファイル (
.rdp
) とアイコンを含みます。
さらに、Azure Virtual Desktop では、Azure Traffic Manager や Azure Front Door などの他のグローバルな Azure サービスを使用し、ユーザーを最寄りの Azure 仮想デスクトップのエントリ ポイントに誘導します。
ユーザーは、セッション ホストの作成と管理 (オペレーティング システム イメージのカスタマイズとアプリケーション、仮想ネットワークの接続、回復性を含む) と、これらのセッション ホストのバックアップと回復について責任を担います。 また、ユーザー ID を指定および管理し、サービスへのアクセスを制御します。 他の Azure サービスを使用し、次のような要件に対応できます。
- Azure 可用性ゾーン: Azure リージョン内で物理的に離れたデータセンターの場所にセッション ホストを均等に配置し、それぞれ独立した電源、冷却、ネットワークを持ちます。
- Azure Backup: セッション ホストをバックアップし、復元します。
- Azure Site Recovery: セッション ホストを別の Azure リージョンにレプリケートします。
- Azure Advisor: Azure リソースを最適化するのに役立ちます。
この概要図では、コンポーネントと責任を示します。
ユーザー接続数
ユーザーが Azure Virtual Desktop でデスクトップとアプリにアクセスする際、正常に接続するためには、複数のコンポーネントが関与します。 2 つの独立したシーケンスがあります。
- フィードの検出。 フィードとは、ユーザーが使用できるデスクトップとアプリのリストのことです。
- リモート デスクトップ プロトコルを経由したセッション ホストへの接続。
フィードの検出
フィードの検出では、ユーザーが使用できるデスクトップとアプリが、ローカル デバイスのアプリに設定されます。 フィードには接続に必要なすべての情報が含まれます。
フィードの検出プロセスは次のとおりです。
ユーザーは、世界中のあらゆる場所にいます。 Azure Traffic Manager は、地理的トラフィック ルーティング方法に基づいて、ユーザーのデバイスを Azure Virtual Desktop の Web サービスの最寄りのインスタンスにルーティングします。この方法では、ユーザーのデバイスのソース IP アドレスを使用します。
Web サービスは、同じ Azure リージョンにある Azure Virtual Desktop ブローカー サービスに接続し、ユーザーのフィード向けの RDP ファイルとアプリケーション アイコンを取得します。 ブローカー サービスは、同じリージョンにある Azure Virtual Desktop 地理データベースとリソース ディレクトリに接続し、情報を取得します。
ブローカー サービスは RDP ファイルとアプリケーション アイコンを Web サービスに返します。この Web サービスは、ユーザーのデバイスに情報を返します。
以下に、単一の Azure リージョンでのフィード検出プロセスの概要図を示します。
地理データベースには、地理においてカバーされる同一の Azure リージョンのホスト プールからのデスクトップとアプリに必要な情報のみが含まれています。 ユーザーが、異なる地理でカバーされているホスト プールからデスクトップまたはアプリに割り当てられている場合、リソース ディレクトリは適切な Azure リージョンのブローカー サービスと地理データベースに接続するよう、Web サービスに指示します。
以下に、異なる地理でカバーされている Azure リージョンのホスト プールのフィード検出プロセスの概要図を示します。
RDP 接続
ユーザーがフィードからデスクトップまたはアプリに接続すると、RDP 接続は次のように確立されます。
すべてのリモート セッションは、Azure Virtual Desktop へのグローバルなエントリ ポイントとなる Azure Front Door から始まります。 Azure Front Door は、ユーザーのデバイスの待機時間が最も少ない Azure Virtual Desktop ゲートウェイ サービスを決定し、そこに接続を誘導します。
ゲートウェイ サービスは、同じ Azure リージョン内のブローカー サービスに接続します。 ゲートウェイ サービスを使用すると、セッション ホストがどのリージョンにいても、ユーザーが引き続きアクセスできるようになります。
ブローカー サービスは、ユーザーのデバイスとセッション ホスト間の接続を引き継ぎ、調整します。 ブローカー サービスは、セッション ホスト上で実行されている Azure Virtual Desktop エージェントに対し、ユーザーのデバイスが接続したのと同じゲートウェイ サービスに接続するよう指示します。
この時点で、構成と使用可能なネットワーク プロトコルに応じて、2 種類の接続のいずれかが使用されます。
リバース接続トランスポート: クライアントとセッション ホストの両方がゲートウェイ サービスに接続すると、クライアントとセッション ホスト間で伝送制御プロトコル (TCP) を使用して RDP トラフィックのリレーを開始します。 リバース接続トランスポートは既定の接続の種類です。
RDP Shortpath: ユーザーのデバイスとセッション ホスト間にユーザー データグラム プロトコル (UDP) ベースの直接的なトランスポートが作成され、ゲートウェイ サービスを迂回します。
以下に、RDP 接続プロセスの概要図を示します。
ヒント
ネットワーク接続の詳しい技術情報については、「Azure Virtual Desktop のネットワーク接続について」と「Azure Virtual Desktop の RDP Shortpath」を参照してください。
サービスの回復性
Azure Virtual Desktop は障害に対する回復性を備え、信頼できるサービスをユーザーに提供します。 サービスは個々のコンポーネントの障害に対して回復性を発揮し、障害から素早く回復するよう設計されています。
現在、Azure Virtual Desktop の Microsoft 管理コンポーネントは、ユーザーの近くで回復性の高いサービスを提供するために、約 40 の Azure リージョンに配置されています。 回復力は、以下のような形で、グローバルに、地理的に、そして Azure リージョン内で実装されています。
Azure Traffic Manager は Web サービスのトラフィックを転送し、Azure Front Door はゲートウェイ サービスのトラフィックを転送します。 1 つの Azure リージョンから Web サービスまたはゲートウェイ サービスが利用できなくなる障害が発生した場合、またはリージョン全体で障害が発生した場合は、トラフィックは最寄りのリージョンで次に近い利用可能なインスタンスにリダイレクトされます。 トラフィックをリダイレクトすることで、ユーザーは引き続き新しい接続を行えます。
地理データベースは、各地理内で Azure SQL Database のフェールオーバーとデータ レプリケーション機能を使用します。 データベースに障害が発生した場合、データベースはセカンダリ レプリカにフェールオーバーし、通常の動作が再開します。 フェールオーバー中、そのフェールオーバーが完了するまで新しい接続が短い時間失敗しますが、フェールオーバーは既存の接続には影響しません。
リソース ディレクトリ、ブローカー サービス、Web サービス、ゲートウェイ サービスはいずれも、Azure Virtual Desktop 用の Microsoft 管理コンポーネントが配置されている Azure リージョンで使用できます。 各コンポーネントには複数のインスタンスがあるため、単一障害点はありません。 各 Azure リージョン内には、インスタンス障害に耐えられるよう独立して動作する、各コンポーネントの個別のインスタンスまたはクラスターが少なくとも 6 つあります。
たとえば、あるリージョンに要求を満たすのに十分なゲートウェイ サービスのインスタンスがあり、それらのインスタンスの障害にも対応できる十分な容量もあるとします。 ゲートウェイ サービスのインスタンスに障害が発生すると、ゲートウェイ サービスの特定のインスタンスを通じてリレーされている TCP ベースの RDP 接続はすべて切断されます。 切断されたユーザーが再接続すると、残りのインスタンスがリクエストを処理し、各ユーザーを既存のセッションに再接続します。 ゲートウェイ サービスの他のインスタンスによって処理されるその他すべてのセッションは、影響を受けません。
以下に、Microsoft 管理コンポーネントの相互接続の概要図を示します。
Azure Virtual Desktop が依存する他の Azure サービスは、それ自体が回復性と信頼性を持つように設計されています。 詳細については、「Azure Traffic Manager」と「Azure Front Door」を参照してください。
グローバルな展開
Azure Virtual Desktop は、特にリモート勤務する従業員の要求に組織が対応するうえで役立つサービスです。 安全で信頼性が高く、柔軟な方法で、事実上どこでもデスクトップやアプリケーションを提供します。 Azure Virtual Desktop は、ワークロードの高可用性サービスを確保する Azure の機能とサービスを使用して、回復性を提供できるよう設計されています。
Azure Virtual Desktop のグローバルなリーチを示すマップを以下に示します。
関連するコンテンツ
Azure Virtual Desktop がサービス オブジェクトのデータを格納した場所については、「Azure Virtual Desktop のデータの場所」を参照してください。