Google Cloud Load Balancing
負荷分散サービスのGoogle Cloud Load Balancing は、インターネットからのリクエストや内部からのリクエストを、複数のアプリケーションインスタンス(サーバー)に効率的に分散させるためのサービスです。これにより、Webサイトやアプリケーションのパフォーマンス、可用性、信頼性を向上させることができます。
想像してみてください。ある人気レストランにたくさんのお客さんが押し寄せています。もし入口が一つしかなく、一人のウェイターしかいなかったら、お客さんはどんどん溜まってしまい、料理が出てくるのが遅くなったり、最悪の場合、お店がパンクしてしまいます。
ロードバランシングは、このレストランに複数の入口(ロードバランサーのIPアドレス)と、たくさんのお客さんを最適なテーブル(アプリケーションインスタンス)に案内するウェイター(ロードバランシングの仕組み)を配置するようなものです。
具体的には、以下のようなメリットがあります。
- パフォーマンスの向上: トラフィックを分散することで、個々のサーバーへの負荷を軽減し、レスポンス時間を短縮します。
- 高可用性(High Availability): 特定のサーバーが故障しても、ロードバランサーが自動的に健全なサーバーにトラフィックを振り分けるため、サービスが停止することなく稼働し続けます。
- スケーラビリティ: アクセスが増えた際に、自動的に新しいサーバーを追加し、トラフィックを分散させることができます(オートスケーリングと連携)。これにより、急なトラフィックの増加にも柔軟に対応できます。
- セキュリティの強化: DDoS攻撃など、大量の悪意のあるトラフィックからアプリケーションを保護する機能(Google Cloud Armorとの連携など)も提供されます。
- グローバルな展開: 世界中のユーザーに対して、最も近いサーバーにトラフィックを誘導することで、レイテンシ(遅延)を最小限に抑え、快適なユーザー体験を提供できます。
Google Cloud Load Balancingには、トラフィックの種類(HTTP/HTTPS、TCP/UDPなど)や、外部からのアクセスか内部からのアクセスか、グローバルに分散するかリージョン内で分散するかによって、様々な種類があります。
Cloud Load Balancingの種類
Google Cloud Load Balancingは、以下の主要な観点に基づいて様々な種類が提供されています。
- トラフィックの種類:
- Application Load Balancers (HTTP/HTTPS): WebアプリケーションのHTTPおよびHTTPSトラフィックを対象とし、URLに基づいてリクエストをルーティングするなど、より高度な機能を提供します。(OSI参照モデルのLayer 7)
- Network Load Balancers (TCP/UDP): TCPやUDPといったネットワーク層のトラフィックを対象とします。シンプルなロードバランシングに適しています。(OSI参照モデルのLayer 4)
- Proxy Network Load Balancers (TCP/SSL): TCPトラフィックを対象とし、SSL/TLSオフロード機能を提供します。
- Application Load Balancers (HTTP/HTTPS): WebアプリケーションのHTTPおよびHTTPSトラフィックを対象とし、URLに基づいてリクエストをルーティングするなど、より高度な機能を提供します。(OSI参照モデルのLayer 7)
- 外部 vs. 内部:
- External Load Balancers: インターネットからのトラフィックを分散します。
- Internal Load Balancers: Virtual Private Cloud (VPC) ネットワーク内のトラフィックを分散し、内部アプリケーションの高可用性を実現します。
- External Load Balancers: インターネットからのトラフィックを分散します。
- グローバル vs. リージョン:
- Global Load Balancers: 複数のリージョンにまたがってトラフィックを分散し、世界中のユーザーに低レイテンシでサービスを提供します。単一のAnycast IPアドレスを使用します。
- Regional Load Balancers: 特定のリージョン内の複数のゾーンにトラフィックを分散し、リージョン内の高可用性を実現します。
- Global Load Balancers: 複数のリージョンにまたがってトラフィックを分散し、世界中のユーザーに低レイテンシでサービスを提供します。単一のAnycast IPアドレスを使用します。
- プロキシ vs. パススルー:
- Proxy Load Balancers: クライアントとバックエンドの間にプロキシとして介入し、SSLオフロードやコンテンツベースのルーティングなどの機能を提供します。
- Passthrough Load Balancers: トラフィックを直接バックエンドに渡し、クライアントの元のIPアドレスを保持します。
- Proxy Load Balancers: クライアントとバックエンドの間にプロキシとして介入し、SSLオフロードやコンテンツベースのルーティングなどの機能を提供します。
関連リンク
- Cloud Load Balancing の概要 – Google Cloud
- ロードバランサの選択 – Google Cloud
- 外部アプリケーション ロードバランサのユースケース – Google Cloud