Open4
GCP Serverless NEGをざっくりまとめた
ロードバランサーとServerless NEG(Network Endpoint Group)
ロードバランサのバックエンド エンドポイントのグループとして指定可能。サーバーレス NEG は、Cloud Run、App Engine、Cloud Functions、または API Gateway を指すバックエンド。
グローバル外部へのロードバランサの話のみ。
ユースケース
サーバーレス アプリで HTTP(S) ロードバランサを有効にすると、次のことができる。
- 他のサービスと共有しない 1 つの専用 IPv4 の IP アドレスからサーバーレス アプリを運用できるように構成する。
- 同じドメインで動作する複数のサーバーレス関数またはサービスに 1 つの URL をマッピングする。このドキュメントの URL マスクをご覧ください。
- 他の Google Cloud コンピューティング プラットフォームと URL 空間を共有する。複数のバックエンド サービスを使用することで、1 つのロードバランサが複数のバックエンド タイプにトラフィックを送信できるようになります。ロードバランサは、リクエスト URL のホストまたはパスに基づいて適切なバックエンド サービスを選択します。
- 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) 接続を終端することでレイテンシを短縮する。
ロードバランサのルーティング
HTTPロードバランサには複数のバックエンドを設定できる。
例えばapiのパスにはapiを管理するバックエンド。imageという画像に関するトラフィックに対しては、画像専用のバックエンドにトラフィックを流すなど。
Serverless NEGはロードバランサのバックエンドの1つとして利用できる。
Serverless NEGのURLマスク
マッピングルール
1つのServerless NEG内で、Cloud Run、App Engine、Cloud Functions、API Gatewayを横断させることはできない。