アクティブ/スタンバイ高可用性セットアップでGSLBを構成する
Azure上のアクティブ/スタンバイHA展開で、グローバルサーバー負荷分散 (GSLB) を次の3つのステップで構成できます。
-
各GSLBサイトでVPX HAペアを作成します。HAペアの作成方法については、複数のIPアドレスとNICを使用した高可用性セットアップの構成を参照してください。
-
フロントエンドIPアドレスとルールを使用して、GSLBおよびDNSトラフィックを許可するようにAzure Load Balancer (ALB) を構成します。
このステップには、次のサブステップが含まれます。これらのサブステップを完了するために使用されるPowerShellコマンドについては、このセクションのシナリオを参照してください。
a. GSLBサイト用にフロントエンド
IPconfigを作成します。b. HA内のノードのNIC 1/1のIPアドレスを使用して、バックエンドアドレスプールを作成します。
c. 次の負荷分散ルールを作成します。
TCP/3009 – gslb communication TCP/3008 - gslb communication UDP/53 - DNS communicationd. バックエンドアドレスプールを、ステップcで作成されたLBルールに関連付けます。
e. HAペアの両方のノードのNIC 1/1のネットワークセキュリティグループを更新して、TCP 3008、TCP 3009、およびUDP 53ポートのトラフィックを許可します。
-
各HAペアでGSLBを有効にします。
シナリオ
このシナリオには、サイト1とサイト2の2つのサイトが含まれます。各サイトには、複数のNIC、複数のIPアドレス、およびGSLBで構成されたHAペア (HA1とHA2) があります。
図: Azure上のアクティブ/スタンバイHA展開におけるGSLB

このシナリオでは、各VMには3つの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"
GSLBおよびDNSトラフィックを許可するためのフロントエンドIPアドレスとルールでALBを構成する
ステップ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. 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(ALB 1とALB 2)に2つのフロントエンドIPアドレスがあります。1つのIPアドレスはLB仮想サーバー用で、もう1つはGSLBサイトIP用です。
HA 1には以下のフロントエンドIPアドレスがあります。
- ALB1のフロントエンドIP (LB仮想サーバー用)
- PIPFORGSLB1 (広域負荷分散 IPアドレス)
HA 2には以下のフロントエンドIPアドレスがあります。
- FrontEndIPofALB2 (ロードバランサー仮想サーバー用)
- PIPFORGSLB2 (ジーエスエルビー アイピーアドレス)
このシナリオでは、以下のコマンドが使用されます。
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
関連リソース: