はじめに
Google Cloudの各サービスについて、概要となる部分を紹介していきます。
今回は、Cloud Load Balancingについてです。
Cloud Load Balancingは単純なレイヤによる分類だけでなく、接続先のバックエンドリソースの要件により、さまざまな種類が存在します。
一つ一つの概念を整理し、要件に応じた機能の組み合わせ、選択できるようになるためのことはじめとして、機能紹介をメインとします。
(実際のユースケース紹介や考察は、今回紹介するそれぞれの各機能を踏まえ、次回のエントリでご紹介します。)
サービス紹介
Cloud Load Balancing
その名の通りロードバランサのサービスです。 ユーザーからのトラフィックを、バックエンドサービスとなるアプリケーションやインスタンスに分散することで、特定リソースへのアクセス集中によるレスポンス低下などの障害を防ぐことができます。
引用元:Cloud Load Balancing の概要 | 負荷分散 | Google Cloud
バックエンドサービス
Cloud Load Balancingの負荷分散先となるサービスです。
例)
- Cloud Storage上に配置されたバックエンドバケット
- インスタンスグループ
- GCE、GKE
- Cloud Run
- App Engine
- Cloud Functions
以下の項目により、トラフィックの分散方法を定義します。
例)
- 通信プロトコル
- セッション
- ヘルスチェック
- タイムアウト値
Cloud Load Balancingの種類
大きく分けて、以下の2種類があります。
- アプリケーションロードバランサ
- ネットワークロードバランサ
アプリケーションロードバランサ
HTTP(S)通信を分散してくれるロードバランサです。
ネットワークロードバランサ
ネットワークロードバランサは、更に以下の2種類に分類されます
プロキシネットワークロードバランサ
以下の機能をサポートします
- TLS通信
- TCPプロキシ
- マルチリージョンのバックエンドサービス
パススルーネットワークロードバランサ
以下の機能をサポートします
- 送信元IPアドレスの保持
- UDP、ICMPなどの軽量プロトコル
特徴
外部ロードバランシングと内部ロードバランシング
- インターネットから、Cloud Load Balancing配下にあるバックエンドサービスへの通信の場合、外部ロードバランシングを利用します。
- Google Cloud 内部での通信の場合は、内部ロードバランシングを利用します。
リージョンを跨いだロードバランシングが可能
- ロードバランシング配下が、複数リージョンにバックエンドが存在するマルチリージョンバックエンドの場合、リージョン跨ぎでの負荷分散が可能です。
- リージョンを跨いだ場合でも、クライアントから見た宛先IPは1つのグローバルIPアドレスです。
- 各地域から1つのグローバルIPにアクセスした場合においても、送信元と地理的に一番近いマルチリージョンバックエンドに負荷分散することが可能です。
ハイブリッド接続でのロードバランシング
- オンプレミス及び他ベンダーのマルチクラウド環境と、Google Cloud内のリソースに対するロードバランシングをサポートしています。
引用元:外部アプリケーション ロードバランサのユースケース | 負荷分散 | Google Cloud
ユースケース
- ウェブ層に対するロードバランシング
- 外部アプリケーションロードバランサ
- データベース層に対するロードバランシング
- 内部パススルーロードバランサ
所感
- Cloud Load Balancingは、機能が細かく分かれているため、それぞれの機能を把握できれば、多様な要件に対して対応できると感じました。
- ハイブリッド環境に対するロードバランシングがサポートされています。AWSのELBにおいては、現時点(2023年7月時点)で同機能は提供されていないことを踏まえ、ハイブリッド構成でのクラウドシフトを検討している会社においては、クラウド選定のポイントの一つとなるのではないでしょうか。
おわりに
次回のエントリでは、今回紹介したそれぞれの分類を組み合わせ、実際のユースケースを交えた考察をします。
参考文献
ロードバランサの選択 | 負荷分散 | Google Cloud
Cloud Load Balancing の概要 | 負荷分散 | Google Cloud