在 Application Design Center 中配置全球 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 TTL(以秒为单位) 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 后端

区域 区域 无服务器网络端点组概览
类型 无服务器后端的类型。可能的值包括 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 自定义最长缓存时间
默认 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_security_policy 边缘安全政策
安全政策 security_policy 安全政策概览
防火墙网络 网络 配置防火墙规则
防火墙项目 要在其中创建防火墙规则的项目的名称。 配置防火墙规则
目标标记 targetTags[] 限制哪些客户端可以向负载均衡器发送流量
目标服务账号 targetServiceAccounts[] 按服务账号过滤来源和目标

后续步骤

您必须将后端组件连接到前端组件。如需配置前端组件,请参阅在应用设计中心内配置全球 Cloud Load Balancing 前端