如何为GCP全球外部负载均衡器配置Cloud Run默认服务?
GCP全球外部负载均衡器配置Cloud Run默认服务(根域名转发)
要实现访问基础域名(如example.com)时转发到指定的default-service Cloud Run服务,你需要单独为默认服务创建Serverless NEG和后端服务,再通过URL Map配置路径优先级规则,具体步骤如下:
1. 创建默认服务的Serverless NEG
为default-service单独创建一个Serverless网络端点组,直接关联该Cloud Run服务:
gcloud compute network-endpoint-groups create default-service-neg \ --region=$REGION \ --network-endpoint-type=serverless \ --cloud-run-service=default-service
2. 创建默认服务的后端服务
创建对应的全局后端服务,用于承载默认服务的NEG:
gcloud compute backend-services create default-backend-service \ --load-balancing-scheme=EXTERNAL_MANAGED \ --global
3. 将默认NEG关联到后端服务
把步骤1创建的NEG添加到新的后端服务中:
gcloud compute backend-services add-backend default-backend-service \ --global \ --network-endpoint-group=default-service-neg \ --network-endpoint-group-region=$REGION
4. 更新URL Map配置根路径规则
修改已有的URL Map,添加**精确匹配根路径(/)**的规则,让根域名请求优先转发到默认服务,其余路径仍沿用原有的后端服务配置:
gcloud compute url-maps add-path-matcher $URL_MAP_NAME \ --default-service=$BACKEND_SERVICE_NAME \ --path-matcher-name=root-default-matcher \ --path-rules="/=default-backend-service"
说明
- 原有的NEG通过
--cloud-run-url-mask="${BASE_URL}/<service>"规则,将/login、/api等路径映射到对应名称的Cloud Run服务,这个逻辑不受影响。 - URL Map的路径规则按匹配优先级执行,精确匹配
/的规则会优先于默认服务,确保根域名请求直接转发到default-service。
内容的提问来源于stack exchange,提问作者Raphael
相关产品推荐
相关产品推荐

