ロードバランサの選択

このドキュメントは、どの Google Cloud ロードバランサがニーズに最適であるかを確認する際に利用できます。利用可能なすべての Cloud Load Balancing プロダクトの概要については、Cloud Load Balancing の概要をご覧ください。

ロード バランシングのアスペクト

Google Cloud の実装に最適なロードバランサを決定するには、Cloud Load Balancing の以下の事項について検討します。

ロードバランサのディシジョン ツリー

ネットワーク アーキテクチャの要件を決定したら、次のディシジョン ツリーを使用して、クライアント、プロトコル、ネットワーク構成で使用できるロードバランサを決定します。

ロードバランサを選ぶためのディシジョン ツリー(クリックで拡大)
ロードバランサを選ぶためのディシジョン ツリー(クリックで拡大)

ロードバランサ タイプの概要

次の表は、機能の各組み合わせで使用可能なロード バランシング プロダクトをまとめたものです。

内部または外部 IP アドレス リージョンまたはグローバル プレミアムまたはスタンダードのネットワーク ティア プロキシまたはパススルー トラフィックの種類 ロードバランサの種類
内部 リージョン プレミアム ティアのみ パススルー TCP または UDP 内部 TCP / UDP ロードバランサ
プロキシ HTTP または HTTPS 内部 HTTP(S) ロードバランサ
外部 グローバル プレミアム ティアのみ プロキシ HTTP または HTTPS グローバル外部 HTTP(S) ロードバランサプレビュー)。
プレミアム ティアではグローバル

スタンダード ティアでは実質的にリージョン1
プレミアム ティアまたはスタンダード ティア プロキシ HTTP または HTTPS グローバル外部 HTTP(S) ロードバランサ(従来)
SSL SSL プロキシ ロードバランサ
TCP TCP プロキシ ロードバランサ
リージョン プレミアム ティアまたはスタンダード ティア パススルー TCP、UDP、ESP、ICMPプレビュー 外部 TCP / UDP ネットワーク ロードバランサ
スタンダードのみ プロキシ HTTP または HTTPS リージョン外部 HTTP(S) ロードバランサプレビュー
1実質的にリージョンとは、バックエンド サービスがグローバルであっても、スタンダード ティアを選択した場合に、外部転送ルールと外部 IP アドレスはリージョンであり、グローバル バックエンド サービスに接続されているバックエンド インスタンス グループまたはネットワーク エンドポイント グループ(NEG)は、転送ルールおよび IP アドレスと同じリージョンになければならないことを意味します。詳細については、スタンダード ティアを HTTP(S) ロード バランシング、TCP プロキシ ロード バランシング、SSL プロキシ ロード バランシング用に構成するをご覧ください。

外部ロード バランシングと内部ロード バランシング

Google Cloud ロードバランサは、外部ロードバランサと内部ロードバランサに分けられます。

  • 外部ロードバランサは、インターネットからのトラフィックを Google Cloud Virtual Private Cloud(VPC)ネットワークに配信します。グローバル負荷分散では、Network Service Tiers のうちプレミアム ティアを使用する必要があります。リージョン負荷分散では、スタンダード ティアを使用できます。

  • 内部ロードバランサは、Google Cloud 内部のインスタンスにトラフィックを分散します。

グローバル ロード バランシングとリージョン ロード バランシング

バックエンドが複数のリージョンに分散しており、ユーザーが同じアプリケーションとコンテンツにアクセスする必要があって、単一のエニーキャスト IP アドレスを使用してアクセスを提供する場合は、グローバル負荷分散を使用します。グローバル ロード バランシングは、IPv6 終端も提供します。

バックエンドが同一のリージョン内に存在する場合、IPv4 終端のみが必要な場合、またはトラフィックを特定のリージョンに留めるための法令遵守がある場合は、リージョン ロード バランシングを使用します。

バックエンド リージョンとネットワーク

次の表は、異なる VPC ネットワークに存在するバックエンドのサポートをまとめたものです。

ロードバランサの種類 バックエンド リージョンとネットワーク
グローバル外部 HTTP(S) ロードバランサ(プレビュー)。 バックエンドは、どのリージョン、どの VPC ネットワークに存在しても構いません。
  • グローバル外部 HTTP(S) ロードバランサ(従来)
  • SSL プロキシ ロード バランシング
  • TCP プロキシ ロード バランシング
プレミアム ティアの場合: バックエンドは、どのリージョン、どの VPC ネットワークに存在しても構いません。

スタンダード ティアの場合: バックエンドは転送ルールと同じリージョンに存在する必要がありますが、どの VPC ネットワークに存在しても構いません。
  • 外部 TCP / UDP ネットワーク ロード バランシング
  • 内部 TCP / UDP ロード バランシング
  • 内部 HTTP(S) ロード バランシング
  • リージョン外部 HTTP(S) ロードバランサ(プレビュー
すべてのバックエンドは、バックエンド サービスと同じ VPC ネットワーク、同じリージョンに存在する必要があります。バックエンド サービスも、転送ルールと同じリージョン、同じ VPC ネットワークに存在する必要があります。

TLS の終端ロケーションに対する地理的制御

コンプライアンス上の理由でリージョン リソースを必要とするワークロードでは、特定のリソースを特定のリージョンに残す必要があるか、特定のリージョンでトラフィックを終端する必要があります。

グローバル外部 HTTP(S) ロードバランサと SSL プロキシ ロードバランサは、クライアントとロードバランサ間のレイテンシを最小限に抑えるために、グローバルに分散するロケーションで Transport Layer Security(TLS)を終端します。どこで TLS を終端するかを地理的に制御する必要がある場合は、リージョン外部 HTTP(S) ロードバランサまたはネットワーク ロード バランシングを代わりに使用し、ニーズに適したリージョンにあるバックエンドで TLS を終端する必要があります。

停止に対するロードバランサの復元力

ロードバランサは、高可用性を備えたアプリケーションを構築する際に重要な要素となります。Google Cloud はリージョン ロードバランサとグローバル ロードバランサの両方を備えています。いずれの場合も、アプリケーション全体の復元力は、選択したロードバランサだけでなく、バックエンド サービスの冗長性によっても左右される点に注意する必要があります。

次の表は、ロードバランサの分散またはスコープに基づいてロードバランサの復元力をまとめたものです。

ロードバランサのスコープ アーキテクチャ ゾーンの停止に対する耐障害性 リージョンの停止に対する耐障害性
グローバル 各ロードバランサはすべてのリージョンに分散されます。
リージョン 各ロードバランサは、リージョン内の複数のゾーンに分散されます。 特定のリージョンが停止すると、そのリージョン内のリージョン ロードバランサに影響します。

プレミアムとスタンダードの Network Service Tiers

Network Service Tiers を使用すると、インターネット上のシステムと Google Cloud インスタンス間の接続を最適化できます。プレミアム ティアは Google のプレミアム バックボーンでトラフィックを配信し、スタンダード ティアは通常の ISP ネットワークを使用します。

プレミアム ティアは、高パフォーマンスと低レイテンシを提供します。ネットワーク ティアが指定されていない場合は、デフォルトであるプレミアム ティアが使用されます。

レイテンシやパフォーマンスに関する厳密な要件がないアプリケーションには、スタンダード ティアを低コストの代替手段として使用します。この表に示すように、すべてのロードバランサをスタンダード ティアにデプロイできるわけではありません。

リソースレベルで階層を選択するため(ロードバランサまたは VM 用の外部 IP アドレスなど)、一部のリソースにスタンダード ティアを使用し、別のリソースにはプレミアム ティアを割り当てるといったことが可能です。このディシジョン ツリーを Network Service Tiers のドキュメントで確認して、決定に役立てることができます。

プロキシ ロード バランシングとパススルー ロード バランシング

プロキシ ロードバランサは、受信クライアント接続を終端し、ロードバランサからバックエンドへの新しい接続を開きます。リージョン外部 HTTP(S) ロードバランサと内部 HTTP(S) ロードバランサは、オープンソースの Envoy プロキシをベースにしたマネージド サービスです。

グローバル外部 HTTP(S) ロードバランサは、世界中で Google Front End(GFE)プロキシを使用してクライアント接続を終端します。また、高度なトラフィック管理機能を備えたグローバル外部 HTTP(S) ロードバランサでは、Envoy プロキシを使用して、重み付けによるトラフィック分割、外れ値検出、トラフィック ミラーリングなどの機能を実装します。

パススルー ロードバランサでは、クライアント接続を終端しません。ロード バランシングされたパケットは、パケットの送信元、宛先、ポート情報(該当する場合)が変更されずにバックエンド VM によって受信されます。接続は、バックエンド VM によって終端されます。バックエンド VM からのレスポンスは、ロードバランサを経由せず、クライアントに直接送信されます。これを Direct Server Return といいます。クライアント パケットの情報を保持する必要がある場合は、パススルー ロードバランサを使用します。外部 TCP / UDP ネットワーク ロードバランサと内部 TCP / UDP ロードバランサは、パススルー ロードバランサです。

トラフィックの種類

ロードバランサで処理する必要があるトラフィックの種類は、使用するロードバランサを決定するもう一つの要素です。

  • HTTP および HTTPS トラフィック
  • SSL トラフィック:
    • SSL プロキシ ロード バランシング
  • TCP トラフィック
    • TCP プロキシ ロード バランシング
    • 外部 TCP / UDP ネットワーク ロード バランシング
    • 内部 TCP / UDP ロード バランシング
  • UDP トラフィック:
    • 外部 TCP / UDP ネットワーク ロード バランシング
    • 内部 TCP / UDP ロード バランシング
  • ESP トラフィックと ICMP トラフィック:

外部ロードバランサの DDoS 保護

Google Cloud では、ロードバランサのタイプに応じてさまざまな DDoS 保護を提供しています。

  • グローバル外部 HTTP(S) ロードバランサ、SSL プロキシ ロードバランサ、TCP プロキシ ロードバランサ

    Google Cloud GFE ベース外部ロードバランサはすべて、Google の本番環境インフラストラクチャの一部である GFE から DDoS 保護を自動的に継承します。

    GFE で提供される自動 DDoS 保護に加えて、グローバル外部 HTTP(S) ロードバランサ用に Google Cloud Armor を構成できます。

  • 外部 TCP / UDP ネットワーク ロードバランサ

    パススルー外部ロードバランサはネットワーク ロードバランサのみです。これらのロードバランサは、Compute Engine VM の外部 IP アドレスの実装に使用される Google のルーティング インフラストラクチャを使用して実装されます。ネットワーク ロードバランサへの受信トラフィックの場合、Google Cloud は VM あたりの受信パケットを制限します。詳細については、宛先外部 IP アドレスへの上り(内向き)トラフィックをご覧ください。

次のステップ

  • アプリケーションのニーズに応じて適切なロードバランサを選択するには、ロードバランサの機能をご覧ください。