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

アプリケーションでロードバランサを作成するには、個別の Cloud Load Balancing フロントエンド コンポーネントとバックエンド コンポーネントを構成して接続します。これにより、外部トラフィックと内部トラフィックに個別の制御を適用し、データへの直接アクセスを防ぐことができます。App Design Center では、グローバル Cloud Load Balancing バックエンド サービス コンポーネントが、サーバーレス ネットワーク エンドポイント グループ(NEG)と Compute Engine マネージド インスタンス グループ(MIG)のトラフィック分散設定(プロトコル、セッション アフィニティ、ヘルスチェック、タイムアウトなど)を管理します。接続と構成パラメータは、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[].capacityScaler 容量スケーラー
最大接続数 backends[].maxConnections 接続バランシング モード
インスタンスあたりの最大接続数 backends[].maxConnectionsPerInstance 接続バランシング モード
エンドポイントあたりの最大接続数 backends[].maxConnectionsPerEndpoint 接続バランシング モード
最大レート backends[].maxRate レート分散モード
インスタンスあたりの最大レート backends[].maxRatePerInstance レート分散モード
エンドポイントあたりの最大レート backends[].maxRatePerEndpoint レート分散モード
最大使用率 backends[].maxUtilization 使用率バランシング モード

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

リージョン region サーバーレス ネットワーク エンドポイント グループの概要
種類 サーバーレス バックエンドのタイプ。有効な値は cloud-run、cloud-function、または app-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 の外れ値検出
インターバル(秒) outlierDetection.interval.seconds サーバーレス NEG の外れ値検出
インターバル(ナノ秒) 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 フロントエンドを構成するをご覧ください。