2019 年 9 月の四半期ごとのサービス リリース以降、Microsoft Azure の Horizon Cloud ポッドのアーキテクチャでは、ポッドの高可用性がサポートされます。2019 年 9 月のサービス リリース後にポッド デプロイヤによってデプロイされた新しいポッドと、マニフェスト バージョン 1600 以降に更新された古いポッドはすべて、この最新のポッド アーキテクチャを取得します。このポッド アーキテクチャには、Microsoft Azure Database for PostgreSQL サーバ リソース、Microsoft Azure ロード バランサ、および Microsoft Azure 可用性セットが含まれています。このアーキテクチャのポッドで高可用性が有効になっている場合は、2 つのポッド マネージャ仮想マシンがポッドに追加され、合計 2 つのポッド マネージャ仮想マシンが Microsoft Azure ロード バランサに接続されます。この構成により、1 台のマネージャ仮想マシンで問題が発生した場合でも、ポッドを引き続き動作させることができます。1 台のマネージャ仮想マシンが停止すると、すべてのトラフィックは手動での操作介入なしで他のマネージャ仮想マシンに自動的にルーティングされます。

新しいポッドの場合は、最初から高可用性を有効にしてポッドをデプロイしたり、高可用性がオフになっているポッドをデプロイして後で有効にしたりすることができます。この最新のポッド アーキテクチャを取得するポッド マニフェストに更新された既存のポッドの場合、更新プロセスではポッドの高可用性が自動的に有効になりません。更新されたポッドでは、両方のアイテムが配置された後に、高可用性を有効にできます。

  • ポッドの更新プロセスがそのポッドで完了しました
  • エージェントは、ポッドの既存のイメージ仮想マシン、ファーム RDSH 対応の仮想マシン、および VDI デスクトップ仮想マシンのすべてで、更新されたポッドと互換性のあるエージェント バージョンに更新されます。

ポッドの詳細ページでは、そのポッドに対して高可用性が有効であるか無効であるかが示されます。無効になっているポッドで高可用性を有効にする手順については、Microsoft Azure の Horizon Cloud ポッドでの高可用性の有効化を参照してください。

Microsoft Azure でのポッドの高可用性設計

ポッド マネージャ仮想マシンが 2 台あることに加えて、ポッドには Microsoft Azure ロード バランサ リソース、Microsoft Azure 可用性セット、および Microsoft Azure Database for PostgreSQL サーバ リソースがあります。この設計では、いずれかのポッド マネージャ仮想マシンに問題や障害が発生した場合に、全体的なポッドの復元力とフェイルオーバーが発揮されます。

重要: 2019 年 9 月リリース レベルで新規作成されたポッドは、常に Microsoft Azure Database for PostgreSQL サーバ リソース、Microsoft Azure ロード バランサ、および可用性セットを使用してデプロイされます。ポッド デプロイ ウィザードで [高可用性] オプションをオフに切り替えた場合でも、結果のポッドにはこれらの新しいポッド アーキテクチャの要素があります。また、以前のリリースで作成され、2019 年 9 月のリリース レベルに更新されたポッドは、更新プロセスで高可用性が自動的に有効になることはなくても、この新しい設計のポッドとして、Microsoft Azure Database for PostgreSQL サーバ リソース、Microsoft Azure ロード バランサ、および可用性セットを備えることになります。マニフェスト バージョン 1600 以降のすべてのポッドに対してこのポッド設計を標準化することで、デプロイ済みのポッドで高可用性を容易に実現できます。2 番目のポッド マネージャ仮想マシンは、ポッドで高可用性の機能が有効になっている場合にのみデプロイされます。

これらのリソースは、ポッドのリソース グループに配置されており、Microsoft Azure ポータルにログインすると、ご利用のサブスクリプションにその詳細を表示できます。ポッドのリソース グループの識別の詳細については、Microsoft Azure にデプロイされたポッド用に作成されたリソース グループを参照してください。

Microsoft Azure 可用性セット
Microsoft Azure のドキュメントで説明されているように、 Microsoft Azure ロード バランサと可用性セットの組み合わせによって、アプリケーションの復元力が最強となります。可用性セット、または (Microsoft Azure のドキュメントでときどき使われている)アベイラビリティ ゾーンは、各 Microsoft Azure リージョンではフォルト ドメインと更新ドメインの組み合わせとなります。可用性セットを使用することで、ポッドの各マネージャ仮想マシンは、同じ Microsoft Azure データセンター内の別個の物理ハードウェアにデプロイされます。可用性セットによって、マネージャ仮想マシンが別個の物理ハードウェアに配置されます。このバックエンド ハードウェアの分離により、2 台のマネージャ仮想マシンがともに同時にダウンタイムを生じる可能性を最小限に抑えることができます。Microsoft Azure データセンター全体がダウンした場合にのみ、両方のマネージャ仮想マシンがともに影響を受けます。
Microsoft Azure ロード バランサ
デプロイされたロード バランサ リソースは、ポッドのテナント サブネットに接続されています。このロード バランサは、ポッド デプロイヤによって構成された健全性プローブとルールに従って、ポッドのマネージャ仮想マシンへのトラフィックをルーティングするために使用されます。マネージャ仮想マシンは、このロード バランサのバックエンド プールに追加されます。1 台のマネージャ仮想マシンは、ポッドによってプロビジョニングされたデスクトップおよびアプリケーションへのエンドユーザー クライアント接続のアクティブ ブローカのロールを引き受けます。ロード バランサは、バックエンド プール内のマネージャ仮想マシンの定義済みルールと健全性プローブに基づいて、ブローカ アフィニティを決定します。決定されたブローカ アフィニティに基づいて、ロード バランサはフェイルオーバーが発生するまで、すべてのブローカ トラフィックをアクティブなブローカであるマネージャ仮想マシンにシームレスにルーティングします。その後、もう 1 台のマネージャ仮想マシンがアクティブなブローカになり、ロード バランサが仲介要求をその仮想マシンにルーティングします。このフェイルオーバーが発生すると、どのマネージャ仮想マシンがアクティブなブローカに変更されたかについて知らせる通知が、管理コンソールに送信されます。

ポッドのロード バランサは、エンドユーザーのクライアント接続要求とポッドのマネージャ仮想マシンの間に配置されます。ポッドがゲートウェイ構成で構成されている場合、Unified Access Gateway インスタンスからのトラフィックはポッドの Microsoft Azure ロード バランサにルーティングされます。この Azure ロード バランサは、アクティブ ブローカのマネージャ仮想マシンにトラフィックをルーティングします。ポッドにゲートウェイ構成がなく、VPN 経由などの直接接続用にポッドを構成している場合、エンドユーザーのクライアント接続は Microsoft Azure ポッドのロード バランサに移動し、そのトラフィックはロード バランサによってアクティブなブローカであるマネージャ仮想マシンにルーティングされます。

Microsoft Azure Database for PostgreSQL - 単一サーバ
ポッドには、 単一サーバのデプロイ オプションを使用する Microsoft Azure Database for PostgreSQL サーバがあります。このサーバを使用すると、ポッド操作に必要なデータを一元化し、マネージャ仮想マシン間でデータ レプリケーションを使用する必要がなくなります。現在のリリースでは、次の構成が使用されています。
  • PostgreSQL バージョン 10
  • メモリ最適化
  • コンピューティング世代:Gen 5
  • vCore 数:2
  • ストレージ:10 GB
  • 自動拡張:いいえ
  • バックアップ ストレージ:ローカル冗長
メモリ最適化の構成の詳細については、Microsoft のドキュメントを参照してください。

このリリース レベルで作成または更新されたポッドの Microsoft Azure サブスクリプションにおけるコストの影響

このリリースで高可用性をサポートするために必要な要素によって、Microsoft Azure サブスクリプションにコストの影響がいくらか及びます。このリリース レベルで新規作成されたすべてのポッドと、このリリース レベルに更新されたポッドにより、管理対象の Microsoft Azure Database for PostgreSQL サーバに対してコストがかかることがあります。高可用性が有効になっているポッドは、追加のマネージャ仮想マシンを実行するためのコストも発生します。この執筆時点では、今回のリリース レベルで作成された、または今回のリリース レベルに更新されたすべてのポッドにデプロイされた Azure ロード バランサまたは可用性セットを使用することでは、コストはかかりません。

現在のリリースで使用される、前述の Microsoft Azure Database for PostgreSQL 構成の価格見積もりについては、https://azure.microsoft.com/en-us/pricing/details/postgresql/server/を参照してください。