Application Design Center でグローバル Cloud Load Balancing バックエンド サービスを構成する

アプリケーションでロードバランサを作成するには、個別の Cloud Load Balancing フロントエンド コンポーネントとバックエンド コンポーネントを構成して接続します。個別のコンポーネントを使用すると、外部トラフィックと内部トラフィックに個別の制御を適用し、データへの直接アクセスを防止できます。

グローバル Cloud Load Balancing バックエンド コンポーネントを使用すると、バックエンドへの接続に使用されるプロトコル、セッション設定、ヘルスチェック、タイムアウトなど、ロードバランサのトラフィック分散設定を管理できます。次のバックエンドを構成できます。

  • サーバーレス NEG: バックエンドとしてのサーバーレス Cloud Run または Cloud Run functions アプリケーションのリスト。

  • マネージド インスタンス グループ(MIG): バックエンドとしての Compute Engine インスタンス グループのリスト。

詳細については、バックエンド サービスの概要をご覧ください。

このドキュメントでは、App Design Center を使用してグローバル Cloud Load Balancing バックエンドを作成するときに構成できる接続とパラメータについて説明します。構成パラメータは、terraform-google-lb-http Terraform モジュールに基づいています。

コンポーネント接続

完全な Cloud Load Balancing コンポーネントを作成するには、グローバル Cloud Load Balancing バックエンドを少なくとも 1 つのグローバル Cloud Load Balancing フロントエンドに接続する必要があります。接続された Cloud Load Balancing コンポーネントは、デザイン キャンバスにグループとして表示されます。

次の表に、グローバル Cloud Load Balancing バックエンドに接続できるコンポーネントと、アプリケーションとその生成された Terraform コードに対する更新結果を示します。

連結成分

アプリケーションの更新

背景情報

Cloud Run

  • ロードバランサは、受信トラフィックを Cloud Run サービスに分散できます。
  • Cloud Run サービスは、Cloud Load Balancing サーバーレス NEG バックエンド構成のバックエンド エンドポイントとして追加されます。
Cloud Run を使用してグローバル外部アプリケーション ロードバランサを設定する

グローバル Cloud Load Balancing フロントエンド(必須)

  • 受信リクエストを処理する Cloud Load Balancing フロントエンドは、リクエストを処理する Cloud Load Balancing バックエンドにリンクされています。
  • バックエンド サービス情報がフロントエンド URL マップの入力に追加されます。
URL マップの概要

Compute Engine MIG

  • ロードバランサは、受信トラフィックを Compute Engine MIG に分散できます。
  • Compute Engine MIG が Cloud Load Balancing バックエンド サービス グループ フィールドに追加されます。
マネージド インスタンス グループのバックエンドを使用して従来のアプリケーション ロードバランサを設定する

必要な構成パラメータ

テンプレートにグローバル Cloud Load Balancing バックエンド コンポーネントが含まれている場合は、デプロイする前に次のパラメータを構成する必要があります。

パラメータ名

説明と制約

背景情報

名前

ロードバランサのバックエンド サービスの名前。 name

プロジェクト ID

Cloud Load Balancing バックエンド サービスをデプロイするプロジェクト。

コンポーネントを構成する

オプションの構成パラメータ

次のパラメータは省略可能です。詳細パラメータを表示するには、[構成] 領域で [詳細フィールドを表示] を選択します。

機能

パラメータ名

説明と制約に関する情報

背景情報

ホストパス マッピング

ホスト URL マップを構成する URL マップを使用する
パス URL マップを構成する URL マップを使用する
負荷分散スキーム loadBalancingScheme バックエンド サービスの概要
プロトコル protocol バックエンドへのプロトコル
ポート名 portName 名前付きポート
説明 バックエンド サービスの説明。 description
CDN を有効にする enableCDN Cloud CDN の概要
圧縮モード compressionMode 圧縮が機能しない
カスタム リクエスト ヘッダー customRequestHeaders[] バックエンド サービスでカスタム ヘッダーを作成する
カスタム レスポンス ヘッダー customResponseHeaders[] バックエンド サービスでカスタム ヘッダーを作成する
コネクション ドレインのタイムアウト(秒) connectionDraining.drainingTimeoutSec コネクション ドレインを有効にする
セッション アフィニティ sessionAffinity セッション アフィニティ
アフィニティ Cookie の TTL(秒) affinityCookieTtlSec 生成された Cookie アフィニティ
地域 LB ポリシー localityLbPolicy ロード バランシングの局所性ポリシー
タイムアウト(秒) timeoutSec バックエンド サービスのタイムアウト

ログ構成

有効にする logConfig.enable ロギング
サンプルレート logConfig.sampleRate ロギング

グループ

グループ backends[].group バックエンド
説明 バックエンド グループの説明。 backends[].description
バランシング モード backends[].balancingMode バランシング モードとターゲット容量の設定
容量スケーラー backends[].capcityScaler 容量スケーラー
最大接続数 backends[].maxConnections 接続バランシング モード
インスタンスあたりの最大接続数 backends[].maxConnectionsPerInstance 接続バランシング モード
エンドポイントあたりの最大接続数 backends[].maxConnectionsPerEndpoint 接続バランシング モード
最大レート backends[].maxRate レート分散モード
インスタンスあたりの最大レート backends[].maxRatePerInstance レート分散モード
エンドポイントあたりの最大レート backends[].maxRatePerEndpoint レート分散モード
最大使用率 backends[].maxUtilization 使用率バランシング モード

サーバーレス NEG バックエンド

地域 region サーバーレス ネットワーク エンドポイント グループの概要
タイプ サーバーレス バックエンドのタイプ。有効な値は cloud-runcloud-functionapp-engine です。 サポートされているロードバランサ
サービス名 appEngine.service サーバーレス ネットワーク エンドポイント グループの概要
サービス バージョン appEngine.version サーバーレス ネットワーク エンドポイント グループの概要

IAP 構成

有効にする iap.enabled Identity-Aware Proxy の概要
OAuth2 クライアント ID iap.oauth2ClientId OAuth クライアントの共有方法
OAuth2 クライアント シークレット iap.oauth2ClientSecret OAuth クライアントの共有方法

CDN ポリシー

キャッシュ モード cdnPolicy.cacheMode キャッシュの概要
署名付き URL キャッシュの最大有効期間(秒) cdnPolicy.signedUrlCacheMaxAgeSec 最大キャッシュ時間をカスタマイズする
デフォルト TTL cdnPolicy.defaultTtl TTL の設定とオーバーライドを変更する
最大 TTL cdnPolicy.maxTtl TTL の設定とオーバーライドを変更する
クライアント TTL cdnPolicy.clientTtl TTL の設定とオーバーライドを変更する
ネガティブ キャッシュ cdnPolicy.negativeCaching ネガティブ キャッシュを使用する
古いデータの提供 cdnPolicy.serveWhileStale 古いコンテンツを配信する
リクエスト ヘッダーでキャッシュをバイパスする cdnPolicy.bypassCacheOnRequestHeaders[] キャッシュのバイパス

ネガティブ キャッシュ ポリシー

コード cdnPolicy.negativeCachingPolicy[].code ネガティブ キャッシュを使用する
TTL cdnPolicy.negativeCachingPolicy[].ttl ネガティブ キャッシュを使用する

キャッシュキー ポリシー

ホストを含める cdnPolicy.cacheKeyPolicy.includeHost キャッシュキー
プロトコルを含める cdnPolicy.cacheKeyPolicy.includeProtocol キャッシュキー
クエリ文字列を含める cdnPolicy.cacheKeyPolicy.includeQueryString クエリ文字列の追加リスト
クエリ文字列のブラックリスト cdnPolicy.cacheKeyPolicy.queryStringBlacklist[] クエリ文字列の除外リスト
クエリ文字列のホワイトリスト cdnPolicy.cacheKeyPolicy.queryStringWhitelist[] クエリ文字列の追加リスト
HTTP ヘッダーを含める cdnPolicy.cacheKeyPolicy.includeHttpHeaders[] HTTP ヘッダーと HTTP Cookie のキャッシュキーの設定
名前付き Cookie を含める cdnPolicy.cacheKeyPolicy.includeNamedCookies[] 名前付き Cookie の追加

外れ値検出

ベースの排出時間(秒) outlierDetection.baseEjectionTime.seconds サーバーレス NEG の外れ値検出
ベースの排出時間(ナノ秒) outlierDetection.baseEjectionTime.nanos サーバーレス NEG の外れ値検出
連続するエラー outlierDetection.consecutiveErrors サーバーレス NEG の外れ値検出
連続するゲートウェイ障害 outlierDetection.consecutiveGatewayFailure サーバーレス NEG の外れ値検出
連続するエラーの適用 outlierDetection.enforcingConsecutiveErrors サーバーレス NEG の外れ値検出
連続するゲートウェイ障害の適用 outlierDetection.enforcingConsecutiveGatewayFailure サーバーレス NEG の外れ値検出
成功率の適用 outlierDetection.enforcingSuccessRate サーバーレス NEG の外れ値検出
Interval Seconds outlierDetection.interval.seconds サーバーレス NEG の外れ値検出
Interval Nanos outlierDetection.interval.nanos サーバーレス NEG の外れ値検出
最大排除率 outlierDetection.maxEjectionPercent サーバーレス NEG の外れ値検出
成功率が最小のホスト outlierDetection.successRateMinimumHosts サーバーレス NEG の外れ値検出
成功率のリクエストの量 outlierDetection.successRateRequestVolume サーバーレス NEG の外れ値検出
成功率の標準偏差因子 outlierDetection.successRateStdevFactor サーバーレス NEG の外れ値検出

ヘルスチェック

ホスト http2HealthCheck.host HTTP、HTTPS、HTTP/2 ヘルスチェックの追加フラグ
リクエストパス http2HealthCheck.requestPath HTTP、HTTPS、HTTP/2 の成功基準
リクエスト sslHealthCheck.request SSL と TCP の成功基準
レスポンス sslHealthCheck.response HTTP、HTTPS、HTTP/2 ヘルスチェックの追加フラグ
ポート http2HealthCheck.port ヘルスチェックのカテゴリ、プロトコル、ポート
ポート名 http2HealthCheck.portName 名前付きポート
プロキシ ヘッダー http2HealthCheck.proxyHeader ヘッダー
ポートの指定 http2HealthCheck.portSpecification ポート指定フラグ
プロトコル type ヘルスチェックのカテゴリ、プロトコル、ポート
チェック間隔(秒) checkIntervalSec プローブ
タイムアウト(秒) timeoutSec プローブ
正常しきい値 healthyThreshold 健全性
異常しきい値 unhealthyThreshold 健全性
ロギング logConfig.enable ヘルスチェックのロギング情報
Edge のセキュリティ ポリシー edge_security_policy エッジ セキュリティ ポリシー
セキュリティ ポリシー security_policy セキュリティ ポリシーの概要
ファイアウォール ネットワーク network ファイアウォール ルールの構成
ファイアウォール プロジェクト ファイアウォール ルールを作成するプロジェクトの名前。 ファイアウォール ルールの構成
ターゲット タグ targetTags[] ロードバランサにトラフィックを送信できるクライアントを制限する
ターゲット サービス アカウント targetServiceAccounts[] サービス アカウントによる送信元とターゲットのフィルタリング

次のステップ

バックエンド コンポーネントをフロントエンド コンポーネントに接続する必要があります。フロントエンド コンポーネントを構成するには、Application Design Center でグローバル Cloud Load Balancing フロントエンドを構成するをご覧ください。