NetScaler VPX

在主动-备用高可用性设置中配置 GSLB

可以通过三个步骤在 Azure 上的主动-备用高可用性部署中配置全局服务器负载平衡 (GSLB):

  1. 在每个 GSLB 站点上创建一个 VPX 高可用性对。 有关如何创建 HA 对的信息,请参阅 使用多个 IP 地址和 NIC 配置高可用性设置

  2. 使用前端 IP 地址和规则配置 Azure 负载均衡器 (ALB),以允许传输 GSLB 和 DNS 流量。

    此步骤涉及以下子步骤。 请参阅本部分中的场景,了解用于完成这些子步骤的 PowerShell 命令。

    a。 a. 为 GSLB 站点创建一个前端 IPconfig

    a。 b. 创建一个后端地址池,其 IP 地址为高可用性中的节点的 NIC 1/1。

    a。 c. 为以下对象创建负载平衡规则:

      TCP/3009 – gslb communication
      TCP/3008 - gslb communication
      UDP/53 - DNS communication
    

    d. d. 将后端地址池与在步骤 c 中创建的 LB 规则相关联。

    e. e. 更新两个 HA 对中节点的 NIC 1/1 的网络安全组,以允许 TCP 3008、TCP 3009 和 UDP 53 端口的流量。

  3. 在每个高可用性对上启用 GSLB。

场景

此场景包括两个站点 - 站点 1 和站点 2。 每个站点都有一个配置了多个 NIC、多个 IP 地址和 GSLB 的高可用性对(HA1 和 HA2)。

图: Azure 上主动-备用高可用性部署中的 GLSB

高可用性 1 和 2

在此场景中,每个 VM 都有三个 NIC - NIC 0/1、1/1 和 1/2。 这些 NIC 配置为用于以下用途。

NIC 0/1:服务管理流量

NIC 1/1:服务客户端流量

NIC 1/2:与后端服务器通信

参数设置

下面是 ALB 的示例参数设置。 如果需要,可以使用不同的设置。

  $locName="South east Asia"

  $rgName="MulitIP-MultiNIC-RG"

  $pubIPName4="PIPFORGSLB1"

  $domName4="vpxgslbdns"

  $lbName="MultiIPALB"

  $frontEndConfigName2="FrontEndIP2"

  $backendPoolName1="BackendPoolHttp"

  $lbRuleName2="LBRuleGSLB1"

  $lbRuleName3="LBRuleGSLB2"

  $lbRuleName4="LBRuleDNS"

  $healthProbeName="HealthProbe"

使用前端 IP 地址和规则配置 ALB 以允许传输 GSLB 和 DNS 流量

步骤 1. 步骤 1.为 GSLB 站点 IP 创建公用 IP

  $pip4=New-AzureRmPublicIpAddress -Name $pubIPName4 -ResourceGroupName $rgName -DomainNameLabel $domName4 -Location $locName -AllocationMethod Dynamic


  Get-AzureRmLoadBalancer -Name \$lbName -ResourceGroupName \$rgName | Add-AzureRmLoadBalancerFrontendIpConfig -Name \$frontEndConfigName2 -PublicIpAddress \$pip4 | Set-AzureRmLoadBalancer

步骤 2. 步骤 2.创建 LB 规则并更新现有 ALB

  $alb = get-AzureRmLoadBalancer -Name $lbName -ResourceGroupName $rgName


  $frontendipconfig2=Get-AzureRmLoadBalancerFrontendIpConfig -LoadBalancer $alb -Name $frontEndConfigName2


  $backendPool=Get-AzureRmLoadBalancerBackendAddressPoolConfig -LoadBalancer $alb -Name $backendPoolName1


  $healthprobe=Get-AzureRmLoadBalancerProbeConfig -LoadBalancer $alb -Name $healthProbeName


  \$alb | Add-AzureRmLoadBalancerRuleConfig -Name \$lbRuleName2 -BackendAddressPool \$backendPool -FrontendIPConfiguration  \$frontendipconfig2 -Protocol \"Tcp\" -FrontendPort 3009 -BackendPort 3009 -Probe \$healthprobe -EnableFloatingIP  | Set-AzureRmLoadBalancer


  \$alb | Add-AzureRmLoadBalancerRuleConfig -Name \$lbRuleName3 -BackendAddressPool \$backendPool -FrontendIPConfiguration  \$frontendipconfig2 -Protocol \"Tcp\" -FrontendPort 3008 -BackendPort 3008 -Probe \$healthprobe -EnableFloatingIP  | Set-AzureRmLoadBalancer


  \$alb | Add-AzureRmLoadBalancerRuleConfig -Name \$lbRuleName4 -BackendAddressPool \$backendPool -FrontendIPConfiguration  \$frontendipconfig2 -Protocol \"Udp\" -FrontendPort 53 -BackendPort 53 -Probe \$healthprobe -EnableFloatingIP  | Set-AzureRmLoadBalancer

在每个高可用性对上启用 GSLB

现在,每个 ALB 都有两个前端 IP 地址:ALB 1 和 ALB 2。 一个 IP 地址用于 LB 虚拟服务器,另一个用于 GSLB 站点 IP。

HA 1 具有以下前端 IP 地址:

  • FrontEndIPofALB1 (适用于 LB 虚拟服务器)
  • PIPFORGSLB1 (GSLB IP)

HA 2 具有以下前端 IP 地址:

  • FrontEndIPofALB2 (适用于 LB 虚拟服务器)
  • PIPFORGSLB2 (GSLB IP)

以下命令用于此场景。

  enable ns feature LB GSLB

  add service dnssvc PIPFORGSLB1 ADNS 53

  add gslb site site1 PIPFORGSLB1 -publicIP PIPFORGSLB1

  add gslb site site2 PIPFORGSLB2 -publicIP PIPFORGSLB2

  add gslb service site1_gslb_http_svc1 FrontEndIPofALB1 HTTP 80 -publicIP FrontEndIPofALB1 -publicPort 80 -siteName site1

  add gslb service site2_gslb_http_svc1 FrontEndIPofALB2 HTTP 80 -publicIP FrontEndIPofALB2 -publicPort 80 -siteName site2

  add gslb vserver gslb_http_vip1 HTTP

  bind gslb vserver gslb_http_vip1 -serviceName site2_gslb_http_svc1

  bind gslb vserver gslb_http_vip1 -serviceName site1_gslb_http_svc1

  bind gslb vserver gslb_http_vip1 -domainName www.gslbindia.com -TTL 5

相关资源

在 NetScaler VPX 实例上配置 GSLB

全局服务器负载平衡

在主动-备用高可用性设置中配置 GSLB