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