Google Cloud Load Balancing

Google Cloud Platform 上で高性能かつスケーラビリティの高い負荷分散を実現

無料トライアル

世界規模の自動スケールと負荷分散

Google Cloud Load Balancing を使用すれば、Google Compute Engine 上のアプリケーションをアイドル状態からフル稼働の状態まで一気にスケーリングできます。プレウォーミングは必要ありません。コンピューティング リソースを地理的にユーザーに近い場所に分散して配置し、求められる高可用性要件を満たすことができます。また、1 つのエニーキャスト IP アドレスの背後にリソースをデプロイし、インテリジェントな自動スケーリング機能を使ってリソースをスケーリングできます。Cloud Load Balancing には各種のロードバランサがあり、Google Cloud CDN と統合されてアプリケーションとコンテンツの配信を最適化します。

cloud-load-balancing

単一のエニーキャスト IP でのグローバルな負荷分散

Cloud Load Balancing では、1 つのエニーキャスト IP アドレスが、世界中のリージョンに分散されたすべてのバックエンド インスタンスのフロントエンド アドレスとして機能します。Cloud Load Balancing はリージョンにまたがって負荷を分散します。たとえば、バックエンドが不調になった場合には、トラフィックを分割してスムーズに移動させる、自動マルチリージョン フェイルオーバーを実行します。DNS ベースのグローバル負荷分散ソリューションとは異なり、Cloud Load Balancing はユーザー、トラフィック、ネットワーク、バックエンドの状態、その他の関連条件の変化に瞬時に対応します。

global-migration

ソフトウェアで定義された負荷分散

Cloud Load Balancing は、ソフトウェアで定義された完全分散型のマネージド サービスで、あらゆるトラフィックに対応しています。インスタンス ベースやデバイスベースのソリューションではないため、物理的な負荷分散インフラストラクチャに縛られたり、インスタンス ベースの負荷分散にありがちな HA(高可用性)、スケーラビリティ、管理の問題を抱えたりすることはありません。Cloud Load Balancing は HTTP(S)、TCP/SSL、UDP といったすべてのトラフィックに適用できます。SSL トラフィックを HTTPS 負荷分散と SSL プロキシで終端することもできます。

毎秒 100 万件以上のクエリに対応

Cloud Load Balancing は、Google サービスと同じフロントエンド インフラストラクチャ上に構築されています。そのため毎秒 100 万件以上のクエリに対応でき、安定した高パフォーマンスと低レイテンシを提供します。トラフィックは世界 80 か所以上に設けられた負荷分散地点を経由して Cloud Load Balancing に入るため、データは転送経路のほとんどで Google の高速プライベート ネットワーク バックボーンを通ります。

シームレスな自動スケーリング

Cloud Load Balancing は、ユーザーやトラフィックの増加に応じてスケーリングできます。トラフィックの予期せぬ急増が発生した場合も、世界中の各リージョンにトラフィックを転送して容易に対応できます。この自動スケーリングにプレウォーミングは必要なく、トラフィックがゼロの状態からフル稼働の状態まで、わずか数秒でスケーリングできます。

内部負荷分散

内部負荷分散を使用すると、内部クライアント インスタンス向けスケーラブルで可用性の高い内部サービスを構築でき、ロードバランサをインターネットに公開する必要がありません。GCP の内部負荷分散は、Google のソフトウェアで定義されたネットワーク仮想化プラットフォームである Andromeda を使用して構築されています。

Google Cloud Load Balancing の特長

Google Cloud Platform 上で高性能かつスケーラビリティの高い負荷分散を実現

HTTP(S)負荷分散
HTTP(S)負荷分散では、HTTP および HTTPS トラフィックを複数のリージョンにわたって、複数のバックエンド インスタンス間で分散できます。1 つのグローバル IP アドレスでアプリ全体を利用できるため、DNS 設定をシンプルにできます。プレウォーミングを行うことなくスケーラブルでフォールト トレラントな HTTP(S)負荷分散ができるため、コンテンツ ベースの負荷分散が可能です。HTTPS トラフィックの場合、SSL 終端と負荷分散も可能です。
TCP/SSL 負荷分散
TCP 負荷分散では、Compute Engine リージョン内のインスタンス プール全体にわたって TCP トラフィックを分散できます。スケーラブルでプレウォーミングが不要なうえ、ヘルスチェックにより正常なインスタンスにのみトラフィックが転送されます。また、SSL プロキシによって、非 HTTPS トラフィックの負荷分散と SSL 終端が可能です。
SSL オフロード
SSL オフロードにより SSL 証明書の管理と暗号解除を集中管理できます。また、負荷分散レイヤとバックエンドの間で暗号化を行い、最高レベルのセキュリティを確保することもできます。ただしこの場合、バックエンドの処理に多少のオーバーヘッドが加わります。
UDP 負荷分散
UDP 負荷分散では、Compute Engine リージョン内のインスタンス プール全体にわたって UDP トラフィックを分散できます。スケーラブルでプレウォーミングが不要なうえ、ヘルスチェックにより正常なインスタンスにのみトラフィックが転送されます。
Stackdriver Logging
負荷分散の Stackdriver Logging により、負荷分散記録に送信されたすべての負荷分散リクエストのログが記録されます。これらのログは、デバッグだけでなくユーザー トラフィックの分析にも使用できます。リクエストログを表示し、Google Cloud Storage、Google BigQuery、Google Cloud Pub/Sub にエクスポートして分析することもできます。
シームレスな自動スケーリング
自動スケーリングによって、アプリケーションはトラフィックの増加に適切に対応し、リソースの必要性が低下した場合は費用を軽減させます。自動スケーリングのポリシーを定義しておけば、オートスケーラーで測定した負荷に基づいて自動スケーリングが実行されます。プレウォーミングは不要で、トラフィックがゼロの状態からフル稼働の状態まで、わずか数秒でスケーリングできます。
高精度なヘルスチェック
ヘルスチェックにより、新しい接続の負荷は、正常に動作していてトラフィックを受け取れる状態にあるバックエンドにのみ分散されます。バックエンドへの実際のトラフィックを模した検査により、高精度のヘルスチェックが行われます。
アフィニティ
Cloud Load Balancing にはアフィニティ機能があり、ユーザー トラフィックを特定のバックエンド インスタンスに確実に転送できます。
Cloud CDN との統合
1 つのチェックボックスをオンにするだけで、HTTP(S)負荷分散の Cloud CDN を有効にしてユーザー向けのアプリケーション配信を最適化できます。

「Google Cloud Platform の Load Balancing によりデプロイが容易になり、必要とするスケーリングと高可用性をシームレスに実現できました。しかもウォームアップも事前の準備もなく、毎秒 15 万件のリクエストを簡単に処理できます。以前は特別な負荷分散ハードウェアの設定に追われていましたが、今ではそれとは比べものにならない、静かで落ち着いた毎日を過ごしています。」

- Arnaud Granal 氏、CTO Adcash

Google Cloud Load Balancing の料金

Cloud Load Balancing では、使用するロードバランサの種類にかかわらず、同じ時間単価とデータ処理量単価に基づいて料金が計算されます。 詳細

「私たちが Google Cloud Load Balancing をすべてのリージョンで使用しているのは、地理的に分散された可用性の高いキャッシュをゾーン全体で活用するためです。私たちは厳しい SLA を設定しており、アップタイムとパフォーマンスは私たちにとって非常に重要です。Google Cloud Load Balancing のおかげで、さまざまなバックエンド サービスを必要に応じてすぐにデプロイでき、パッチの適用もダウンタイムなしで実施できます。Cloud Load Balancing は今では私たちのクラウド デプロイ アーキテクチャにとって欠かせない存在です。使い始めて 3 年になりますが、これまで問題は一切ありません。」

- Sachin Shetty 氏、Cloud Architect Egnyte