英語で読む

次の方法で共有


Load Balancer の信頼性

この記事には、可用性ゾーンを利用した Load Balancer のリージョンの回復性に加え、グローバル ディザスター リカバリーとビジネス継続性に関する詳細情報が含まれています。

可用性ゾーンのサポート

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

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

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

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

注意

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

前提条件

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

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

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

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

制限事項

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

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

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

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

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

注意

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 を使います。 このオプションによって、冗長性は保証されません。

注意

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

SLA の機能強化

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

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

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

注意

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

フォールト トレランス

仮想マシンはクラスター内の別のサーバーにフェールオーバーでき、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 リージョンにわたって公開されます。

グローバル ロード バランサーの図。

注意

グローバル ロード バランサーの負荷分散規則のバックエンド ポートは、リージョンの Standard Load Balancer の負荷分散規則またはインバウンド NAT 規則のフロントエンド ポートと一致する必要があります。

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

リージョン冗長

グローバル ロード バランサーを既存のリージョン ロード バランサーにシームレスにリンクして、リージョンの冗長性を構成します。

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

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

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

超低遅延

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

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

たとえば、グローバル ロード バランサーと、次の Azure リージョンの Standard Load Balancer があるとします。

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

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

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

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

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

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

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

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

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

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

クライアント IP の保持

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

フローティング IP

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

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

正常性プローブ

Azure Global Load Balancer では、トラフィックの分散先を決定するときにバックエンド リージョン ロード バランサーの正常性を活用します。 ユーザーが正常性プローブをリージョン ロード バランサー上に構成している場合、グローバル ロード バランサーによる正常性チェックは、5 秒ごとに自動的に行われます。

グローバル ソリューションを既存の Azure Load Balancer 上にビルドする

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

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

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

ホーム リージョン

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

注意

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

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

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

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

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

参加リージョン

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

注意

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

制限事項

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

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

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

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

  • ポート 3 の UDP トラフィックは、グローバル ロード バランサーではサポートされていません

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

料金と SLA

グローバル ロード バランサーでは、Standard Load Balancer の SLA が共有されます。

次のステップ