内部 HTTP(S) 負荷分散のコンセプト

内部 HTTP(S) 負荷分散は、プロキシベースのリージョンのレイヤ 7 ロードバランサであり、VPC ネットワーク内のロードバランサのリージョンでのみアクセスできるプライベート負荷分散 IP アドレスの背後でサービスを実行およびスケーリングできます。

概要

Google Cloud Platform(GCP)の内部 HTTP(S) 負荷分散は、プロキシベースのプライベート HTTP および HTTPS ロードバランサです。URL マップを使用して、VPC ネットワークの 1 つのリージョン内のバックエンド VM インスタンスまたはネットワーク エンドポイント グループ(NEG)のエンドポイントにトラフィックを送ります。このロードバランサは、VPC ネットワークの選択されたリージョンにおいてのみ、プライベートの内部 IP アドレス(RFC 1918)でアクセスできます。

内部 HTTP(S) ロードバランサとその他の GCP ロードバランサの比較については、ロードバランサの選択をご覧ください。

トラフィック タイプ、スキーム、スコープ

内部 HTTP(S) ロードバランサは、1 つの URL マップで定義され、内部で管理された負荷分散スキームを使用して 1 つまたは複数のバックエンド サービスを参照します。各バックエンド サービスは、HTTP、HTTPS、または HTTP/2 のいずれかのプロトコルか、ネットワーク エンドポイント グループ(NEG)内のバックエンド VM またはエンドポイントのいずれかをサポートします。

内部 HTTP(S) ロードバランサのスコープはグローバルではなくリージョンであるため、クライアントとバックエンドの VM またはエンドポイントはすべて同じリージョン内になければなりません。接続ネットワーク内のクライアントは、ロードバランサと同じリージョン内の Cloud VPN トンネルまたは Cloud Interconnect アタッチメントを使用できます。

概要図

各内部 HTTP(S) ロードバランサには、バックエンド VM またはエンドポイントのフロントエンドとして機能するプライベート IP アドレスが割り当てられます。内部クライアントのリクエストは、ネットワークとリージョンの内部に保持されます。

レイヤ 7 ベースの負荷分散を使用した内部サービス(クリックして拡大)
レイヤ 7 ベースの負荷分散を使用した内部サービス(クリックして拡大)

使用例

サービス

一般的なユースケースにはサービス間のトラフィックの負荷分散があります。この例では、同じ基本 URL mygcpservice.internal を使用して、動画と画像のコンテンツが /video/images から取得されています。

内部 HTTP(S) ロードバランサの URL マップは、URL マップのパスマッチングに基づいて、video のバックエンド サービスと images のバックエンド サービスにトラフィックを送ります。

次の図に、動画、画像、支払いの 3 つのサービスを示します。

レイヤ 7 ベースの負荷分散を使用した内部(マイクロ)サービス(クリックして拡大)
レイヤ 7 ベースの負荷分散を使用した内部(マイクロ)サービス(クリックして拡大)

3 層ウェブサービス

内部 HTTP(S) 負荷分散を使用して、従来の 3 層ウェブサービスをサポートできます。

次の図では、3 つの異なるタイプのロードバランサによって、3 つの階層がスケーリングされています。

  • ウェブ階層: インターネットから入ってきたトラフィックが、グローバルな外部 HTTP(S) ロードバランサによって負荷分散されます。

  • アプリケーション階層: リージョン内部の HTTP(S) ロードバランサを使用して、アプリケーション階層がスケーリングされます。

  • データベース階層: データベース階層は、内部 TCP / UDP ロードバランサを使用してスケーリングされます。

この図には、3 種類の GCP ロードバランサが示されています。

  1. グローバルな外部 HTTP(S) ロードバランサが、インターネットからのトラフィックをさまざまなリージョンの一連のウェブ フロントエンド インスタンス グループに配信します。
  2. フロントエンドが、リージョン内部の一連の HTTP(S) ロードバランサに HTTP(S) トラフィックを配信します。
  3. HTTP(S) ロードバランサが、トラフィックをミドルウェア インスタンス グループに配信します。
  4. ミドルウェア インスタンスが、トラフィックを内部 TCP / UDP ロードバランサに送り、トラフィックをデータ ストレージ クラスタに負荷分散します。
多層アプリケーションにおける内部階層でのレイヤ 7 ベースのルーティング(クリックして拡大)
多層アプリケーションにおける内部階層でのレイヤ 7 ベースのルーティング(クリックして拡大)

アーキテクチャとリソース

内部 HTTP(S) ロードバランサのフロントエンドは、内部 IP アドレス、内部転送ルール、ターゲットの HTTP または HTTPS プロキシから構成されます。1 つの URL マップがトラフィックを INTERNAL_MANAGED の負荷分散スキームを使用して 1 つ以上のバックエンド サービスに転送します。各バックエンド サービスは、バックエンド インスタンス グループまたはバックエンド NEG の間で、構成可能な分散モードによりトラフィックを配信します。インスタンス グループまたは NEG 内では、トラフィックは構成可能なポリシーに従ってさらに分散されます。詳しくは、トラフィックの分布をご覧ください。

各バックエンド サービスはリージョナルです。特定のバックエンド サービスのバックエンドは、インスタンス グループまたは NEG のいずれかである必要があります。管理対象外のインスタンス グループ、管理対象のゾーン インスタンス グループ、および管理対象のリージョン インスタンス グループがサポートされます。

次の図は、HTTP(S) 内部ロードバランサに必要な GCP リソースを示しています。

内部 HTTP(S) 負荷分散コンポーネント(クリックして拡大)
内部 HTTP(S) 負荷分散コンポーネント(クリックして拡大)

内部 HTTP(S) ロードバランサを定義するリソースは次のとおりです。

  • ロードバランサの内部 IP アドレスとポート(クライアントがロードバランサに接続するときに使用するアドレス)と、各受信リクエストを転送するターゲット プロキシを指定するリージョン内部転送ルール。

  • リージョン ターゲット HTTP(S) プロキシは、ユーザーからリクエストを受信して URL マップに転送します。ターゲット HTTPS プロキシは、記載されている数までの SSL 証明書をサポートしています。これにより、プロキシがクライアントの ID を証明できるようになります。

  • リージョン URL マップはリクエストの URL を解析し、リクエスト URL のホストとパスに基づいて特定のバックエンド サービスにリクエストを転送します。

  • リージョン バックエンド サービスは、正常なバックエンド(インスタンス グループまたは NEG)にリクエストを配信します。

  • リージョン ヘルスチェックは、バックエンドの準備状況を報告します。

  • 1 つ以上のバックエンドをバックエンド サービスに接続する必要があります。バックエンドには次のタイプを指定できます。

    • 管理対象のインスタンス グループ(ゾーン単位またはリージョン単位)
    • 管理対象外のインスタンス グループ(ゾーン単位)
    • ネットワーク エンドポイント グループ(ゾーン単位)

    インスタンス グループと NEG を同じバックエンド サービスで使用することはできません。

  • その IP アドレスがロードバランサからバックエンドまでのトラフィックのソースになるプロキシ専用サブネット。内部 HTTP(S) ロードバランサを使用する VPC ネットワークのリージョンごとにプロキシ専用サブネットを 1 つ作成する必要があります。このサブネットは、リージョン内のすべての内部 HTTP(S) ロードバランサによって共有されます。

  • プロキシ専用のサブネットからの接続を受け入れるバックエンド用のファイアウォール。ファイアウォール ルールの構成の例をご覧ください。

制限事項

  • 内部 HTTP(S) 負荷分散は、リージョン レベルで動作します。リージョンの 1 つのゾーン内のクライアントからのリクエストが、クライアントと同じゾーンにあるバックエンドに送信される保証はありません。 セッション アフィニティによってゾーン間の通信は減少しません。

  • 内部 HTTP(S) 負荷分散は、次の機能と互換性がありません。

  • 内部 HTTP(S) 負荷分散は、VPC ネットワーク ピアリングと互換性がありません。VPC ネットワーク ピアリングと互換性のある内部ロードバランサが必要な場合は、内部 TCP / UDP 負荷分散を使用してください。

  • WebSocket プロトコルはサポートされていません。

  • プロキシ専用サブネットで IP アドレスが不足している場合、GCP から警告は表示されません。

次のステップ

このページは役立ちましたか?評価をお願いいたします。

フィードバックを送信...