Open4

GCP Serverless NEGをざっくりまとめた

michiomichio

グローバル外部へのロードバランサの話のみ。

ユースケース

サーバーレス アプリで HTTP(S) ロードバランサを有効にすると、次のことができる。

  1. 他のサービスと共有しない 1 つの専用 IPv4 の IP アドレスからサーバーレス アプリを運用できるように構成する。
  2. 同じドメインで動作する複数のサーバーレス関数またはサービスに 1 つの URL をマッピングする。このドキュメントの URL マスクをご覧ください。
  3. 他の Google Cloud コンピューティング プラットフォームと URL 空間を共有する。複数のバックエンド サービスを使用することで、1 つのロードバランサが複数のバックエンド タイプにトラフィックを送信できるようになります。ロードバランサは、リクエスト URL のホストまたはパスに基づいて適切なバックエンド サービスを選択します。
  4. Compute Engine、Google Kubernetes Engine、Cloud Storage で使用する同じ SSL 証明書と秘密鍵を再利用する。同じ証明書を再利用することで、サーバーレス アプリの個別の証明書を管理する必要がなくなります。

サーバーレスアプリをロードバランサ配下で運用することで

  • Google Cloud Armor を使用してサービスを保護する。これは、外部 HTTP(S) ロードバランサ経由でアクセスするすべてのサービスで利用できるエッジ DDoS 防御 / WAF セキュリティ プロダクトです。この機能には制限事項がいくつかあります。特に Cloud Run と App Engine に関する制限があります。
  • サービスで Cloud CDN を使用して配信を最適化できるようにする。Cloud CDN はユーザーの近くにあるコンテンツをキャッシュに保存します。Cloud CDN は、キャッシュの無効化や Cloud CDN 署名付き URL などの機能を提供します。
  • Google の Edge インフラストラクチャを使用して、ユーザーの近くで HTTP(S) 接続を終端することでレイテンシを短縮する。

ドキュメント

michiomichio

ロードバランサのルーティング

HTTPロードバランサには複数のバックエンドを設定できる。
例えばapiのパスにはapiを管理するバックエンド。imageという画像に関するトラフィックに対しては、画像専用のバックエンドにトラフィックを流すなど。

Serverless NEGはロードバランサのバックエンドの1つとして利用できる。

michiomichio

Serverless NEGのURLマスク

マッピングルール

1つのServerless NEG内で、Cloud Run、App Engine、Cloud Functions、API Gatewayを横断させることはできない。