次の方法で共有


Load Balancer の信頼性

この記事には、可用性ゾーンと、リージョン間のディザスター リカバリーおよび事業継続による ロード バランサーのリージョンの回復性に関する詳細情報が含まれています。

可用性ゾーンのサポート

可用性ゾーンとは、各 Azure リージョン内にある、物理的に分離されたデータセンターのグループです。 1 つのゾーンで障害が発生した際には、サービスを残りのゾーンのいずれかにフェールオーバーできます。

Azure の可用性ゾーンの詳細情報については、「可用性ゾーンとは」を参照してください。

Azure Load Balancer は、可用性ゾーンのシナリオをサポートしています。 Standard Load Balancer を使用することで、リソースをゾーンに一致させて、複数のゾーンに分散させることにより、シナリオ全体の可用性を向上させることができます。 このドキュメントを読んで、これらの概念と基本的なシナリオの設計ガイダンスを理解してください

ゾーン冗長を含む Load Balancer をデプロイすることをお勧めしますが、Load Balancer はゾーン冗長、ゾーン ベース、非ゾーンのいずれでも問題ありません。 ロード バランサーの可用性ゾーンの選択は、フロントエンド IP のゾーン選択と同義です。 パブリック ロード バランサーの場合、ロード バランサーのフロントエンドのパブリック IP がゾーン冗長である場合、ロード バランサーもゾーン冗長になります。 ロード バランサーのフロントエンドのパブリック IP がゾーンである場合、ロード バランサーも同じゾーンに指定されます。 ロード バランサーのゾーン関連プロパティを構成するには、必要なフロントエンドの適切な種類を選択します。

Note

ゾーンごとにロード バランサーを用意する必要はありません。複数のフロントエンド (ゾーンまたはゾーン冗長) をそれぞれのバックエンド プールに関連付けた単一のロード バランサーを用意することで目的を果たすことができます。

前提条件

  • Load Balancer を含む可用性ゾーンを使用するには、可用性ゾーンをサポートするリージョンにロード バランサーを作成する必要があります。 可用性ゾーンをサポートしているリージョンを確認するには、サポートされているリージョンの一覧を参照してください。

  • 可用性ゾーンをサポートするには、ロード バランサーとパブリック IP の両方に対して Standard SKU を使用します。

  • Basic SKU タイプはサポートされていません。

  • リソースを作成するには、ネットワーク共同作成者ロール以上が必要です。

制限事項

  • 作成済みのリソースに対して、ゾーンを変更、更新、作成することはできません。
  • 作成済みのリソースをゾーン ベースからゾーン冗長に、またはその逆に更新することはできません。

ゾーン冗長ロード バランサー

可用性ゾーンがあるリージョンでは、Standard Load Balancer は、単一の IP アドレスによって処理されるトラフィックでゾーン冗長にすることができます。 単一のフロントエンド IP アドレスは、ゾーンの障害が発生した後も存続します。 フロントエンド IP は、ゾーンに関係なく、すべての (影響を受けない) バックエンド プール メンバーに到達するために使用できます。 リージョン内の残りのゾーンが正常なままである限り、最大 1 つの可用性ゾーンが失敗し、データ パスが存続する可能性があります。

フロントエンドの IP アドレスは、複数の可用性ゾーンで複数の独立したインフラストラクチャ展開によって同時に処理されます。 再試行または再確立は、ゾーンの障害による影響を受けない他のゾーンで成功します。

図は、ゾーン冗長の構成の 3 つの異なるサブネットに 3 つの異なるゾーンのトラフィックを転送するゾーン冗長 Standard Load Balancer を示しています。

Note

VM 1、2、3 は同じサブネットに属することができ、図に示すように、必ずしも別々のゾーンに存在する必要はありません。

ロード バランサーのバックエンド プール内のメンバーは、通常、ゾーン仮想マシンなどの単一のゾーンに関連付けられます。 運用ワークロードの一般的な設計では、複数のゾーン リソースをもつようにします。 たとえば、ロード バランサーのバックエンドのゾーン 1、2、3 から仮想マシンを配置して、ゾーン冗長フロントエンドを設けると、この設計原則が満たされます。

ゾーン ロード バランサー

単一ゾーンを保証されたフロントエンドにすることができます。これは、"ゾーン ベース" と呼ばれます。 このシナリオでは、リージョン内の 1 つのゾーンがすべての受信フローまたは送信フローを処理します。 フロントエンドは、ゾーンの正常性に左右されます。 データ パスは、それが保証されたゾーン以外のゾーンのエラーによっては影響を受けません。 ゾーン ベースのフロントエンドを使って、可用性ゾーンごとに IP アドレスを公開することができます。

さらに、各ゾーン内の負荷分散されたエンドポイントに対して、ゾーン フロントエンドを直接使用することもできます。 この構成を使ってゾーンごとに負荷分散されたエンドポイントを公開し、各ゾーンを個別に監視することができます。 パブリック エンドポイントの場合は、これらを Traffic Manager などの DNS 負荷分散製品と統合して、1 つの DNS 名を使用できます。

図は、ゾーン内のトラフィックをゾーン構成内の 3 つの異なるサブネットにそれぞれ転送する 3 つのゾーン Standard Load Balancer を示しています。

パブリック ロード バランサー フロントエンドの場合は、パブリック IP に zones パラメーターを追加します。 このパブリック IP は、それぞれの規則で使用されるフロントエンド IP 構成によって参照されます。

内部ロード バランサー フロントエンドの場合は、内部ロード バランサーのフロントエンド IP 構成に zones パラメーターを追加します。 ゾーン フロントエンドは、サブネット内の IP アドレスを特定のゾーンに対して保証します。

非ゾーン ロード バランサー

ロード バランサーは、"ゾーンなし" フロントエンドを使用して、非ゾーン構成で作成することもできます。 これらのシナリオでは、パブリック ロード バランサーはパブリック IP またはパブリック IP プレフィックスを使い、内部ロード バランサーはプライベート IP を使います。 このオプションによって、冗長性は保証されません。

Note

Basic SKU から Standard SKU にアップグレードされるすべてのパブリック IP アドレスは、"ゾーンなし" の種類になります。 Azure portal でパブリック IP アドレスをアップグレードする方法について説明します。

SLA の機能強化

可用性ゾーンは物理的に分離されており、電源、ネットワーク、冷却を個別に提供するため、SLA (サービス レベル アグリーメント) を向上させることができます。 詳細については、「オンライン サービスのサービス レベル アグリーメント (SLA)」を参照してください。

可用性ゾーンが有効になっているリソースを作成する

Load Balancer を使用してゾーン内または複数のゾーンの VM の負荷を分散する方法の詳細については、「クイック スタート: VM の負荷を分散するパブリック ロード バランサーを作成する」をご覧ください。

Note

  • 作成済みのリソースに対して、ゾーンを変更、更新、作成することはできません。
  • 作成済みのリソースをゾーン ベースからゾーン冗長に、またはその逆に更新することはできません。

フォールト トレランス

仮想マシンはクラスター内の別のサーバーにフェールオーバーでき、VM のオペレーティング システムは新しいサーバーで再起動されます。 お客様は、ディザスター リカバリー、復旧計画での仮想マシンの集約、ディザスター リカバリー訓練の実行に関するフェールオーバー プロセスを参照して、フォールト トレランス ソリューションが成功することを確認する必要があります。

詳細については、サイトの回復プロセスに関するページを参照してください。

ゾーン ダウン エクスペリエンス

ゾーンの冗長性は、データ プレーンやコントロール プレーンがヒットレスであることを意味するものではありません。 ゾーン冗長なフローは任意のゾーンを使うことができ、ユーザーのフローはリージョン内で正常なすべてのゾーンを使います。 ゾーンで障害が発生した場合、正常なゾーンを使用しているトラフィック フローは影響を受けません。

ゾーンで障害が発生したときにゾーンを使用しているトラフィック フローは影響を受ける可能性がありますが、アプリケーションは復旧できます。 Azure がゾーンの障害に対して収束した場合、トラフィックは、再送信時にリージョン内の正常なゾーンで継続されます。

障害シナリオに対するアプリケーションの回復性を向上させるには、Azure クラウド設計パターンに関する記事を参照してください。

複数のフロントエンド

複数のフロントエンドを使用すると、複数のポートまたは IP アドレスでトラフィックを負荷分散できます。 アーキテクチャを設計するときは、ゾーン冗長が複数のフロントエンドとどのように相互に作用するかを考慮してください。 常にすべてのフロントエンドが障害に対する回復性を備えることを目標とする場合は、フロントエンドとして割り当てられるすべての IP アドレスがゾーン冗長でなければなりません。 フロントエンドのセットが 1 つのゾーンに関連付けられることが目的である場合は、そのセットのすべての IP アドレスをその特定のゾーンに関連付ける必要があります。 ロード バランサーを各ゾーンに設ける必要はありません。 代わりに、各ゾーン フロントエンド、またはゾーン フロントエンドのセットを、その特定の可用性ゾーンの一部であるバックエンド プール内の仮想マシンに関連付けることができます。

安全なデプロイ手法

障害シナリオに対するアプリケーションの回復性を向上させるには、Azure クラウド設計パターンに関する記事を参照してください。

可用性ゾーン サポートに移行する

可用性ゾーンを使用するようにリージョンが拡張されている場合、既存の IP は、ロード バランサー フロントエンドに使用される IP のように、非ゾーンのままです。 アーキテクチャで新しいゾーンを利用できるようにするには、新しいフロントエンド IP を作成することをお勧めします。 作成後は、新しいゾーン冗長フロントエンドで既存の非ゾーン フロントエンドを置換できます。 VM を可用性ゾーンのサポートに移行する方法については、「Load Balancer を可用性ゾーンのサポートに移行する」を参照してください。

リージョン間のディザスター リカバリーおよび事業継続

ディザスター リカバリー (DR) とは、ダウンタイムやデータ損失につながるような、影響の大きいイベント (自然災害やデプロイの失敗など) から復旧することです。 原因に関係なく、災害に対する最善の解決策は、明確に定義されテストされた DR プランと、DR を積極的にサポートするアプリケーション設計です。 ディザスター リカバリー計画の作成を検討する前に、「ディザスター リカバリー戦略の設計に関する推奨事項」を参照してください。

DR に関しては、Microsoft は共有責任モデルを使用します。 共有責任モデルでは、ベースライン インフラストラクチャとプラットフォーム サービスの可用性が Microsoft によって保証されます。 同時に、多くの Azure サービスでは、データのレプリケート、または障害が発生したリージョンから別の有効なリージョンにクロスレプリケートするフォールバックは、自動的には行われません。 それらのサービスについては、お客様がワークロードに適したディザスター リカバリー計画を設定する必要があります。 Azure PaaS (サービスとしてのプラットフォーム) オファリング上で実行されるほとんどのサービスには、DR をサポートするための機能とガイダンスが用意されており、お客様はサービス固有の機能を使って迅速な復旧をサポートでき、DR 計画の開発に役立ちます。

Azure Standard Load Balancer では、リージョン間の負荷分散がサポートされ、次のような geo 冗長高可用性シナリオを実現できます。

リージョン間ロード バランサーのフロントエンド IP 構成は静的であり、ほとんどの Azure リージョンにわたって公開されます。

リージョン間ロード バランサーの図。

Note

リージョン間ロード バランサー上の負荷分散規則のバックエンド ポートは、リージョンの標準ロード バランサー上の負荷分散規則またはインバウンド NAT 規則のフロントエンド ポートと一致している必要があります。

複数リージョンの地域でのディザスター リカバリー

リージョン冗長

リージョン間ロード バランサーを既存のリージョン ロード バランサーにシームレスにリンクすることで、リージョンの冗長性を構成します。

1 つのリージョンで障害が発生した場合、トラフィックは次の最も近い正常なリージョンのロード バランサーにルーティングされます。

リージョン間ロード バランサーの正常性プローブによって、リージョン別ロード バランサーの可用性に関する情報が 5 秒ごとに収集されます。 1 つのリージョン ロード バランサーの可用性が 0 に落ちると、リージョン間ロード バランサーによって失敗が検出されます。 その後、そのリージョン ロード バランサーはローテーションから外されます。

グローバル リージョンのトラフィック ビューの図。

超低遅延

geo 近接の負荷分散アルゴリズムは、ユーザーの地理的な場所と、お客様のリージョン デプロイに基づいています。

クライアントから開始されたトラフィックは、最も近い参加リージョンに到達し、Microsoft のグローバル ネットワーク バックボーンを経由して、最も近いリージョン デプロイに到達します。

たとえば、リージョン間ロード バランサーと、次の Azure リージョンの標準ロード バランサーがあるとします。

  • 米国西部
  • 北ヨーロッパ

フローがシアトルから開始された場合、トラフィックは米国西部に入ります。 このリージョンは、シアトルから最も近い参加リージョンです。 トラフィックは、最も近いリージョンのロード バランサー (米国西部) にルーティングされます。

Azure のリージョン間ロード バランサーでは、ルーティングの決定に geo 近接負荷分散アルゴリズムが使用されます。

リージョン ロード バランサーの構成済み負荷分散モードは、geo 近接に複数のリージョン ロード バランサーが使用されている場合に、最終的なルーティングを決定するために使用されます。

詳細については、「Azure Load Balancer の分散モードを構成する」を参照してください。

エグレス トラフィックは、リージョン ロード バランサーで設定されたルーティング設定に従います。

1 つのエンドポイントの背後でスケールアップまたはスケールダウンする機能

リージョン間ロード バランサーのグローバル エンドポイントを顧客に公開すると、中断せずにグローバル エンドポイントの背後にあるリージョン デプロイを追加または削除できるようになります。

静的なエニーキャスト グローバル IP アドレス

リージョン間ロード バランサーには静的パブリック IP が付属しています。これにより、IP アドレスを同じままにすることができます。 静的 IP の詳細については、こちらを参照してください

クライアント IP の保持

リージョン間ロード バランサーは、レイヤー 4 のパススルー ネットワーク ロード バランサーです。 このパススルーによって、パケットの元の IP が保持されます。 元の IP は、仮想マシン上で実行するコードで使用できます。 この保持機能により、IP アドレスに固有のロジックを適用できます。

フローティング IP

フローティング IP は、グローバル IP レベルとリージョン IP レベルの両方で構成できます。 詳細については、「Azure Load Balancer の複数のフロントエンド」を参照してください

Azure リージョン間の Load Balancer に構成されたフローティング IP は、バックエンドのリージョン ロードバランサー上のフローティング IP 構成とは独立して動作することにご注意ください。 リージョン間のロード バランサーでフローティング IP が有効な場合は、適切なループバック インターフェイスをバックエンド VM に追加する必要があります。

正常性プローブ

Azure のリージョン間ロード バランサーでは、トラフィックの分散先を決定するときに、バックエンドのリージョン ロード バランサーの正常性が使用されます。 ユーザーがリージョン ロード バランサーに正常性プローブを設定した場合、リージョン間ロード バランサーによる正常性チェックは、5 秒ごとに自動的に行われます。

既存の Azure Load Balancer でリージョン間ソリューションを構築する

リージョン間ロード バランサーのバックエンド プールには、1 つ以上のリージョン ロード バランサーが含まれています。

既存のロード バランサーのデプロイをリージョン間ロード バランサーに追加して、高可用性のリージョン間デプロイを実現します。

ホーム リージョンは、リージョン間ロード バランサーまたはグローバル層のパブリック IP アドレスがデプロイされる場所です。 このリージョンは、トラフィックのルーティング方法には影響しません。 ホーム リージョンがダウンしても、トラフィック フローは影響を受けません。

ホーム リージョン

  • 米国中部
  • 東アジア
  • 米国東部 2
  • 北ヨーロッパ
  • 東南アジア
  • 英国南部
  • US Gov バージニア州
  • 西ヨーロッパ
  • 米国西部

Note

リージョン間ロード バランサーまたはグローバル層のパブリック IP をデプロイできるのは、一覧表示されたホーム リージョンのいずれかに限られます。

参加リージョンは、ロード バランサーのグローバル パブリック IP が公開されている場所です。

ユーザーが開始したトラフィックは、Microsoft のコア ネットワークを経由して、最も近い参加リージョンに到達します。

リージョン間ロード バランサーによって、トラフィックが適切なリージョン ロード バランサーにルーティングされます。

複数リージョンのグローバル トラフィックの図。

参加リージョン

  • オーストラリア東部
  • オーストラリア南東部
  • インド中部
  • 米国中部
  • 東アジア
  • 米国東部
  • 米国東部 2
  • 東日本
  • 米国中北部
  • 北ヨーロッパ
  • 米国中南部
  • 東南アジア
  • 英国南部
  • US DoD Central
  • US DoD East
  • US Gov アリゾナ
  • US Gov テキサス
  • US Gov バージニア州
  • 米国中西部
  • 西ヨーロッパ
  • 米国西部
  • 米国西部 2

Note

バックエンド リージョン ロード バランサーは、一般公開されている任意の Azure リージョンにデプロイでき、参加リージョンのみに限定されません。

制限事項

  • リージョン間のフロントエンド IP 構成はパブリックのみです。 現在、内部フロントエンドはサポートされていません。

  • リージョン間ロード バランサーのバックエンド プールにプライベートまたは内部ロード バランサーを追加することはできません

  • 現時点では、NAT64 変換はサポートされていません。 フロントエンド IP とバックエンド IP は、同じ種類 (v4 または v6) である必要があります。

  • UDP トラフィックは、IPv6 用のリージョン間ロード バランサーではサポートされていません。

  • ポート 3 の UDP トラフィックは、リージョン間の Load Balancer ではサポートされていません

  • アウトバウンド規則は、リージョン間ロード バランサーではサポートされていません。 アウトバウンド接続には、リージョン ロード バランサーまたは NAT ゲートウェイアウトバウンド規則を利用してください。

料金と SLA

リージョン間ロード バランサーは、Standard ロード バランサーの SLA を共有します。

次のステップ