転送ルールの概要

Google Cloud ロードバランサのフロントエンド構成は、転送ルールとそれに対応する IP アドレスによって表されます。

各転送ルールは、ロードバランサがトラフィックを受け入れる IP アドレスとポートを参照します。一部の Google Cloud ロードバランサでは事前定義されたポートセットのみという制限がありますが、他の Google Cloud ロードバランサでは任意のポートを指定できます。

転送ルールでは IP プロトコルも指定します。Google Cloud ロードバランサの場合、IP プロトコルは常に TCP または UDP のいずれかです。

ロードバランサの種類により、次が該当します。

また、転送ルールは、ロードバランサとその階層に応じてグローバルまたはリージョンのいずれかになります。

内部転送ルール

内部転送ルールは Google Cloud ネットワーク内で発生したトラフィックを転送します。クライアントは、バックエンドと同じ Virtual Private Cloud(VPC)ネットワーク内にあっても、接続されたネットワーク内にあっても構いません。

内部転送ルールは、次の 2 種類の Google Cloud ロードバランサで使用されます。

  • 内部 TCP/UDP ロードバランサ
  • 内部 HTTP(S) ロードバランサ

内部 TCP/UDP ロードバランサ

内部 TCP/UDP ロードバランサの場合、サポートされるトラフィック タイプは IPv4、サポートされるプロトコルは TCP または UDP のいずれか一方です。

それぞれの内部 TCP / UDP ロードバランサには、少なくとも 1 つのリージョン内部転送ルールがあります。リージョン内部転送ルールは、ロードバランサのリージョン内部バックエンド サービスを指し示します。次の図は、内部 TCP/UDP 負荷分散アーキテクチャの中での転送ルールの位置付けを示しています。

内部 TCP/UDP 負荷分散転送ルール(クリックして拡大)
内部 TCP/UDP 負荷分散転送ルール(クリックして拡大)

次の図は、サブネットとリージョンの中でのロードバランサ コンポーネントの位置付けを示しています。

内部転送ルールはリージョンとサブネットの中にある必要があります。バックエンド サービスはリージョンの中にあるだけで構いません。

内部 TCP/UDP ロードバランサの例の概要図(クリックして拡大)
内部 TCP/UDP ロードバランサの例の概要図(クリックして拡大)

内部 TCP/UDP ロードバランサの詳細については、内部 TCP/UDP 負荷分散の概要をご覧ください。内部 TCP/UDP ロードバランサの構成については、内部 TCP/UDP 負荷分散の設定をご覧ください。

内部 HTTP(S) ロードバランサ

内部 HTTP(S) ロードバランサの場合、サポートされるトラフィック タイプは IPv4、サポートされるプロトコルは HTTP、HTTPS、HTTP/2 です。

それぞれの内部 HTTP(S) ロードバランサには、リージョン内部転送ルールが 1 つだけあります。リージョン内部転送ルールは、ロードバランサのリージョン ターゲット HTTP または HTTPS プロキシを指し示します。次の図は、内部 HTTP(S) 負荷分散アーキテクチャの中での転送ルールの位置付けを示しています。

内部 HTTP(S) 負荷分散転送ルール(クリックして拡大)
内部 HTTP(S) 負荷分散転送ルール(クリックして拡大)

内部 HTTP(S) ロードバランサの詳細については、内部 HTTP(S) 負荷分散の概要をご覧ください。内部 HTTP(S) ロードバランサの構成については、内部 HTTP(S) 負荷分散設定の準備をご覧ください。

外部転送ルール

外部転送ルールは、VPC ネットワークの外部のインターネットから発信されたトラフィックを転送します。

外部転送ルールは、次の Google Cloud ロードバランサで使用されます。

  • 外部 HTTP(S) ロードバランサ
  • SSL プロキシ ロードバランサ
  • TCP プロキシ ロードバランサ
  • ネットワーク ロードバランサ

HTTP(S) ロードバランサ

外部 HTTP(S) ロードバランサは、プレミアム ティアとスタンダード ティアの両方に対応しています。転送ルールと IP アドレスはどちらも、ロードバランサ用に選択した階層によって異なります。

外部 HTTP(S) ロードバランサでは、転送ルールはターゲット プロキシを指し示します。

プレミアム ティアの HTTP(S) ロードバランサでは、グローバル外部 IP アドレス(IPv4 と IPv6 のいずれも可能)と、グローバル外部転送ルールを使用します。グローバルにアクセス可能なアプリケーションを提供し、エンドユーザーを最も近いリージョンのバックエンドに転送することによって、複数のリージョンにトラフィックを分散できます。グローバル外部転送ルールで使用する外部 IP アドレスは 1 つであるため、異なるリージョンに個別の DNS レコードを保持する必要がなく、DNS の変更が伝播されるのを待つ必要もありません。

同じ HTTP(S) ロードバランサを指し示す異なる 2 つのグローバル外部 IP アドレスを所有できます。たとえばプレミアム ティアでは、1 つ目の転送ルールのグローバル外部 IP アドレスを IPv4 にし、2 つ目の転送ルールのグローバル外部 IP アドレスを IPv6 にできます。2 つの転送ルールが同じターゲット プロキシを指し示すこともできます。その結果、1 つの外部 HTTP(S) ロードバランサに IPv4 アドレスと IPv6 アドレスの両方を指定できます。詳細については、IPv6 終端のドキュメントをご覧ください。

スタンダード ティアの HTTP(S) ロードバランサでは、リージョン外部 IP アドレス(IPv4 のみ)と、リージョン外部転送ルールを使用します。スタンダード ティアの外部 HTTP(S) ロードバランサは、単一リージョン内のバックエンドにのみトラフィックを分散できます。

次の図は、HTTP(S) 負荷分散アーキテクチャの中での転送ルールの位置付けを示しています。

HTTP(S) 負荷分散転送ルール(クリックして拡大)
HTTP(S) 負荷分散転送ルール(クリックして拡大)

外部 HTTP(S) ロードバランサの詳細については、HTTP(S) 負荷分散の概要をご覧ください。

SSL プロキシ ロードバランサ

SSL プロキシ ロードバランサは外部 HTTP(S) ロードバランサに似ています。これは、SSL(TLS)セッションの終端処理が可能なためです。SSL プロキシ ロードバランサは、外部 HTTP(S) ロードバランサとは違い、パスベースのリダイレクトをサポートしていないため、IMAP や WebSockets over SSL など、HTTPS 以外のプロトコルの SSL の処理に適しています。詳細については、SSL のよくある質問をご覧ください。

SSL プロキシ ロードバランサでは、転送ルールはターゲット プロキシを指し示します。

SSL プロキシ ロードバランサは、プレミアム ティアとスタンダード ティアの両方に対応しています。転送ルールと IP アドレスはどちらも、ロードバランサ用に選択した階層によって異なります。

プレミアム ティアの SSL プロキシ ロードバランサでは、グローバル外部 IP アドレス(IPv4 と IPv6 のいずれも可能)と、グローバル外部転送ルールを使用します。グローバルにアクセス可能なアプリケーションを提供し、エンドユーザーを最も近いリージョンのバックエンドに転送することによって、複数のリージョンにトラフィックを分散できます。グローバル外部転送ルールで使用する外部 IP アドレスは 1 つであるため、異なるリージョンに個別の DNS レコードを保持する必要がなく、DNS の変更が伝播されるのを待つ必要もありません。

異なる 2 つのグローバル外部 IP アドレスが同じ SSL プロキシ ロードバランサを指し示すことが可能です。たとえばプレミアム ティアでは、1 つ目の転送ルールのグローバル外部 IP アドレスを IPv4 にし、2 つ目の転送ルールのグローバル外部 IP アドレスを IPv6 にできます。2 つの転送ルールが同じターゲット プロキシを指し示すこともできます。その結果、1 つの SSL プロキシ ロードバランサに IPv4 アドレスと IPv6 アドレスの両方を指定できます。詳細については、IPv6 終端のドキュメントをご覧ください。

スタンダード ティアの SSL プロキシ ロードバランサでは、リージョン外部 IP アドレス(IPv4 のみ)と、リージョン外部転送ルールを使用します。スタンダード ティアの SSL プロキシ ロードバランサは、単一リージョン内のバックエンドにのみトラフィックを分散できます。

次の図は、SSL プロキシ負荷分散アーキテクチャの中での転送ルールの位置付けを示しています。

SSL プロキシ負荷分散転送ルール(クリックして拡大)
SSL プロキシ負荷分散転送ルール(クリックして拡大)

SSL プロキシ ロードバランサの詳細については、SSL プロキシ負荷分散の概要をご覧ください。SSL プロキシ ロードバランサの構成については、SSL プロキシ負荷分散の設定を参照してください。

TCP プロキシ ロードバランサ

TCP プロキシ ロードバランサは、SSL オフロードなしのグローバル TCP プロキシ機能を提供します。TCP プロキシ ロードバランサは、プレミアム ティアとスタンダード ティアの両方に対応しています。転送ルールと IP アドレスはどちらも、ロードバランサ用に選択した階層によって異なります。

TCP プロキシ ロードバランサでは、転送ルールはターゲット プロキシを指し示します。

プレミアム ティアの TCP プロキシ ロードバランサでは、グローバル外部 IP アドレス(IPv4 と IPv6 のいずれも可能)と、グローバル外部転送ルールを使用します。グローバルにアクセス可能なアプリケーションを提供し、エンドユーザーを最も近いリージョンのバックエンドに転送することによって、複数のリージョンにトラフィックを分散できます。グローバル外部転送ルールで使用する外部 IP アドレスは 1 つであるため、異なるリージョンに個別の DNS レコードを保持する必要がなく、DNS の変更が伝播されるのを待つ必要もありません。

異なる 2 つのグローバル外部 IP アドレスが同じ TCP プロキシ ロードバランサを指し示すことが可能です。たとえばプレミアム ティアでは、1 つ目の転送ルールのグローバル外部 IP アドレスを IPv4 にし、2 つ目の転送ルールのグローバル外部 IP アドレスを IPv6 にできます。2 つの転送ルールが同じターゲット プロキシを指し示すこともできます。その結果、1 つの TCP プロキシ ロードバランサに IPv4 アドレスと IPv6 アドレスの両方を指定できます。詳細については、IPv6 終端のドキュメントをご覧ください。

スタンダード ティアの TCP プロキシ ロードバランサでは、リージョン外部 IP アドレス(IPv4 のみ)と、リージョン外部転送ルールを使用します。スタンダード ティアの TCP プロキシ ロードバランサは、単一リージョン内のバックエンドにのみトラフィックを分散できます。

次の図は、TCP プロキシ負荷分散アーキテクチャの中での、転送ルールの位置付けを示しています。

TCP プロキシ負荷分散転送ルール(クリックして拡大)
TCP プロキシ負荷分散転送ルール(クリックして拡大)

TCP プロキシ ロードバランサの詳細については、TCP プロキシ負荷分散の概要をご覧ください。TCP プロキシ ロードバランサの構成については、TCP プロキシ負荷分散の設定をご覧ください。

ネットワーク ロードバランサ

ネットワーク ロードバランサは、TCP または UDP のトラフィックを 1 つのリージョン内のバックエンド間で分散させます。また、プレミアム ティアとスタンダード ティアの両方に対応しています。ネットワーク ロードバランサは、リージョン外部転送ルールとリージョン外部 IPv4 アドレスを使用します(これはどの階層でも同じです)。リージョン外部 IP アドレスには、インターネット上のどこからでもアクセスできます。

リージョン外部転送ルールは、ロードバランサのターゲット プールを指し示します。

ネットワーク負荷分散の転送ルール(クリックして拡大)
ネットワーク負荷分散の転送ルール(クリックして拡大)

ネットワーク負荷分散を異なるリージョンで使用するには、各リージョンにネットワーク ロードバランサを作成する必要があります。これはどの階層でも同じです。次の図は、3 つの異なるリージョンで 3 つのロードバランサを使用したネットワーク負荷分散を示しています。各ロードバランサには、それぞれに個別のリージョン外部 IPv4 アドレスを持つ個別のリージョン外部転送ルールがあります。

ネットワーク負荷分散の例(クリックして拡大)
ネットワーク負荷分散の例(クリックして拡大)

ネットワーク ロードバランサの詳細については、ネットワーク負荷分散の概要をご覧ください。ネットワーク負荷分散の構成については、ネットワーク負荷分散の設定をご覧ください。

Network Service Tiers がロードバランサに与える影響

Network Service Tiers におけるスタンダード ティアとプレミアム ティアは、インターネットを通るトラフィックの量により、次のように区別されます。

  • スタンダード ティア: トラフィックを Google データセンターにできる限り近づけます。プレミアム ティアと比較して、トラフィックが主に公共のインターネット経由で長距離をルーティングされることを意味します。

  • プレミアム ティア: トラフィックが Google Cloud を離れるまで可能な限り Google のプライベート ネットワークを経由してエンドユーザーに送信されます。

内部ロードバランサ(HTTP(S)と TCP/UDP)は Google のプライベート ネットワークを使用する必要があるため、常にプレミアム ティアにあります。内部負荷分散は常にリージョンごとです。

外部ロードバランサ(HTTP(S)、TCP プロキシ、SSL プロキシ、TCP/UDP ネットワーク)だけが、公共のインターネット経由でルーティングできます。外部ロードバランサを Google のプライベート ネットワークを使用するプレミアム ティアにするか、公共のインターネットを使用するスタンダード ティアにするかを選択できます。

ネットワーク負荷分散は、階層に関係なく常にリージョンごとです。

プレミアム ティアの HTTP(S) ロードバランサ、TCP プロキシ ロードバランサ、SSL プロキシ ロードバランサはグローバルです。これらの転送ルール、IP アドレス、バックエンド サービスはグローバルです。スタンダード ティアでは、これらのロードバランサは事実上リージョンごとになります。バックエンド サービスはグローバルですが、転送ルールと IP アドレスはリージョンごとになります。

IP アドレスの仕様

転送ルールには、ユーザーがロードバランサにアクセスするために使用する IP アドレスが必要です。IP アドレスは静的またはエフェメラルです。

静的 IP アドレスは、ドメインの参照に使用できる単一の予約済み IP アドレスを提供します。転送ルールを削除して再度追加する必要がある場合は、同じ予約済み IP アドレスを引き続き使用できます。

転送ルールが存在している間は、エフェメラル IP アドレスは存続します。エフェメラル IP アドレスを選択すると、Google Cloud はロードバランサの転送ルールに IP アドレスを関連付けます。転送ルールを削除して再度追加する必要がある場合は、転送ルールに新しい IP アドレスが割り当てられることがあります。

IP アドレスには、ロードバランサの種類に応じたさまざまな属性があります。次の表は、負荷分散スキームと転送ルールのターゲットに基づく有効な IP アドレス構成をまとめたものです。

スキーム ターゲット アドレスの種類 アドレスのスコープ アドレスの階層 予約可能アドレス
EXTERNAL

HTTP(S) 負荷分散
SSL プロキシ負荷分散
TCP プロキシ負荷分散
ターゲット HTTP プロキシ
ターゲット HTTPS プロキシ
ターゲット SSL プロキシ
ターゲット TCP プロキシ
外部 リージョンまたはグローバル(転送ルールに一致) プレミアム ティア: グローバル外部 IP アドレスと転送ルール

スタンダード ティア: リージョン外部 IP アドレスと転送ルール
○(省略可) IPv6 はグローバル外部アドレス(プレミアム ティア)で使用できます。
EXTERNAL

ネットワーク負荷分散
ターゲット プール 外部 リージョン スタンダードまたはプレミアム IPv6 はサポートされません。
EXTERNAL

Classic VPN
Classic VPN のドキュメントをご覧ください。 外部 リージョン Cloud VPN には Network Service Tiers がありません。 ○(必須) IPv6 はサポートされません。
INTERNAL

内部 TCP/UDP 負荷分散
バックエンド サービス 内部 リージョン プレミアム ○(省略可) 関連付けられたサブネットのプライマリ IP 範囲から指定する必要があります。
INTERNAL_MANAGED

内部 HTTP(S) 負荷分散
ターゲット HTTP プロキシ
ターゲット HTTPS プロキシ
内部 リージョン プレミアム ○(省略可) 関連付けられたサブネットのプライマリ IP 範囲から指定する必要があります。
INTERNAL_SELF_MANAGED

Traffic Director
ターゲット HTTP プロキシ
ターゲット gRPC プロキシ
内部 グローバル 該当なし × 0.0.0.0、127.0.0.1、または任意の RFC 1918 アドレスを使用できます。

共通の IP アドレスを持つ複数の転送ルール

次の条件に当てはまる場合、外部負荷分散スキームを使用する 2 つ以上の転送ルールで同じ IP アドレスを共有できます。

  • 各転送ルールで使用されるポートが重複しない。
  • 各転送ルールの Network Service Tiers が、外部 IP アドレスの Network Service Tiers と一致する。

例:

  • TCP ポート 79 でトラフィックを受け入れるネットワーク ロードバランサと、TCP ポート 80 でトラフィックを受け入れるネットワーク ロードバランサは、同じリージョン外部 IP アドレスを共有できます。
  • 外部 HTTP(S) ロードバランサ(HTTP および HTTPS)に同じグローバル外部 IP アドレスを使用できます。

転送ルールの負荷分散スキームが INTERNAL の場合、複数の転送ルールで同じ IP アドレスを使用できます。詳細については、内部 TCP/UDP 負荷分散の概要をご覧ください。

転送ルールの負荷分散スキームが次のいずれかである場合、固有の IP アドレスが必要です。

  • 内部 HTTP(S) ロードバランサの INTERNAL_MANAGED
  • Traffic Director の INTERNAL_SELF_MANAGED

ポートの仕様

次の表は、負荷分散スキームと転送ルールのターゲットに基づく有効なポート構成をまとめたものです。

スキーム ターゲット ポート指定が必須か ポート指定なしでの動作 ポートの要件
EXTERNAL ターゲット HTTP プロキシ はい なし 80、8080
EXTERNAL ターゲット HTTPS プロキシ はい なし 443
EXTERNAL ターゲット SSL プロキシ はい なし 25、43、110、143、195、443、465、587、700、993、995、1883、3389、5222、5432、5671、5672、5900、5901、6379、8085、8099、9092、9200、9300
EXTERNAL ターゲット TCP プロキシ はい なし 25、43、110、143、195、443、465、587、700、993、995、1883、3389、5222、5432、5671、5672、5900、5901、6379、8085、8099、9092、9200、9300
EXTERNAL ターゲット VPN ゲートウェイ はい なし 500、4500
EXTERNAL ターゲット プール × 全ポート
(1~65535)が転送されます
連続している必要があります
INTERNAL バックエンド サービス はい なし 最大 5 個(連続か不連続かを問いません)、または ALL を指定できます。
INTERNAL_MANAGED ターゲット HTTP プロキシ
ターゲット HTTPS プロキシ
はい なし 80 または 8080
443
INTERNAL_SELF_MANAGED ターゲット HTTP プロキシ
ターゲット HTTPS プロキシ
はい なし 値を 1 つだけ指定する必要があります。

VPC ネットワーク内で、Traffic Director の 2 つの転送ルールに同じ IP アドレスとポート仕様を設定することはできません。

IAM の条件

Identity and Access Management(IAM)Conditions を使用すると、メンバーに付与されるロールを制御する条件を設定できます。この機能を使用すると、構成条件が満たされた場合にメンバーに権限を付与できます。

IAM 条件は、転送ルールの負荷分散スキーム(たとえば INTERNALEXTERNAL)を確認し、転送ルールの作成を許可(または拒否)します。メンバーが権限なしで転送ルールを作成しようとすると、エラー メッセージが表示されます。

詳しくは、IAM 条件をご覧ください。

API と gcloud のリファレンス

REST API で転送ルールを操作する場合に使用できるプロパティとメソッドについては、以下をご覧ください。

gcloud コマンドライン ツールについては、以下をご覧ください。

次のステップ