このドキュメントは、どの Google Cloud ロードバランサがニーズに最適であるかを確認する際に利用できます。利用可能なすべての Cloud Load Balancing プロダクトの概要については、Cloud Load Balancing の概要をご覧ください。
ロード バランシングのアスペクト
Google Cloud の実装に最適なロードバランサを決定するには、Cloud Load Balancing の以下の事項について検討します。
- 外部ロード バランシングと内部ロード バランシング
- グローバル ロード バランシングとリージョン ロード バランシング
- プレミアムとスタンダードの Network Service Tiers
- プロキシ ロード バランシングとパススルー ロード バランシング
- トラフィックの種類
- DDoS 対策
ロードバランサのディシジョン ツリー
ネットワーク アーキテクチャの要件を決定したら、次のディシジョン ツリーを使用して、クライアント、プロトコル、ネットワーク構成で使用できるロードバランサを決定します。
ロードバランサ タイプの概要
次の表は、機能の各組み合わせで使用可能なロード バランシング プロダクトをまとめたものです。
内部または外部 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) ロードバランサ |
外部ロード バランシングと内部ロード バランシング
Google Cloud ロードバランサは、外部ロードバランサと内部ロードバランサに分けられます。
外部ロードバランサは、インターネットからのトラフィックを Google Cloud Virtual Private Cloud(VPC)ネットワークに配信します。グローバル負荷分散では、Network Service Tiers のうちプレミアム ティアを使用する必要があります。リージョン負荷分散では、スタンダード ティアを使用できます。
内部ロードバランサは、Google Cloud 内部のインスタンスにトラフィックを分散します。
グローバル ロード バランシングとリージョン ロード バランシング
バックエンドが複数のリージョンに分散しており、ユーザーが同じアプリケーションとコンテンツにアクセスする必要があって、単一のエニーキャスト IP アドレスを使用してアクセスを提供する場合は、グローバル負荷分散を使用します。グローバル ロード バランシングは、IPv6 終端も提供します。
バックエンドが同一のリージョン内に存在する場合、IPv4 終端のみが必要な場合、またはトラフィックを特定のリージョンに留めるための法令遵守がある場合は、リージョン ロード バランシングを使用します。
バックエンド リージョンとネットワーク
次の表は、異なる VPC ネットワークに存在するバックエンドのサポートをまとめたものです。
ロードバランサ | バックエンド リージョンとネットワーク |
---|---|
グローバル外部 HTTP(S) ロードバランサ | バックエンドは、どのリージョン、どの VPC ネットワークに存在しても構いません。 |
|
プレミアム ティアの場合: バックエンドは、どのリージョン、どの VPC ネットワークに存在しても構いません。 スタンダード ティアの場合: バックエンドは転送ルールと同じリージョンに存在する必要がありますが、どの VPC ネットワークに存在しても構いません。 |
|
すべてのバックエンドは、バックエンド サービスと同じ 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 対策の構成をご覧ください。
次のステップ
- Cloud Load Balancing が提供するロード バランシング機能の比較については、ロードバランサの機能の比較をご覧ください。