在應用程式設計中心設定全域 Cloud Load Balancing 後端服務

您可以在應用程式中建立負載平衡器,方法是設定及連結不同的 Cloud Load Balancing 前端和後端元件。這些獨立元件可協助您對外部和內部流量套用不同的控制項,並防止直接存取資料。

全域 Cloud Load Balancing 後端元件可協助您管理負載平衡器流量分配設定,包括用於連線至後端的通訊協定、工作階段設定、健康狀態檢查和逾時。您可以設定下列後端:

  • 無伺服器 NEG:無伺服器 Cloud Run 或 Cloud Run functions 應用程式的後端清單。

  • 代管執行個體群組 (MIG):做為後端的 Compute Engine 執行個體群組清單。

詳情請參閱「後端服務總覽」。

本文說明使用應用程式設計中心建立全域 Cloud Load Balancing 後端時,可設定的連線和參數。設定參數是以 terraform-google-lb-http Terraform 模組為基礎。

元件連線

如要建立完整的 Cloud Load Balancing 元件,您必須將全域 Cloud Load Balancing 後端連結至至少一個全域 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 後端,後者會處理要求。
  • 後端服務資訊會新增至前端網址對應輸入內容。
網址地圖總覽

Compute Engine MIG

  • 負載平衡器可將連入流量分配給 Compute Engine MIG。
  • Compute Engine MIG 會新增至 Cloud Load Balancing 後端服務群組欄位。
設定後端為代管執行個體群組的傳統版應用程式負載平衡器

必要設定參數

如果範本包含全域 Cloud Load Balancing 後端元件,您必須先設定下列參數,才能部署範本。

參數名稱

說明和限制

背景資訊

名稱

負載平衡器後端服務的名稱。 name

專案 ID

您要部署 Cloud Load Balancing 後端服務的專案。

設定元件

選用設定參數

以下是視需要選用的參數。如要顯示進階參數,請在「設定」區域選取「顯示進階欄位」

功能

參數名稱

說明和限制資訊

背景資訊

主機路徑對應

主機 設定網址對應 使用網址對應
路徑 設定網址對應 使用網址對應
負載平衡架構 loadBalancingScheme 後端服務總覽
通訊協定 protocol 後端的通訊協定
通訊埠名稱 portName 已命名的通訊埠
說明 後端服務的說明。 description
啟用 CDN enableCDN Cloud CDN 總覽
壓縮模式 compressionMode 未執行壓縮
自訂要求標頭 customRequestHeaders[] 在後端服務中建立自訂標頭
自訂回應標頭 customResponseHeaders[] 在後端服務中建立自訂標頭
連線排除逾時時間 (秒) connectionDraining.drainingTimeoutSec 啟用連線排除功能
工作階段相依性 sessionAffinity 工作階段相依性
相依性 Cookie 存留時間 (秒) affinityCookieTtlSec 產生的 Cookie 相依性
地區負載平衡政策 localityLbPolicy 負載平衡地區政策
逾時秒數 timeoutSec 後端服務逾時

記錄設定

啟用 logConfig.enable Logging
取樣率 logConfig.sampleRate Logging

網路論壇

群組 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 快取總覽
已簽署網址快取存在時間長度上限 (秒) cdnPolicy.signedUrlCacheMaxAgeSec 自訂快取時間上限
預設存留時間 cdnPolicy.defaultTtl 變更存留時間設定和覆寫
存留時間上限 cdnPolicy.maxTtl 變更存留時間設定和覆寫
用戶端存留時間 cdnPolicy.clientTtl 變更存留時間設定和覆寫
負面快取 cdnPolicy.negativeCaching 使用負面快取
網頁無回應時顯示過時內容 cdnPolicy.serveWhileStale 提供過時內容
略過要求標頭快取程序 cdnPolicy.bypassCacheOnRequestHeaders[] 略過快取

負面快取政策

程式碼 cdnPolicy.negativeCachingPolicy[].code 使用負面快取
存留時間 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 已命名的通訊埠
Proxy 標頭 http2HealthCheck.proxyHeader 標題
通訊埠規格 http2HealthCheck.portSpecification 通訊埠規格標記
通訊協定 type 健康狀態檢查類別、通訊協定和通訊埠
檢查間隔 (秒) checkIntervalSec 探針
逾時秒數 timeoutSec 探針
健康狀態良好判定門檻 healthyThreshold 健康狀態
不良健康狀態判定門檻 unhealthyThreshold 健康狀態
記錄 logConfig.enable 健康狀態檢查記錄資訊
邊緣安全性政策 edge_security_policy 邊緣安全性政策
安全性政策 security_policy 安全性政策總覽
防火牆網路 網路 設定防火牆規則
防火牆專案 要在其中建立防火牆規則的專案名稱。 設定防火牆規則
目標標記 targetTags[] 限制哪些用戶端可以將流量傳送至負載平衡器
目標服務帳戶 targetServiceAccounts[] 根據服務帳戶篩選來源與目標

後續步驟

您必須將後端元件連線至前端元件。如要設定前端元件,請參閱「在 Application Design Center 中設定全域 Cloud Load Balancing 前端」。