Google Cloud 内部 TCP / UDP 負荷分散はリージョン単位のロードバランサであり、内部仮想マシン(VM)のインスタンスのみにアクセス可能な内部負荷分散 IP アドレスの背後でサービスの実行とスケーリングを行うことができます。
内部 TCP / UDP ロードバランサに関する一般的な情報については、概要ページをご覧ください。
このページでは、同じ IP アドレスを持つ複数の転送ルールの使用について説明します。
概要
共通の内部 IP アドレスを持つ内部転送ルールは、次のことが可能です。
- 同じまたは異なるプロトコルを使用する
- 同じまたは異なる特定のポートのセットまたは
--ports=ALL
オプションを使用する - 共通のバックエンド サービス(単一のロードバランサ)または複数のバックエンド サービス(同じ IP アドレスを共有する複数のロードバランサ)を参照する
転送ルールに異なるプロトコルがある場合は、2 つの異なるバックエンド サービスも必要です。単一の内部 TCP / UDP ロードバランサは、これらのプロトコルの 1 つだけを使用する単一のバックエンド サービスを備えているため、TCP または UDP トラフィックの両方ではなく、いずれかで機能します。
転送ルールの意思決定マトリックス
次の表を使用して、デプロイを設計します。
単一の内部 TCP / UDP ロードバランサ
1 つのバックエンド サービスは、TCP と UDP の両方ではなく、いずれかをサポートします。
複数の転送ルールが必要な場合は、次の式を使用して必要な転送ルールの数を計算します。
⌈total number of ports / 5⌉
ここで、⌈⌉
は、天井(最小の整数)関数であり、切り上げを意味します。
たとえば、ロードバランサの 1 つの IP アドレスに 26 個の TCP ポートが必要だとします。--ports=ALL
を使用して単一の転送ルールを作成しない場合は、次の理由により 6 つの転送ルールを作成する必要があります。
26 / 5 = 5 with a remainder of 1
目的のフロントエンド構成 | 必要な転送ルール数 | IP アドレスに必要な --purpose=SHARED_LOADBALANCER_VIP フラグ |
転送ルールのポート指定 |
---|---|---|---|
1 つの IP アドレス、すべてのポート上のトラフィック | 1 つの転送ルール | × | --ports=ALL |
1 つの IP アドレス、特定のポート上のトラフィック |
|
×(5 つ以下のポートの場合) ○(6 つ以上のポートの場合) |
--ports を最大 5 つの連続または非連続のポート番号のセットに設定 |
複数の IP アドレス、すべてのポート上のトラフィック | IP アドレスごとに 1 つの転送ルール | × | --ports=ALL |
複数の IP アドレス、特定のポート上のトラフィック | IP アドレスごとに 1 つ以上の転送ルール | ×(IP アドレスごとに 5 個以下のポートを使用している場合) ○(IP アドレスごとに 6 個以上のポートを使用している場合) |
--ports を最大 5 つの連続または非連続のポート番号のセットに設定 |
2 つの内部 TCP / UDP ロードバランサ
2 つの内部 TCP / UDP ロードバランサがある場合、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 つの連続または非連続のポート番号のセットに設定 |
ユースケース
多くの異なるタイプのデプロイが可能です。以下は、2 つのロードバランサの特定のポートでトラフィックを受け入れる 1 つの IP アドレスを使用するいくつかの例です。
以下を持つ異なる転送ルール
- 同じ IP アドレス
- さまざまなプロトコル
- 個別のバックエンド サービスを指す
- 各バックエンド サービスのプロトコルが、対応する転送ルールのプロトコルと一致する
異なる転送ルール、同じ IP アドレス、異なるプロトコル / ポート(クリックして拡大) 以下を持つ異なる転送ルール
- 同じ IP アドレス
- 同じプロトコル
- 転送ルールごとに固有の番号が付いたポートのセット
この構成オプションは、すべてのポートを指定する単一の転送ルールを作成する代わりに使用できます。
異なる転送ルール、同じ IP アドレス、同じプロトコル、6 つ以上の番号付きポート(クリックして拡大)
構成
次の両方を行うと、同じ IP アドレスを持つ複数の内部転送ルールを作成できます。
- 使用する転送ルールに静的(予約済み)内部 IP アドレスを作成する。
- 共有する内部 IP アドレスの
--purpose
フラグを値SHARED_LOADBALANCER_VIP
に設定する。
設定例については、同じ IP アドレスを使用した転送ルールの設定をご覧ください。