Azure Load Balancer のコンポーネント

Azure Load Balancer には、重要なコンポーネントがいくつか含まれています。 これらのコンポーネントは、Azure portal、Azure CLI、Azure PowerShell、Resource Manager テンプレート、または適切な代替手段を使用して、サブスクリプションで構成できます。

フロントエンド IP の構成

Azure Load Balancer の IP アドレスです。 クライアントにとっての接続点となります。 これらの IP アドレスは、次のいずれかになります。

  • パブリック IP アドレス
  • プライベート IP アドレス

IP アドレスの特質によって、作成されるロード バランサーの種類が決まります。 プライベート IP アドレスを選択した場合は、内部ロード バランサーが作成されます。 パブリック IP アドレスを選択した場合は、パブリック ロード バランサーが作成されます。

パブリック ロード バランサー 内部ロード バランサー
フロントエンド IP の構成 パブリック IP アドレス プライベート IP アドレス
説明 パブリック ロード バランサーは、受信トラフィックのパブリック IP およびポートを、VM のプライベート IP およびポートにマップします。 ロード バランサーは、VM からの応答トラフィックについてはその逆にマップします。 負荷分散規則を適用することで、特定の種類のトラフィックを複数の VM やサービスに分散できます。 たとえば、複数の Web サーバー間で Web 要求のトラフィックの負荷を分散できます。 内部ロード バランサーは、仮想ネットワーク内のリソースにトラフィックを分散させます。 負荷分散の対象となる、仮想ネットワークのフロントエンド IP アドレスは、Azure によってアクセスが制限されます。 フロントエンドの IP アドレスと仮想ネットワークがインターネット エンドポイントに直接公開されることはありません。つまり、内部ロード バランサーがインターネットから受信トラフィックを受け取ることはできません。 社内の基幹業務アプリケーションは Azure で実行され、Azure 内またはオンプレミス リソースからアクセスされます。
サポートされている SKU Basic、Standard Basic、Standard

階層化されたロード バランサーの例

ロード バランサーには、複数のフロントエンド IP を割り当てることができます。 複数のフロントエンドの詳細については、こちらをご覧ください。

バックエンド プール

受信要求を処理する仮想マシンのグループまたは仮想マシン スケール セット内のインスタンスのグループ。 コスト効果に優れた方法でスケーリングして大量の受信トラフィックに対処するために、コンピューティングのガイドラインでは通常、バックエンド プールにインスタンスを追加することが推奨されます。

ロード バランサーは、インスタンスがスケールアップまたはスケールダウンされると、自動再構成を通じてすぐに自身を再構成します。 バックエンド プールの VM を追加または削除すると、その他の操作なしに、ロード バランサーが再構成されます。 バックエンド プールのスコープは、1 つの仮想ネットワーク内の任意の仮想マシンです。

バックエンド プールでは、ネットワーク インターフェイスまたは IP アドレスを使用したインスタンスの追加がサポートされています。 VM は、パブリック ロード バランサーのバックエンド プールに接続するためにはパブリック IP アドレスを必要としません。 また、VM が停止状態の場合でも、ロード バランサーのバックエンド プールに VM をアタッチできます。

バックエンド プールの設計方法を検討するときは、個々のバックエンド プール リソースを最小限の数に設計して、管理操作の期間を最適化します。 データ プレーンのパフォーマンスやスケールに違いはありません。

正常性プローブ

正常性プローブは、バックエンド プール内のインスタンスの正常性状態を判断するために使用されます。 ロード バランサーの作成中に、ロード バランサーで使用する正常性プローブを構成します。 この正常性プローブによって、インスタンスが正常で、トラフィックを受信できるかどうかが判断されます。

正常性プローブには、異常しきい値を定義できます。 プローブで応答できない場合、ロード バランサーは異常なインスタンスへの新しい接続の送信を停止します。 プローブの失敗は、既存の接続には影響しません。 接続は、アプリケーションが以下を実行するまで続行されます。

  • フローを終了する
  • アイドル タイムアウトが発生する
  • VM がシャットダウンする

ロード バランサーは、エンドポイントにさまざまな種類の正常性プローブを提供します。TCP、HTTP、HTTPS です。 Load Balancer の正常性プローブの詳細については、こちらをご覧ください

Basic Load Balancer では、HTTPS プローブはサポートされていません。 Basic Load Balancer は、すべての TCP 接続 (確立済み接続を含む) を終了します。

ロード バランサー規則

負荷分散規則は、バックエンド プール内のすべてのインスタンスに受信トラフィックを分散する方法を定義するために使用されます。 負荷分散規則により、フロントエンドの特定の IP 構成およびポートがバックエンドの複数の IP アドレスおよびポートにマップされます。 ロード バランサー規則はインバウンド トラフィック専用です。

たとえば、フロントエンド IP からバックエンド インスタンスのポート 80 にトラフィックを送信するロード バランサー規則をポート 80 に使用します。

負荷分散規則の参照図

図:負荷分散規則

高可用性ポート

'protocol - all and port - 0' で構成されたロード バランサー規則は、高可用性 (HA) ポート規則と呼ばれます。 この規則では、内部 Standard Load Balancer のすべてのポートに到着するすべての TCP フローと UDP フローを単一の規則によって負荷分散できます。

負荷分散の決定は、フローごとに行われます。 このアクションは、次の 5 組の接続に基づいています。

  1. 発信元 IP アドレス
  2. 発信元ポート
  3. 宛先 IP アドレス
  4. 宛先ポート
  5. protocol

HA ポート負荷分散規則は、仮想ネットワーク内のネットワーク仮想アプライアンス (NVA) の高可用性と拡張性のような、重要なシナリオで役に立ちます。 この機能は、数多くのポートを負荷分散する必要がある場合に役立ちます。

図には、Azure Load Balancer によってすべてのフロントエンド ポートがすべてのバックエンド ポートの 3 つのインスタンスに転送される方法が示されています

図:HA ポートの規則

HA ポートの詳細についてはこちらをご覧ください。

受信 NAT のルール

インバウンド NAT 規則によって、フロントエンド IP アドレスとポートの組み合わせに送信された受信トラフィックが転送されます。 トラフィックは、バックエンド プール内の特定の仮想マシンまたはインスタンスに送信されます。 ポート フォワーディングも、負荷分散と同じハッシュベースの分散によって実行されます。

インバウンド NAT 規則の参照図

図:インバウンド NAT 規則

Virtual Machine Scale Sets のコンテキストでの受信 NAT 規則は、受信 NAT プールです。 ロード バランサー コンポーネントと仮想マシン スケール セットの詳細についてはこちらをご覧ください。

アウトバウンド規則

すべての仮想マシン、またはバックエンド プールによって識別されたインスタンスを対象とするアウトバウンド ネットワーク アドレス変換 (NAT) は、アウトバウンド規則によって構成します。 この規則により、バックエンド内のインスタンスがインターネットやその他のエンドポイントに通信 (送信) できるようになります。

送信接続と規則の詳細については、こちらをご覧ください。

Basic ロード バランサーでは、アウトバウンド規則がサポートされていません。

アウトバウンド規則の参照図

図:アウトバウンド規則

制限事項

  • ロード バランサーの制限を確認してください
  • ロード バランサーは特定の TCP または UDP プロトコルに対する負荷分散とポート フォワーディングを行います。 負荷分散規則と受信 NAT 規則は TCP および UDP をサポートしますが、ICMP を含む他の IP プロトコルはサポートしていません。
  • Load Balancer のバックエンド プールをプライベート エンドポイントで構成することはできません。
  • 内部 Load Balancer のフロントエンドへのバックエンド VM からのアウトバウンド フローは失敗します。
  • ロード バランサーの規則は、2 つの仮想ネットワークにまたがることはできません。 すべてのロード バランサーのフロントエンドとそのバックエンド インスタンスは、1 つの仮想ネットワーク内に存在する必要があります。
  • 負荷分散規則では、IP フラグメントの転送はサポートされていません。 UDP パケットと TCP パケットの IP の断片化は負荷分散規則ではサポートされていません。
  • 可用性セットごとに、1 つのパブリック Load Balancer (NIC ベース) と 1 つの内部 Load Balancer (NIC ベース) のみを使用できます。 ただし、この制約は IP ベースのロード バランサーには適用されません。

次のステップ