You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

GCP全局外部ALB无法向Cloud Run服务转发镜像流量求助

GCP全局外部ALB流量镜像至Cloud Run失效排查方案

核心问题

全局外部应用负载均衡器(ALB)配置流量镜像后,生产流量能正常分发到VM后端,但无法镜像到目标Cloud Run服务;将镜像目标切换为VM后端则正常,目标Cloud Run服务自身通过专用域名访问正常。

排查与解决步骤

1. 验证Cloud Run后端服务的镜像兼容性

GCP ALB的流量镜像对Cloud Run后端有特定要求:

  • 确保Cloud Run后端服务的会话亲和性已禁用(流量镜像不支持会话亲和性)。检查后端服务配置:
    gcloud compute backend-services describe cloudrun-app01-web-training --global
    
    确认sessionAffinity字段值为NONE,若不是则更新:
    gcloud compute backend-services update cloudrun-app01-web-training --global --session-affinity=NONE
    

2. 修正镜像请求的Host头处理

尽管已配置ServerName _default_,ALB镜像流量的Host头仍可能存在匹配问题,可在镜像策略中显式覆盖:
修改路由规则的requestMirrorPolicy部分,增加Host头强制设置:

requestMirrorPolicy:
  backendService: projects/app01-1234/global/backendServices/cloudrun-app01-web-training
  headerAction:
    requestHeadersToAdd:
    - headerName: Host
      headerValue: training.appname.domainname.ee
      replace: true

强制镜像请求使用Cloud Run的专用域名作为Host头,避免ALB自动添加的后缀导致匹配失败。

3. 检查Cloud Run服务的IAM访问权限

确保ALB的服务账号有权调用目标Cloud Run服务:

  • 检查Cloud Run服务的IAM权限,确认compute@developer.gserviceaccount.com(ALB默认服务账号)拥有roles/run.invoker权限:
    gcloud run services get-iam-policy cloudrun-app01-web-training
    
    若缺失则添加权限:
    gcloud run services add-iam-policy-binding cloudrun-app01-web-training \
      --member=serviceAccount:compute@developer.gserviceaccount.com \
      --role=roles/run.invoker
    

4. 启用ALB请求日志定位问题

默认ALB不记录日志,需手动启用:

  • 进入GCP控制台负载均衡器页面,找到目标ALB,点击编辑 -> 高级配置 -> 日志记录,启用日志并指定Cloud Storage存储桶或BigQuery数据集。
  • 日志生成后,查看requestMirrorStatus字段,确认镜像请求的状态码和错误信息,定位转发失败的具体原因。

5. 检查Cloud Run的并发配额与实例限制

若Cloud Run服务的并发或实例配额已满,镜像请求可能被丢弃:

  • 查看Cloud Run服务的指标(控制台->Cloud Run->服务->指标),检查并发请求数是否接近配额上限。
  • 若需要,调整Cloud Run服务的并发和实例设置:
    gcloud run services update cloudrun-app01-web-training --max-instances=50 --concurrency=80
    

6. 确认路由规则的优先级与匹配逻辑

确保镜像规则的优先级不会被其他规则覆盖:

  • 检查所有路径匹配器的priority值,path-matcher-5的routeRules优先级(10)应低于其他可能拦截prefixMatch: /的规则(优先级数值越小,优先级越高)。
  • 确认没有其他路由规则提前拦截了需要镜像的流量。

内容的提问来源于stack exchange,提问作者Maxxer

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.17 01:20:18