外部アプリケーション ロードバランサは、多くのユースケースに対応しています。このページでは、そのいくつかについて説明します。
3 層ウェブサービス
外部のアプリケーション ロードバランサを使用して、従来の 3 層ウェブサービスをサポートできます。次の例は、3 種類の Google Cloud ロードバランサを使用して 3 つの層をスケーリングする方法を示しています。それぞれの層で、トラフィックの種類に応じてロードバランサのタイプが決まります。
ウェブ層: インターネットから入ってきたトラフィックが、外部アプリケーション ロードバランサによってロードバランスされます。
アプリケーション階層: アプリケーション階層は、リージョン内部のアプリケーション ロードバランサを使用してスケーリングされます。
データベース階層: データベース階層は、内部パススルー ネットワーク ロードバランサを使用してスケーリングされます。
次の図に、トラフィックがどのようにそれぞれの層を通過するのかを示します。
- 外部アプリケーション ロードバランサ(この概要の対象)は、インターネットから入ってきたトラフィックを複数のリージョンにまたがるウェブ フロントエンド インスタンス グループに分散します。
- これらのウェブ フロントエンドは、一連のリージョン内部アプリケーション ロードバランサに HTTP(S) トラフィックを送信します。外部アプリケーション ロードバランサが内部アプリケーション ロードバランサにトラフィックを転送するには、内部アプリケーション ロードバランサのフロントエンドにトラフィックを転送するように構成されているウェブサーバー ソフトウェア(Netscaler や NGINX など)を持つバックエンド インスタンスが、外部アプリケーション ロードバランサに必要です。
- 内部アプリケーション ロードバランサがトラフィックをミドルウェア インスタンス グループに分散します。
- ミドルウェア インスタンス グループが、トラフィックを内部パススルー ネットワーク ロードバランサに送り、トラフィックをデータ ストレージ クラスタにロードバランスします。
マルチリージョンのロード バランシング
プレミアム ティアでアプリケーション ロードバランサを構成すると、グローバル外部 IP アドレスが使用され、近接性に基づいて、ユーザーからのリクエストを最も近いバックエンド インスタンス グループまたは NEG にインテリジェントに転送できます。たとえば、北米、ヨーロッパ、アジアでインスタンス グループを設定し、それらをロードバランサのバックエンド サービスに接続すると、VM がヘルスチェックに合格していて十分な容量があると想定(バランシング モードで定義)され、世界中のユーザー リクエストがユーザーに最も近い VM に自動的に送信されます。最も近い VM がすべて異常である場合、または最も近いインスタンス グループがフル稼働していて別のインスタンス グループがフル稼働していない場合、ロードバランサは自動的に、容量があり最も近いリージョンにリクエストを送信します。
プレミアム ティアの外部アプリケーション ロードバランサでは、それぞれが複数のリージョンのバックエンド インスタンス グループまたは NEG を持つ複数のバックエンド サービスを使用して、マルチリージョン ロード バランシングを提供します。
地域の適用法令遵守が必要なワークロード
規制対象またはコンプライアンス要件のある一部のワークロードでは、ネットワーク構成とトラフィックの終端を特定のリージョンに配置する必要があります。これらのワークロードで必要な地域の適用法令遵守を行うには、通常、リージョン外部アプリケーション ロードバランサが適切な選択肢になります。
高度なトラフィック管理
グローバル外部アプリケーション ロードバランサとリージョン外部アプリケーション ロードバランサを使用して、トラフィックの処理方法をきめ細かく制御する、高度なトラフィック管理機能を追加できます。これらの機能は、可用性とパフォーマンスの目標達成に役立ちます。こうしたユースケースで外部アプリケーション ロードバランサを使用するメリットの一つは、アプリケーション コードを変更せずにトラフィックの管理方法を更新できる点です。
詳しくは次の記事をご覧ください。
リクエストのルーティングを使用したロード バランシング
外部アプリケーション ロードバランサは、リクエストされたホスト名、リクエストパス、またはその両方に基づいてバックエンド サービスを選択するための URL マップを使用して、リクエストのルーティングをサポートします。たとえば、インスタンス グループまたは NEG のセットを使用して動画コンテンツを処理し、別のセットを使用してその他すべてを処理できます。
また、Cloud Storage バケットで外部アプリケーション ロードバランサを使用することもできます。ロードバランサを設定したら、Cloud Storage バケットを追加できます。
詳細については、URL マップのコンセプトをご覧ください。
GKE アプリケーションのロード バランシング
GKE クラスタに外部アプリケーション ロードバランサをデプロイするには、次の 2 つの方法があります。
- GKE Gateway Controller。グローバル外部アプリケーション ロードバランサと従来のアプリケーション ロードバランサでサポートされます。設定手順については、ゲートウェイのデプロイをご覧ください。
- GKE Ingress コントローラ。従来のアプリケーション ロードバランサとリージョン外部アプリケーション ロードバランサでサポートされています。設定手順については、外部アプリケーション ロードバランサの Ingress の構成をご覧ください。
Cloud Run、Cloud Run 関数、App Engine アプリケーションのロード バランシング
グローバル外部アプリケーション ロードバランサは、Cloud Run、Cloud Run 関数、App Engine アプリケーションのフロントエンドとして使用できます。これを設定するには、ロードバランサのバックエンドにサーバーレス NEG を使用します。
この図は、サーバーレス NEG が外部アプリケーション ロードバランサ モデルにどのように適合するかを示しています。
関連ドキュメント:
インターネット接続による外部バックエンドへのトラフィックのプロキシ
Cloud Load Balancing は、Google Cloud の外部にあるバックエンドへのトラフィックのプロキシをサポートしています。このタイプのデプロイは、外部バックエンドからコンテンツを提供し、Google Cloud ロードバランサをフロントエンドにする場合に使用できます。ロードバランサは、Google の信頼性の高いバックボーン ネットワークを経由して外部エンドポイントにトラフィックをプロキシし、宛先に近い公共のインターネットにのみ渡します。
関連ドキュメント:
ハイブリッド接続でのロード バランシング
Cloud Load Balancing は、オンプレミス データセンターや他のパブリック クラウドなどの Google Cloud の外部に拡張され、ハイブリッド接続で到達可能なエンドポイントへのトラフィックをロード バランシングできます。
次の図は、グローバル外部アプリケーション ロードバランサを使用したハイブリッド デプロイを示しています。
関連ドキュメント:
Private Service Connect でのロード バランシング
グローバル外部アプリケーション ロードバランサを使用して、Private Service Connect によって公開されているサービスにアクセスできます。
詳細については、Private Service Connect バックエンドについてをご覧ください。