パススルー ネットワーク ロードバランサの概要

パススルー ネットワーク ロードバランサは、レイヤ 4 のリージョン パススルー ロードバランサです。これらのロードバランサは、ロードバランサと同じリージョンのバックエンド間でトラフィックを分散します。その名のとおり、パススルー ネットワーク ロードバランサはプロキシではありません。ロード バランシングされたパケットは、パケットの送信元 IP アドレス、宛先 IP アドレス、プロトコル(プロトコルがポートベースの場合は、送信元ポートと宛先ポートは変更されていません)を持つバックエンド VM によって受信されます。ロード バランシングされた接続はバックエンドで終端されます。バックエンド VM からのレスポンスは、ロードバランサを経由せず、クライアントに直接送信されます。これを業界用語で Direct Server Return(DSR)といいます。

次の図は、パススルー ネットワーク ロードバランサのアーキテクチャの例を示しています。

パススルー ネットワーク ロードバランサのアーキテクチャ。
パススルー ネットワーク ロードバランサのアーキテクチャ(クリックして拡大)

パススルー ネットワーク ロードバランサは、次のような状況で使用します。

  • 元のクライアント パケットを、プロキシを経由しないバックエンドに転送する必要がある場合(たとえば、クライアントの送信元 IP アドレスを保持する必要がある場合)。
  • TCP、UDP、ESP、GRE、ICMP、ICMPv6 のトラフィックをロード バランシングする必要がある場合、または他のロードバランサでサポートされていない TCP ポートのロード バランシングが必要な場合。
  • ロードバランサではなく、バックエンドで SSL トラフィックの復号を行う場合。パススルー ネットワーク ロードバランサはこのタスクを実行できません。SSL トラフィックをバックエンドで復号すると、VM の CPU 使用量が非常に多くなります。
  • バックエンド VM の SSL 証明書を自己管理できる場合。Google マネージド SSL 証明書はプロキシ ロードバランサでのみ使用できます。
  • 既存の環境でパススルー ロードバランサを使用していて、これを変更せずに移行する場合。

パススルー ネットワーク ロードバランサは次のデプロイモードで使用できます。

スコープ トラフィックの種類 ネットワーク サービス ティア ロード バランシング スキーム IP アドレス フロントエンド ポート リンク
外部パススルー ネットワーク ロードバランサ

インターネット上のクライアントから着信したトラフィックをロードバランスします。

リージョン TCP、UDP、ESP、GRE、ICMP、ICMPv6 プレミアム ティアまたはスタンダード ティア EXTERNAL IPv4 と IPv6 単一のポート、ポート範囲、またはすべてのポート アーキテクチャの詳細
内部パススルー ネットワーク ロードバランサ

VPC ネットワーク内または VPC ネットワークに接続しているネットワーク内のトラフィックをロードバランスします。

リージョン TCP、UDP、ICMP、ICMPv6、SCTP、ESP、AH、GRE プレミアム INTERNAL IPv4 と IPv6 単一のポート、ポート範囲、またはすべてのポート アーキテクチャの詳細

ロード バランシング スキームは、ロードバランサに関する転送ルールバックエンド サービスの属性であり、ロードバランサを内部トラフィックと外部トラフィックのどちらで使用できるかを示します。

外部パススルー ネットワーク ロードバランサ

外部パススルー ネットワーク ロードバランサは、ロードバランサと同じリージョン内のバックエンド(インスタンス グループまたはネットワーク エンドポイント グループ(NEG))間で外部トラフィックを分散するレイヤ 4 リージョン ロードバランサです。これらのバックエンドは同じリージョンとプロジェクトに存在する必要がありますが、異なる VPC ネットワークに配置できます。これらのロードバランサは、MaglevAndromeda ネットワークの仮想化スタック上に構築されています。

外部パススルー ネットワーク ロードバランサは、以下のトラフィックを受信できます。

  • インターネット上のすべてのクライアント
  • 外部 IP を持つ Google Cloud VM
  • Cloud NAT またはインスタンス ベースの NAT 経由でインターネットにアクセスできる Google Cloud VM

外部パススルー ネットワーク ロードバランサはプロキシではありません。ロードバランサ自体はユーザー接続を終端しません。ロードバランスされたパケットは、元の送信元 IP アドレス、宛先 IP アドレス、プロトコル、ポート(該当する場合)のままバックエンド VM に送信されます。その後、バックエンド VM がユーザー接続を終端します。バックエンド VM からのレスポンスは、ロードバランサを経由せず、クライアントに直接送信されます。このプロセスはダイレクト サーバー リターン(DSR)といいます。

次の図は、us-central1 リージョンで構成され、バックエンドが同じリージョンに配置されている外部パススルー ネットワーク ロードバランサを示しています。トラフィックは、シンガポールのユーザーから us-central1 のロードバランサ(転送ルールの IP アドレス 120.1.1.1)にルーティングされています。

ロードバランサの IP アドレスがプレミアム ティアにある場合、トラフィックは Google の高品質グローバル バックボーンを通過し、パケットはクライアントに可能な限り近い Google エッジ ピアリング ポイントを通過します。ロードバランサの IP アドレスがスタンダード ティアにある場合、トラフィックは、ロードバランサが構成されている Google Cloud リージョンに最も近いピアリング ポイントで Google ネットワークに出入りします。

プレミアム ネットワーク ティアとスタンダード ネットワーク ティアにおける外部パススルー ネットワーク ロードバランサのトラフィックのルーティング。
プレミアム ネットワーク ティアとスタンダード ネットワーク ティアにおける外部パススルー ネットワーク ロードバランサのトラフィックのルーティング。

外部パススルー ネットワーク ロードバランサのアーキテクチャは、バックエンドの設定にバックエンド サービスとターゲット プールのどちらを使うかによって異なります。

バックエンド サービスベースのロードバランサ

外部パススルー ネットワーク ロードバランサは、リージョン バックエンド サービスを使用して作成できます。リージョン バックエンド サービスでは、ロードバランサの動作と、トラフィックをバックエンドに分散させる方法を定義します。バックエンド サービスベースの外部パススルー ネットワーク ロードバランサは、IPv4 / IPv6 トラフィック、複数のプロトコル(TCP、UDP、ESP、GRE、ICMP、ICMPv6)、マネージド / 非マネージド インスタンス グループ バックエンド、GCE_VM_IP エンドポイントを使用するゾーン ネットワーク エンドポイント グループ(NEG)バックエンド、きめ細かいトラフィック分散コントロール、フェイルオーバー ポリシーをサポートしています。これにより、分散するトラフィックのタイプ(TCP、SSL、HTTP、HTTPS、HTTP/2)に一致する非レガシー ヘルスチェックを使用できます。

Google Kubernetes Engine(GKE)へのロード バランシングは、組み込みの GKE Service コントローラを使用して処理されます。また、バックエンド サービスベースの外部パススルー ネットワーク ロードバランサは、App Hubプレビュー版)でサポートされています。

アーキテクチャの詳細とサポートされている機能の詳細については、バックエンド サービスベースの外部パススルー ネットワーク ロードバランサの概要をご覧ください。

既存のターゲット プールベースのロードバランサを移行して、バックエンド サービスを使用できます。手順については、ロードバランサをターゲット プールからバックエンド サービスに移行するをご覧ください。

ターゲット プールベースのロードバランサ

ターゲット プールは、外部パススルー ネットワーク ロードバランサでサポートされているレガシー バックエンドです。ターゲット プールでは、ロードバランサから受信トラフィックを受け取るインスタンスのグループを定義します。

ターゲット プールベースのロードバランサは、TCP または UDP のいずれかのトラフィックをサポートします。ターゲット プール ベースの外部パススルー ネットワーク ロードバランサの転送ルールは、外部 IPv4 アドレスのみをサポートします。

アーキテクチャの詳細については、ターゲット プール ベースの外部パススルー ネットワーク ロードバランサの概要をご覧ください。

内部パススルー ネットワーク ロードバランサ

内部パススルー ネットワーク ロードバランサは、Virtual Private Cloud(VPC)ネットワークの同じリージョンに存在する内部仮想マシン(VM)インスタンス間でトラフィックを分散します。これにより、同じ VPC ネットワークのシステムまたは VPC ネットワークに接続しているシステムのみがアクセス可能な内部 IP アドレスの背後でサービスを実行し、スケーリングできます。

これらのロードバランサは、Andromeda ネットワークの仮想化スタック上に構築されています。これらはリージョン バックエンドのみをサポートしているため、リージョン全体を自動スケーリングでき、ゾーン障害からサービスを保護します。また、このロードバランサはプレミアム ティアでのみ構成できます。

内部パススルー ネットワーク ロードバランサは、多くのユースケースに対応しています。次のセクションでは、その一部を説明します。

接続ネットワークへのアクセス

接続ネットワークから VPC ネットワーク内の内部パススルー ネットワーク ロードバランサにアクセスする方法は、次のとおりです。

  • VPC ネットワーク ピアリング
  • Cloud VPN と Cloud Interconnect

詳細な例については、内部パススルー ネットワーク ロードバランサと接続ネットワークをご覧ください。

3 層ウェブサービス

内部パススルー ネットワーク ロードバランサは、他のロードバランサと結合して使用できます。たとえば、外部アプリケーション ロードバランサを組み込む場合、外部アプリケーション ロードバランサはウェブ階層であり、内部パススルー ネットワーク ロードバランサの背後にあるサービスに依存します。

次の図は、外部アプリケーション ロードバランサと内部パススルー ネットワーク ロードバランサを使用する 3 層構成の例を示しています。

外部アプリケーション ロードバランサと内部パススルー ネットワーク ロードバランサを使用する 3 層ウェブアプリ。
外部アプリケーション ロードバランサと内部パススルー ネットワーク ロードバランサを使用する 3 層ウェブアプリ(クリックして拡大)

グローバル アクセスが有効な 3 層ウェブサービス

グローバル アクセスを有効にすると、次の図のように別のリージョンにウェブ層 VM を配置できます。

この多層アプリケーションの例のフローは、次のとおりです。

  • グローバルに利用可能な、インターネットに接続したウェブ層が、外部のアプリケーション ロードバランサを使用してトラフィックをロード バランシングする。
  • us-east1 リージョンの内部バックエンド ロード バランシングされたデータベース層に、グローバル ウェブ層がアクセスする。
  • europe-west1 リージョンのウェブ層の一部であるクライアント VM が、us-east1 にある内部ロードバランスされたデータベース層にアクセスする。
外部アプリケーション ロードバランサ、グローバル アクセス、内部パススルー ネットワーク ロードバランサを使用する 3 層ウェブアプリ。
外部アプリケーション ロードバランサ、グローバル アクセス、内部パススルー ネットワーク ロードバランサを使用する 3 層ウェブアプリ(クリックして拡大)

ネクストホップとしての内部パススルー ネットワーク ロードバランサの使用

内部パススルー ネットワーク ロードバランサは、最終宛先へのパスに沿ってパケットを転送する際の次のゲートウェイとして使用できます。これを行うには、カスタム静的ルートでロードバランサをネクストホップに設定します。

カスタムルートでネクストホップとしてデプロイされた内部パススルー ネットワーク ロードバランサは、プロトコル(TCP、UDP、ICMP)に関係なくすべてのトラフィックを処理します。

次に、NAT ゲートウェイへのネクストホップとして内部パススルー ネットワーク ロードバランサを使用するサンプル アーキテクチャを示します。内部パススルー ネットワーク ロードバランサを介して、ファイアウォールまたはゲートウェイ仮想アプライアンス バックエンドにトラフィックをルーティングできます。

NAT のユースケース。
NAT のユースケース(クリックして拡大)

その他のユースケースには次のものがあります。

  • ハブアンドスポーク: VPC ネットワーク ピアリングを使用したネクストホップ ルートの交換 - hub VPC ネットワークに配置されたネクストホップ ファイアウォール仮想アプライアンスで、ハブアンドポーク トポロジを構成できます。ロードバランサを hub VPC ネットワークのネクストホップとして使用するルートは、各 spoke ネットワークで使用できます。
  • バックエンド VM 上の複数のネットワーク インターフェース(nic0nic7)へのロード バランシング。

これらのユースケースの詳細については、ネクストホップとしての内部パススルー ネットワーク ロードバランサをご覧ください。

内部パススルー ネットワーク ロードバランサと GKE

GKE が Service 用の内部パススルー ネットワーク ロードバランサを作成する方法の詳細については、GKE ドキュメントの LoadBalancer Service のコンセプトをご覧ください。

内部パススルー ネットワーク ロードバランサと App Hub

内部パススルー ネットワーク ロードバランサで使用されるリソースは、App Hubプレビュー版)でサービスとして指定できます。

次のステップ