使用网址映射

本指南介绍如何配置 Trusted Cloud网址映射。网址映射是一组规则,用于将传入 HTTP(S) 请求路由到特定的后端服务。最简单的网址映射与所有传入请求路径 (/*) 都匹配。

在阅读本指南之前,请先熟悉一下网址映射概念

网址映射与以下 Trusted Cloud 产品结合使用:

与区域级外部应用负载均衡器和区域级内部应用负载均衡器搭配使用的网址映射还支持多种高级流量管理功能。如需了解详情,请参阅网址映射概念:高级流量管理

网址映射默认值

网址映射有两个默认值,如下表所述。

默认类型 设置 含义
网址映射默认值 gcloud compute url-maps create

--default-service

如果路径匹配器或主机规则与传入的网址均不匹配,则使用指定的默认后端服务 。
路径匹配器默认值 gcloud compute url-maps add-path-matcher

--default-service

如果网址的路径与路径匹配器匹配,但没有任何指定的 --path-rules 匹配,则使用指定的默认后端服务 。

主机规则

主机规则定义了一组要匹配请求的主机。

在主机规则中,主机名必须是完全限定域名 (FQDN)。主机名不能是 IPv4 或 IPv6 地址。例如:

  • 运行:example.com
  • 运行:web.example.com
  • 运行:*.example.com
  • 不能运行:35.244.221.250

配置网址映射

网址映射可以将流量发送到后端服务不支持后端存储桶。

控制台

如需使用 Trusted Cloud 控制台添加网址映射,请执行以下步骤:

  1. 打开负载均衡页面。

    转到“负载均衡”

  2. 点击负载均衡器的名称
  3. 负载均衡器详情页面上,点击所选负载均衡器对应的 修改
  4. 选择主机和路径规则
  5. 点击添加主机和路径规则
  6. 填写主机字段和/或路径字段,然后选择一个后端服务

    1. 输入完全限定的主机名,例如 web.example.com
    2. 输入路径,例如 /video
    3. 主机和路径规则页面的后端菜单中,选择可用的后端服务。
  7. 主机和路径规则左侧看到蓝色对勾标记后,点击更新按钮。

gcloud

如需使用 Google Cloud CLI 添加网址映射,请使用 url-maps create 命令:

gcloud compute url-maps create URL_MAP_NAME \
   (--default-service=DEFAULT_SERVICE) \
   [--description DESCRIPTION] \
   [--region=REGION]

对于区域级外部应用负载均衡器和内部应用负载均衡器,请务必在创建网址映射时添加 --region 标志。

如需创建路径匹配器,请使用 gcloud compute url-maps add-path-matcher 命令:

gcloud compute url-maps add-path-matcher URL_MAP_NAME \
   (--default-service=DEFAULT_SERVICE) \
   --path-matcher-name PATH_MATCHER \
   [--path-rules="PATH=SERVICE"]

该命令需要一项默认后端服务 ,以便向其发送不匹配的请求。--path-rules 标志定义请求路径与后端服务之间的映射。以下示例将请求路径 /video//video/* 路由到 video-service 后端服务:

--path-rules="/video=video-service,/video/*=video-service"

如需创建主机规则,请使用 gcloud compute url-maps add-host-rule 命令:

gcloud compute url-maps add-host-rule URL_MAP_NAME \
    --hosts=[HOSTS] --path-matcher-name=PATH_MATCHER

例如,以下 --hosts 值将匹配针对 www.example.com 以及 altostrat.com 的任何子网域的请求:

--hosts=[*.altostrat.com,www.example.com]

如需更改网址映射的默认服务 ,请使用 url-maps set-default-service 命令:

gcloud compute url-maps set-default-service URL_MAP_NAME
  (--default-service=DEFAULT_SERVICE)[GCLOUD_WIDE_FLAG ...]

Terraform

如需创建区域性网址映射,请使用 google_compute_region_url_map 资源

resource "google_compute_region_url_map" "default" {
  name            = "regional-l7-xlb-map"
  region          = "us-west1"
  default_service = google_compute_region_backend_service.default.id
}

列出网址映射

控制台

您无法在 Trusted Cloud 控制台中列出所有网址映射。

gcloud

如需使用 Google Cloud CLI 显示网址映射列表,请使用 url-maps list 命令。

gcloud compute url-maps list

获取有关网址映射的信息

控制台

要获取有关网址映射的信息,请执行以下步骤:

  1. 打开负载均衡页面。

    转到“负载均衡”

  2. 点击负载均衡器的名称
  3. 负载均衡器详情页面上,点击所选负载均衡器对应的 修改
  4. 查看主机和路径规则

gcloud

如需使用 Google Cloud CLI 获取单个网址映射的相关信息,请使用 url-maps describe 命令。

gcloud compute url-maps describe URL_MAP_NAME

删除网址映射

仅在删除引用网址映射的所有目标代理后,您才能删除该网址映射。如需了解详情,请参阅删除目标代理

控制台

要删除网址映射,请执行以下步骤:

  1. 打开负载均衡页面。

    转到“负载均衡”

  2. 点击负载均衡器的名称
  3. 负载均衡器详情页面上,点击所选负载均衡器对应的 修改
  4. 负载均衡器详情页面上,查看主机和路径规则
  5. 点击网址映射右侧的“X”将其删除,相应网址映射会随即消失。
  6. 主机和路径规则左侧看到蓝色对勾标记后,点击更新按钮。

gcloud

如需使用 Google Cloud CLI 删除网址映射,请使用 url-maps delete 命令。必须先删除引用该网址映射的所有目标 HTTP 代理,才能删除该网址映射。

gcloud compute url-maps delete URL_MAP_NAME [--quiet]

删除路径匹配器

控制台

如需删除路径匹配器,请执行以下步骤:

  1. 打开负载均衡页面。

    转到“负载均衡”

  2. 点击负载均衡器的名称
  3. 负载均衡器详情页面上,点击所选负载均衡器对应的 修改
  4. 选择主机和路径规则
  5. 在现有网址映射的路径字段中,点击路径匹配器名称上的“x”。
  6. 主机和路径规则左侧看到蓝色对勾标记后,点击更新按钮。

gcloud

如需删除路径匹配器,请使用 gcloud compute url-maps remove-path-matcher 命令:

gcloud compute url-maps remove-path-matcher URL_MAP_NAME \
   [--path-matcher-name PATH_MATCHER]

删除主机规则

控制台

要删除主机规则,请执行以下步骤:

  1. 如果您已不在主机和路径规则页面上,请进入负载均衡页面。

    转到“负载均衡”

  2. 点击负载均衡器的名称
  3. 负载均衡器详情页面上,点击所选负载均衡器对应的 修改
  4. 选择主机和路径规则
  5. 在现有网址映射的主机字段中,点击主机名称上的“x”。
  6. 主机和路径规则左侧看到蓝色对勾标记后,点击更新按钮。

gcloud

要从网址映射中删除主机规则,请使用 gcloud compute url-maps remove-host-rule 命令:

gcloud compute url-maps remove-host-rule URL_MAP_NAME --host=HOST

例如,要从名为 my-map 的网址映射中移除包含主机 altostrat.com 的主机规则,请运行以下命令:

gcloud compute url-maps remove-host-rule my-map --host altostrat.com

流量管理指南

并非所有网址映射都能用于所有产品。网址映射与负载均衡器一起使用,以支持多种高级流量管理功能并非支持所有这些功能。

请使用下表了解管理作业的网址映射功能。

产品 网址映射功能和流量管理指南
区域级外部应用负载均衡器 负载均衡器功能:路由和流量管理

流量管理概览

设置流量管理

设置网址重定向

设置 HTTP 到 HTTPS 重定向

主机名和路径

路由请求

Cookie

内部应用负载均衡器 负载均衡器功能:路由和流量管理

流量管理概览

设置流量管理

设置网址重定向

设置 HTTP 到 HTTPS 重定向

Cookie

主机名和路径

API 和 gcloud CLI 参考

除了 Trusted Cloud 控制台之外,您还可以使用 API 和 gcloud CLI 来创建网址映射。

API

如需了解通过 REST API 使用 URL 映射时可用的属性和方法的说明,请参阅以下内容:

产品 API 文档
外部应用负载均衡器 urlMaps
内部应用负载均衡器 regionUrlMaps

gcloud CLI

对于 Google Cloud CLI 中的 Google Cloud CLI,请参阅以下内容:

  • 区域级:--region=[REGION]

如需高级流量管理,请使用 YAML 文件并使用 gcloud compute url-maps import 命令导入这些文件。

后续步骤