内部 HTTP(S) 負荷分散での Ingress

このページでは、内部 HTTP(S) 負荷分散の Ingress が Google Kubernetes Engine(GKE)でどのように機能するかについて説明します。また、内部 HTTP(S) 負荷分散の Ingress を設定して使用する方法についても説明します。

GKE の負荷分散に Ingress を使用する方法の一般的な情報については、Ingress を使用した HTTP(S) 負荷分散をご覧ください。

概要

GKE では、内部 HTTP(S) ロードバランサは、プロキシベースのリージョンのレイヤ 7 ロードバランサです。内部負荷分散 IP アドレスの背後でサービスを実行し、スケーリングできます。GKE Ingress オブジェクトでは、GKE クラスタに Ingress オブジェクトを作成することで、内部 HTTP(S) ロードバランサがネイティブにサポートされます。

内部 HTTP(S) ロードバランサに Ingress を使用するメリット

内部 HTTP(S) 負荷分散に GKE Ingress を使用すると、次のメリットがあります。

  • 高可用性の GKE マネージド Ingress コントローラ。
  • 内部サービス間通信のための負荷分散。
  • ネットワーク エンドポイント グループ(NEG)でのコンテナ ネイティブの負荷分散。
  • HTTP と HTTPS がサポートされるアプリケーション ルーティング。
  • 復元性に優れたサービスのための高精度な Compute Engine ヘルスチェック。
  • トラフィック容量のニーズを満たすためにオンデマンドでデプロイされる Envoy ベースのプロキシ。

Google Cloud 機能のサポート

内部 HTTP(S) 負荷分散の Ingress では、さまざまな追加機能がサポートされます。

必要なネットワーク環境

内部 HTTP(S) 負荷分散に Ingress を使用するには、プロキシ専用サブネットを使用する必要があります。

内部 HTTP(S) ロードバランサは、ネットワークにプロキシのプールを提供します。プロキシは、URL マップ、BackendService のセッション アフィニティ、各バックエンド NEG の分散モードなどの要素に基づいて各 HTTP(S) リクエストを実行する場所を評価します。

次の図は、内部 HTTP(S) ロードバランサのトラフィック フローの概要を示します。

内部 HTTP(S) 負荷分散での Ingress の図

プロキシは、次の方法で接続を確立します。

  1. クライアントは、ロードバランサの転送ルールの IP アドレスとポートに接続します。
  2. いずれかのプロキシがクライアントのネットワーク接続を受信して終了します。
  3. プロキシは、NEG 内の適切なバックエンド VM またはエンドポイントと接続を確立します。これは、ロードバランサの URL マップとバックエンド サービスによって決まります。

各ロードバランサのプロキシには内部 IP アドレスが割り当てられます。リージョン内のすべての内部 HTTP(S) ロードバランサ用のプロキシは、内部 IP アドレスを使用します。このアドレスは、VPC ネットワークのそのリージョン内のプロキシ専用サブネットから取得されます。このサブネットは、内部 HTTP(S) 負荷分散プロキシ専用として予約されており、他の目的には使用できません。プロキシのみのサブネットでは 64 以上の IP アドレスを指定する必要があります。これは、/26 以下のプリフィックス長に対応します。プロキシ専用サブネットは各リージョンに 1 つあり、VPC ネットワークごとにアクティブにします。

プロキシ専用サブネットを使用するのは、リージョンの内部 HTTP(S) ロードバランサ用に Google Cloud によって作成されたプロキシだけです。プロキシ専用サブネットからは、ロードバランサの転送ルールの IP アドレスは取得されません。また、バックエンド VM とエンドポイントの IP アドレスも、プロキシ専用サブネットから取得されません。

各プロキシは、対応するロードバランサの転送ルールで指定された IP アドレスとポートでリッスンします。プロキシからバックエンド VM またはエンドポイントに送信される各パケットには、プロキシ専用サブネットからの送信元 IP アドレスが含まれています。

プロキシ専用サブネットをデプロイする手順については、ネットワークとサブネットの構成をご覧ください。GKE Ingress コントローラでファイアウォール ルールのデプロイが管理されるため、手動でデプロイする必要はありません。

次のステップ