ロードバランサの選択

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

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

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

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

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

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

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

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

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

スタンダード ティアでは実質的にリージョン1
プレミアム ティアまたはスタンダード ティア プロキシ HTTP または HTTPS グローバル外部 HTTP(S) ロードバランサ(従来)
SSL 外部 SSL プロキシ ロードバランサ
TCP 外部 TCP プロキシ ロードバランサ
リージョン プレミアム ティアまたはスタンダード ティア パススルー TCP、UDP、ESP、GRE、ICMP、ICMPv6 外部 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) ロードバランサ
  • 内部リージョン TCP プロキシ ロードバランサ(プレビュー
  • リージョン外部 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) ロードバランサ、内部リージョン TCP プロキシ ロードバランサは、オープンソースの Envoy プロキシをベースにしたマネージド サービスです。

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

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

トラフィックの種類

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

  • HTTP および HTTPS トラフィック
    • グローバル外部 HTTP(S) ロードバランサ
    • グローバル外部 HTTP(S) ロードバランサ(従来)
    • リージョン外部 HTTP(S) ロードバランサ
    • 内部 HTTP(S) ロードバランサ
  • SSL トラフィック:
    • 外部 SSL プロキシ ロードバランサ
  • TCP トラフィック
    • 外部 TCP プロキシ ロードバランサ
    • 外部 TCP / UDP ネットワーク ロードバランサ
    • 内部 TCP / UDP ロードバランサ
    • 内部リージョン TCP プロキシ ロードバランサ(プレビュー
  • UDP トラフィック:
    • 外部 TCP / UDP ネットワーク ロードバランサ
    • 内部 TCP / UDP ロードバランサ
  • ESP トラフィックと ICMP トラフィック:
    • ネットワーク ロードバランサ

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

Google Cloud Armor は、ロードバランサのタイプまたはオペレーション モードに応じて、常時保護とユーザーが構成可能な DDoS 保護の両方を提供します。

ロードバランサのタイプまたはモード 常時稼働の DDoS 対策 Google Cloud Armor セキュリティ ポリシー
グローバル外部 HTTP(S) ロードバランサ
グローバル外部 HTTP(S) ロードバランサ(従来)
リージョン外部 HTTP(S) ロードバランサ
外部 SSL プロキシ ロードバランサ
外部 TCP プロキシ ロードバランサ
外部 TCP / UDP ネットワーク ロードバランサ プレビュー

外部 TCP / UDP ネットワーク ロードバランサプロトコル転送、またはパブリック IP アドレスを持つ VM に対して、高度なネットワーク DDoS 対策を構成することもできます。高度なネットワーク DDoS 対策の詳細については、高度なネットワーク DDoS 対策の構成をご覧ください。

次のステップ