使用内容切换配置 GSLB 服务选择

在典型的 GSLB 部署中,您可以优先选择绑定到 GSLB 虚拟服务器的一组 GSLB 服务,但无法执行以下操作:

  • 限制从绑定到给定域的 GSLB 虚拟服务器的 GSLB 服务子集中选择 GSLB 服务。
  • 对部署中的 GSLB 服务的不同子集应用不同的负载平衡方法。
  • 对 GSLB 服务的子集应用溢出策略,并且您无法备份 GSLB 服务的子集。
  • 配置 GSLB 服务的子集以提供不同的内容。也就是说,您不能在不同的 GSLB 站点中的服务器之间进行内容切换。GSLB 配置假定服务器包含相同的内容。
  • 定义具有不同优先级的子集 GSLB 服务,并指定子集中的服务应用于请求的顺序。

您现在可以配置内容交换 (CS) 策略以自定义 GSLB 部署。首先配置一组 GSLB 服务并将其绑定到 GSLB 虚拟服务器。然后,配置目标类型 GSLB 的 CS 虚拟服务器,将 GSLB 虚拟服务器定义为目标虚拟服务器的 CS 策略和操作,并将 CS 策略绑定到 CS 虚拟服务器。

重要

  • 只有具有基于 DNS 的表达式的 CS 策略才能绑定到目标类型 GSLB 的 CS 虚拟服务器。
  • 如果 GLSB 服务通过 GSLB 虚拟服务器绑定到 CS 虚拟服务器,则无法将与同一 GSLB 服务绑定的另一个 GSLB 虚拟服务器绑定到 CS 虚拟服务器。

示例 考虑包含两个 GSLB 站点的 GLSB 部署。在每个站点,四项 GSLB 服务(S-1、S-2、S-3 和 S-4)都绑定到 GSLB 虚拟服务器 VS-1。您可以配置目标类型 GSLB 的内容交换 (CS) 虚拟服务器,并定义以 VS-1 作为目标虚拟服务器的 CS 策略和操作,以便英语内容请求仅由 S-1 和 S-2 提供服务,而对本地语言内容的请求仅由 S-3 和 S-4 提供服务。

您可以通过将备份虚拟服务器配置为 VS-1 并将 S-2 绑定到备份虚拟服务器来赋予 S-1 优先权。S-1 服务于客户的请求。如果服务器 S-1 表示出现故障,则 S-2 提供请求。如果 S-1 和 S-2 都关闭,客户端将收到空响应。

要使用内容切换配置 GSLB 服务选择,请执行以下操作:

  1. 配置 GSLB。相关说明,请参阅配置全局服务器负载平衡
  2. 配置目标类型 GSLB 的内容交换 (CS) 虚拟服务器。有关详细信息,请参阅创建内容交换虚拟服务器
  3. 配置内容交换 (CS) 策略。有关详细信息,请参阅配置内容交换策略
  4. 配置将 GSLB 虚拟服务器指定为目标虚拟服务器的 CS 操作。有关详细信息,请参阅配置内容切换操作
  5. 将 CS 策略绑定到 CS 虚拟服务器。有关详细信息,请参阅将策略绑定到内容交换虚拟服务器
  6. 将域绑定到 CS 虚拟服务器,而不是 GSLB 虚拟服务器。

示例配置

以下示例配置将来自 IP 地址 5.5.5.5 的客户端的请求发送到服务器服务 _GSLB1 和服务 _GSLB2。服务 _GSLB1 具有比服务 _GSLB2 更高的优先级,并且服务 _GSLB2 仅在服务 _GSLB1 关闭时服务客户端请求。如果服务 _GSLB1 和服务 _GSLB2 都已关闭,则不考虑服务 _GSLB3 和服务 GSLB4,并且将向客户端发送空白响应。

add cs vs CSVSERVER_GSLB http –targettype GSLB
Done
add gslb vs VSERVER_GSLB1 http
Done
add gslb vs VSERVER_GSLB2 http
Done
add gslb vs VSERVER_GSLB_BACKUP1 http
Done
set gslb vs VSERVER_GSLB1 -backupvserver VSERVER_GSLB_BACKUP1
Done
add gslb service SERVICE_GSLB1 1.1.1.1 HTTP 80 -sitename site1
Done
add gslb service SERVICE_GSLB2 1.1.1.2 HTTP 80 -sitename site1
Done
add gslb service SERVICE_GSLB3 1.1.1.3 HTTP 80 -sitename site2
Done
add gslb service SERVICE_GSLB4 1.1.1.4 HTTP 80 -sitename site2
Done
bind gslb vs VSERVER_GSLB1 -servicename SERVICE_GSLB1
Done
bind gslb vs VSERVER_GSLB_BACKUP1 -servicename SERVICE_GSLB2
Done
bind gslb vs VSERVER_GSLB2 -servicename SERVICE_GSLB3
Done
bind gslb vs VSERVER_GSLB2 -servicename SERVICE_GSLB4
Done
add cs action a1 -targetvserver VSERVER_GSLB1
Done
add cs policy p1 -rule "CLIENT.IP.SRC.EQ(5.5.5.5)" -action a1
Done
bind cs vs CSVSERVER_GSLB -domainName www.abc.com
Done
bind cs vs CSVSERVER_GSLB -policyname p1 -priority 1
Done
add cs action a2 -targetvserver VSERVER_GSLB2
Done
add cs policy p2 -rule "CLIENT.IP.SRC.EQ(6.6.6.6)" -action a2
Done
bind cs vs CSVSERVER_GSLB -policyname p2 -priority 2
Done

将目标虚拟服务器表达式关联到 GSLB 内容切换操作

现在,您可以将目标虚拟服务器表达式与 GSLB 内容切换操作关联。这允许 GSLB 内容交换虚拟服务器在处理 DNS 请求时使用策略表达式撰写目标 GSLB 虚拟服务器名称。

使用 CLI 配置指定表达式的内容切换操作

在命令提示符处,键入以下命令以配置内容切换操作以检索 HTTP 标注响应。

add cs action <name> -targetVserverExpr <expression>

示例:

add cs action csact_GSLB_VServer -targetVserverExpr "SYS.HTTP_CALLOUT(GSLB_Method_API)"

配置使用 GUI 指定表达式的内容切换操作的步骤

  1. 导航到 流量管理 > 内容切换 > 操作
  2. 配置内容切换操作,并指定动 计算目标负载平衡虚拟服务器名称的表达式。

使用内容切换配置 GSLB 服务选择