内部パススルー ネットワーク ロードバランサはリージョンのロードバランサであり、内部仮想マシン(VM)のインスタンスにのみアクセス可能な内部 IP アドレスの背後で、サービスの実行とスケーリングを行うことができます。
このページでは、同じ IP アドレスを持つ複数の転送ルールの使用について説明します。内部パススルー ネットワーク ロードバランサの概要については、内部パススルー ネットワーク ロードバランサの概要をご覧ください。
内部転送ルールを使用すると、最大 10 個の転送ルール間で共有内部 IP アドレスを使用できます。IP アドレスを共有するには、IP アドレスの目的を SHARED_LOADBALANCER_VIP に設定します。転送ルールのプロトコルに TCP または UDP を使用し、転送ルールに最大 5 つのポートを割り当てることができます。または、--ports=ALL を指定して、すべてのポートを使用することもできます。L3_DEFAULT プロトコルを使用する場合は、--ports=ALL オプションを指定して、すべてのポートを使用する必要があります。
プロトコルとポートの一意の組み合わせを使用すると、次のことができます。
TCPプロトコルを使用して、転送ルールごとに 50 個の一意の TCP ポートを作成します。TCPプロトコルとすべてのポートを使用するように転送ルールが構成されている場合、TCPプロトコルを使用する他の転送ルールは、同じ共有 IP アドレスを使用できません。UDPプロトコルを使用して、転送ルールごとに 50 個の一意の UDP ポートを作成します。UDPプロトコルとすべてのポートを使用するように転送ルールが構成されている場合、UDPプロトコルを使用する他の転送ルールは、同じ共有 IP アドレスを使用できません。各転送ルールで
TCPまたはUDPプロトコルを使用し、TCP ポートと UDP ポートの一意の組み合わせを 50 個作成します。共通のバックエンド サービス(単一のロードバランサ)または複数のバックエンド サービス(同じ IP アドレスを共有する複数のロードバランサ)を参照します。
L3_DEFAULTプロトコルで転送ルールを構成する場合は、すべてのポートを使用します。1 つの IP アドレスに対して設定できるL3_DEFAULT転送ルールは 1 つのみです。この転送ルールは、必要に応じて他の TCP および UDP 転送ルールと共有できます。
転送ルールに異なるプロトコルがある場合は、2 つの異なるバックエンド サービスも必要です。単一の内部パススルー ネットワーク ロードバランサは、これらのプロトコルの 1 つだけを使用する単一のバックエンド サービスを備えているため、TCP または UDP トラフィックの両方ではなく、いずれかで機能します。
転送ルールの意思決定マトリックス
次の表を使用して、デプロイを設計します。
単一の内部パススルー ネットワーク ロードバランサ
1 つのバックエンド サービスは、TCP と UDP の両方ではなく、いずれかをサポートします。
複数の転送ルールが必要な場合は、式 ⌈total number of ports / 5⌉ を使用して必要な転送ルールの数を計算します。ここで、⌈⌉ は、天井関数(最小の整数)であり、切り上げを意味します。
たとえば、ロードバランサの 1 つの IP アドレスに 26 個の TCP ポートが必要だとします。--ports=ALL を使用して単一の転送ルールを作成しない場合は、26 / 5 = 5 with a remainder of 1 のため、6 つの転送ルールを作成する必要があります。
| 目的のフロントエンド構成 | 必要な転送ルール数 | IP アドレスに必要な --purpose=SHARED_LOADBALANCER_VIP フラグ |
転送ルールのポート指定 |
|---|---|---|---|
| 1 つの IP アドレス、すべてのポート上のトラフィック | 1 つの転送ルール | × | --ports=ALL |
| 1 つの IP アドレス、特定のポート上のトラフィック |
ポートが 5 つ以下の場合: ポートが 6 つ以上の場合: |
ポートが 5 つ以下の場合: × ポートが 6 つ以上の場合: ○ |
--ports を最大 5 つの連続または非連続のポート番号のセットに設定します。 |
| 複数の IP アドレス、すべてのポート上のトラフィック | IP アドレスごとに 1 つの転送ルール | × | --ports=ALL |
| 複数の IP アドレス、特定のポート上のトラフィック | IP アドレスごとに 1 つ以上の転送ルール |
IP アドレスあたり 5 つ以下のポートを使用する場合: × IP アドレスあたり 6 つ以上のポートを使用する場合: ○ |
--ports を最大 5 つの連続または非連続のポート番号のセットに設定します。 |
2 つの内部パススルー ネットワーク ロードバランサ
2 つの内部パススルー ネットワーク ロードバランサがある場合、2 つのバックエンド サービスを使用できます。その場合、1 つのバックエンド サービスは TCP トラフィック用、もう 1 つは UDP トラフィック用です。
複数の転送ルールが必要な場合は、次の式を使用して必要な転送ルールの数を計算します。ここで、⌈⌉ は、天井関数(最小の整数)であり、最も近い整数に切り上げられます。
⌈total number of TCP ports / 5⌉ ⌈total number of UDP ports / 5⌉
たとえば、26 個の TCP ポートと 12 個の UDP ポートが必要だとします。次の式により、9 つの転送ルールを作成する必要があります。
26 / 5 = 5 with a remainder of 1。このため TCP ポートには 6 つの転送ルールが必要です。12 / 5 = 2 with a remainder of 2。このため、UDP ポートには 3 つの転送ルールが必要です。
| 目的のフロントエンド構成 | 必要な転送ルール数 | IP アドレスに必要な --purpose=SHARED_LOADBALANCER_VIP フラグ |
転送ルールのポート指定 |
|---|---|---|---|
| 1 つの IP アドレス、すべてのポート上のトラフィック | 2 つの転送ルール(TCP 用と UDP 用) | ○(TCP 転送ルールと UDP 転送ルールは単一の IP アドレスを共有する必要があるため) | --ports=ALL |
| 1 つの IP アドレス、特定のポート上のトラフィック |
5 つ以下の TCP ポートと 5 つ以下の UDP ポート: 2 つの転送ルール(1 つは TCP 用、1 つは UDP 用) 6 つ以上の TCP ポートまたは UDP ポート: 複数の転送ルール。各転送ルールは 1 つのプロトコルと 5 つ以下のポートをサポート |
○ | --ports を最大 5 つの連続または非連続のポート番号のセットに設定します。 |
| 複数の IP アドレス、すべてのポート上のトラフィック、TCP または UDP |
2 つ以上の転送ルール(1 つは 1 つの IP アドレスを使用する TCP 用と、もう 1 つは別の IP アドレスを使用する UDP 用) 3 つ以上の IP アドレスが必要な場合は 3 つ以上の転送ルール |
× | --ports=ALL |
| 複数の IP アドレス、特定のポート上のトラフィック、TCP または UDP |
2 つ以上の転送ルール(1 つは 1 つの IP アドレスを使用する TCP 用と、もう 1 つは別の IP アドレスを使用する UDP 用) 次のいずれかを必要とする場合は、3 つ以上の転送ルールが必要です。
|
5 つ以下の TCP ポートを持つ 1 つの IP アドレスと 5 つ以下の UDP ポートを持つ 1 つの IP アドレスの場合: × 6 つ以上の TCP ポートまたは 6 つ以上の UDP ポートの場合: ○ |
--ports を最大 5 つの連続または非連続のポート番号のセットに設定します。 |
制限事項
- 同じ IP アドレスとプロトコルを含む 2 つ以上の転送ルールでポートを重複させることはできません。例:
- TCP のプロトコルとポート
80を使用して転送ルールを構成する場合、そのプロトコルとポートを処理する別の転送ルールを構成することはできません。たとえば、TCP ポート80、81、90を処理する別の転送ルールを作成することはできません。 - TCP とポート
80、8080、90の転送ルールを構成する場合、TCP とすべてのポートを使用する別の転送ルールを構成することはできません。
- TCP のプロトコルとポート
--purpose=SHARED_LOADBALANCER_VIPフラグを使用して 2 つ以上の転送ルールが同じ IP アドレスを共有する場合、プロトコルをL3_DEFAULTに設定できるのはそのうちの 1 つだけです。
ユースケース
多くの異なるタイプのデプロイが可能です。次の例では、2 つのロードバランサの特定のポートでトラフィックを受け入れる 1 つの IP アドレスを使用します。
例 1
この例では、次のパラメータを使用してさまざまな転送ルールを使用します。
- 同じ IP アドレス(
10.1.1.1) - さまざまなプロトコル
- 各転送ルールが参照する別々のバックエンド サービス
- 一致するプロトコル: 各バックエンド サービスのプロトコルは、対応する転送ルールのプロトコルと一致します。
例 2
この例では、次のパラメータを使用してさまざまな転送ルールを使用します。
- 同じ IPv4 アドレス(
10.1.1.1) - 同じプロトコル
- 転送ルールごとに番号が付いた異なるポートのセット
構成手順
次の両方を行うと、同じ IP アドレスを持つ複数の内部転送ルールを作成できます。
- 使用する転送ルールに静的(予約済み)内部 IP アドレスを作成する。
- 共有する内部 IP アドレスの
--purposeフラグを値SHARED_LOADBALANCER_VIPに設定する。
設定例については、2 つの転送ルールを使用して複数のポートでトラフィックを受信するをご覧ください。