ADC

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

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

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

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

重要

  • 只有带有基于 DNS 表达式的 CS 策略才能绑定到目标类型 GSLB 的 CS 虚拟服务器。
  • 如果通过 GSLB 虚拟服务器将 GLSB 服务绑定到 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 提供对本地语言内容的请求。

您可以将 S-1 的备份虚拟服务器配置为 VS-1,然后将 S-2 绑定到备份虚拟服务器。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 的客户端向 SERVICE_GSLB1 和 SERVICE_GSLB2 发送请求。SERVICE_GSLB1 的优先级比 SERVICE_GSLB2 高,而且 SERVICE_GSLB2 只有在 SERVICE_GSLB1 关闭时才会处理客户端请求。如果 SERVICE_GSLB1 和 SERVICE_GSLB2 都已关闭,则不考虑 SERVICE_GSLB3 和 service-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
<!--NeedCopy-->

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

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

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

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

add cs action <name> -targetVserverExpr <expression>
<!--NeedCopy-->

示例:

add cs action csact_GSLB_VServer -targetVserverExpr "SYS.HTTP_CALLOUT(GSLB_Method_API)"
<!--NeedCopy-->

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

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