ネットスケーラーVPX12-1

Citrix ADC VPXインスタンスでGSLBを構成する

グローバル サーバー ロード バランシング (GSLB) 用に構成された Citrix ADC アプライアンスは、ワイド エリア ネットワーク (WAN) の障害点から保護することで、アプリケーションの災害復旧と継続的な可用性を実現します。 GSLB は、クライアント要求を最も近いデータセンターまたは最もパフォーマンスの高いデータセンターに転送したり、障害が発生した場合に残存するデータセンターに転送したりすることで、データセンター間で負荷を分散できます。

このセクションでは、Windows PowerShellコマンドを使用して、Microsoft Azure環境の2つのサイトのVPXインスタンスでGSLBを有効にする方法について説明します。

GSLB の詳細については、「 グローバル サーバー負荷分散」を参照してください。

Azure 上の Citrix ADC VPX インスタンスで GSLB を構成するには、次の 2 つの手順を実行します。

  1. 各サイトに、複数の NIC と複数の IP アドレスを持つ VPX インスタンスを作成します
  2. VPX インスタンスで GSLB を有効にします

複数の NIC と IP アドレスの構成の詳細については、以下を参照してください。 PowerShell コマンドを使用して、スタンドアロン モードで Citrix ADC VPX インスタンスに複数の IP アドレスを構成する

シナリオ

このシナリオには、2つのサイト(Site 1とSite 2)が含まれています。 各サイトのVM(VM1とVM2)には、複数のNIC、複数のIPアドレス、およびGSLBが構成されています。

図. GSLB セットアップは、サイト 1 とサイト 2 の 2 つのサイトに実装されています。

ローカライズされた画像

このシナリオでは、各VMには3つのNIC(NIC 0/1、1/1、1/2)が設定されています。 各NICに複数のプライベートおよびパブリックIPアドレスを設定できます。 これらのNICは次の目的で構成されています。

  • NIC 0/1:管理トラフィックを提供する
  • NIC 1/1:クライアント側のトラフィックを提供する
  • NIC 1/2:バックエンドサーバーと通信する

このシナリオで各NICに設定されているIPアドレスの詳細については、 IP 構成の詳細 セクション。

パラメーター

このドキュメントのこのシナリオのサンプルパラメーター設定は、次のとおりです。


  $location="West Central US"

  $vnetName="NSVPX-vnet"

  $RGName="multiIP-RG"

  $prmStorageAccountName="multiipstorageaccnt"

  $avSetName="MultiIP-avset"

  $vmSize="Standard\_DS3\_V2"

<!--NeedCopy-->

 VPX インスタンスの最小要件は、2 つの vCPU と 2 GB の RAM です。


  $publisher="citrix"

  $offer="netscalervpx111"

  $sku="netscalerbyol"

  $version="latest"

  $vmNamePrefix="MultiIPVPX"

  $nicNamePrefix="MultiipVPX"

  $osDiskSuffix="osdiskdb"

  $numberOfVMs=1

  $ipAddressPrefix="10.0.0."

  $ipAddressPrefix1="10.0.1."

  $ipAddressPrefix2="10.0.2."

  $pubIPName1="MultiIP-pip1"

  $pubIPName2="MultiIP-pip2"

  $IpConfigName1="IPConfig1"

  $IPConfigName2="IPConfig-2"

  $IPConfigName3="IPConfig-3"

  $IPConfigName4="IPConfig-4"

  $frontendSubnetName="default"

  $backendSubnetName1="subnet\_1"

  $backendSubnetName2="subnet\_2"

  $suffixNumber=10

<!--NeedCopy-->

仮想マシンの作成

PowerShell コマンドを使用して、手順 1 ~ 10 に従い、複数の NIC と複数の IP アドレスを持つ VM1 を作成します。

1. リソースグループを作成する

2. ストレージアカウントを作成

3. 可用性セットを作成

4. 仮想ネットワークを作成

5. パブリックIPアドレスを作成

6. NICを作成する

7. VM 構成オブジェクトを作成

8.資格情報を取得し、VM の OS プロパティを設定する

9. NICを追加

10.OSディスクを指定してVMを作成する

すべての手順とコマンドを完了してVM1を作成した後で、これらの手順を繰り返してVM2固有のパラメーターでVM2を作成します。

リソースグループの作成

  New-AzureRMResourceGroup -Name $RGName -Location $location
<!--NeedCopy-->

ストレージアカウントの作成

  $prmStorageAccount=New-AzureRMStorageAccount -Name $prmStorageAccountName -ResourceGroupName $RGName -Type Standard_LRS -Location $location
<!--NeedCopy-->

アベイラビリティセットの作成

  $avSet=New-AzureRMAvailabilitySet -Name $avSetName -ResourceGroupName $RGName -Location $location
<!--NeedCopy-->

仮想ネットワークの作成

1. サブネットを追加します。

  $subnet1=New-AzureRmVirtualNetworkSubnetConfig -Name $frontendSubnetName -AddressPrefix "10.0.0.0/24"
  $subnet2=New-AzureRmVirtualNetworkSubnetConfig -Name $backendSubnetName1 -AddressPrefix "10.0.1.0/24"
  $subnet3=New-AzureRmVirtualNetworkSubnetConfig -Name $backendSubnetName2 -AddressPrefix "10.0.2.0/24"
<!--NeedCopy-->

2. 仮想ネットワークオブジェクトを追加します。

  $vnet=New-AzureRmVirtualNetwork -Name $vnetName -ResourceGroupName $RGName -Location $location -AddressPrefix 10.0.0.0/16 -Subnet $subnet1, $subnet2, $subnet3
<!--NeedCopy-->

3. サブネットを取得します。

  $frontendSubnet=$vnet.Subnets|?{$_.Name -eq $frontendSubnetName}
  $backendSubnet1=$vnet.Subnets|?{$_.Name -eq $backendSubnetName1}
  $backendSubnet2=$vnet.Subnets|?{$_.Name -eq $backendSubnetName2}
<!--NeedCopy-->

パブリック IP アドレスの作成

  $pip1=New-AzureRmPublicIpAddress -Name $pubIPName1 -ResourceGroupName $RGName -Location $location -AllocationMethod Dynamic
  $pip2=New-AzureRmPublicIpAddress -Name $pubIPName2 -ResourceGroupName $RGName -Location $location -AllocationMethod Dynamic
<!--NeedCopy-->

NIC の作成

NIC 0/1の作成

  $nic1Name=$nicNamePrefix + $suffixNumber + "-Mgmnt"
  $ipAddress1=$ipAddressPrefix + $suffixNumber
  $IPConfig1=New-AzureRmNetworkInterfaceIpConfig -Name $IPConfigName1 -SubnetId $frontendSubnet.Id -PublicIpAddress $pip1 -PrivateIpAddress $ipAddress1 -Primary
  $nic1=New-AzureRMNetworkInterface -Name $nic1Name -ResourceGroupName $RGName -Location $location -IpConfiguration $IpConfig1
<!--NeedCopy-->

NIC 1/1の作成

  $nic2Name $nicNamePrefix + $suffixNumber + "-frontend"
  $ipAddress2=$ipAddressPrefix1 + ($suffixNumber)
  $ipAddress3=$ipAddressPrefix1 + ($suffixNumber + 1)
  $IPConfig2=New-AzureRmNetworkInterfaceIpConfig -Name $IPConfigName2 -PublicIpAddress $pip2 -SubnetId $backendSubnet1.Id  -PrivateIpAddress $ipAddress2  -Primary
  $IPConfig3=New-AzureRmNetworkInterfaceIpConfig -Name $IPConfigName3 -SubnetId $backendSubnet1.Id  -PrivateIpAddress $ipAddress3  
  nic2=New-AzureRMNetworkInterface -Name $nic2Name -ResourceGroupName $RGName -Location $location -IpConfiguration $IpConfig2, $IpConfig3
<!--NeedCopy-->

NIC 1/2の作成

  $nic3Name=$nicNamePrefix + $suffixNumber + "-backend"
  $ipAddress4=$ipAddressPrefix2 + ($suffixNumber)
  $IPConfig4=New-AzureRmNetworkInterfaceIpConfig -Name $IPConfigName4 -SubnetId $backendSubnet2.Id -PrivateIpAddress $ipAddress4 -Primary
  $nic3=New-AzureRMNetworkInterface -Name $nic3Name -ResourceGroupName $RGName -Location $location -IpConfiguration $IpConfig4
<!--NeedCopy-->

VM 設定オブジェクトの作成

  $vmName=$vmNamePrefix
  $vmConfig=New-AzureRMVMConfig -VMName $vmName -VMSize $vmSize -AvailabilitySetId $avSet.Id
<!--NeedCopy-->

認証情報の取得と OS プロパティの設定

  $cred=Get-Credential -Message "Type the name and password for VPX login."
  $vmConfig=Set-AzureRMVMOperatingSystem -VM $vmConfig -Linux -ComputerName $vmName -Credential $cred
  $vmConfig=Set-AzureRMVMSourceImage -VM $vmConfig -PublisherName $publisher -Offer $offer -Skus $sku -Version $version
<!--NeedCopy-->

NICの追加

  $vmConfig=Add-AzureRMVMNetworkInterface -VM $vmConfig -Id $nic1.Id -Primary
  $vmConfig=Add-AzureRMVMNetworkInterface -VM $vmConfig -Id $nic2.Id
  $vmConfig=Add-AzureRMVMNetworkInterface -VM $vmConfig -Id $nic3.Id
<!--NeedCopy-->

OSディスクの指定とVMの作成

  $osDiskName=$vmName + "-" + $osDiskSuffix
  $osVhdUri=$prmStorageAccount.PrimaryEndpoints.Blob.ToString() + "vhds/" +$osDiskName + ".vhd"
  $vmConfig=Set-AzureRMVMOSDisk -VM $vmConfig -Name $osDiskName -VhdUri $osVhdUri -CreateOption fromImage
  Set-AzureRmVMPlan -VM $vmConfig -Publisher $publisher -Product $offer -Name $sku
  New-AzureRMVM -VM $vmConfig -ResourceGroupName $RGName -Location $location
<!--NeedCopy-->

「PowerShell コマンドを使用してマルチ NIC VM を作成する」に記載されている手順 1 ~ 10 を繰り返して、VM2 固有のパラメータを使用して VM2 を作成します。

IP 構成の詳細

次のIPアドレスを使用します。

テーブル 1. VM1で使用するIPアドレス

NIC プライベートIP パブリックIP(PIP) 説明
0/1 10.0.0.10 PIP1 NSIP(管理IP)として構成
1/1 10.0.1.10 PIP2 SNIP/GSLB サイト IP として設定されています
- 10.0.1.11 - LB サーバ IP として設定されています。 パブリックIPアドレスは必須ではありません
1/2 10.0.2.10 - モニタプローブをサービスに送信するための SNIP として設定。 パブリック IP は必須ではありません。

表2. VM2で使用されるIPアドレス

NIC 内部IP パブリックIP(PIP) 説明
0/1 20.0.0.10 PIP4 NSIP(管理IP)として構成
1/1 20.0.1.10 PIP5 SNIP/GSLB サイト IP として設定されています
- 20.0.1.11 - LB サーバ IP として設定されています。 パブリックIPアドレスは必須ではありません
1/2 20.0.2.10 - モニタプローブをサービスに送信するための SNIP として設定。 パブリック IP は必須ではありません。

以下は、このシナリオのサンプル構成です。VM1 および VM2 の Citrix ADC VPX CLI を通じて作成された IP アドレスと初期 LB 構成を示しています。

VM1 での確認例を次に示します。

  add ns ip 10.0.1.10 255.255.255.0 -mgmtAccess ENABLED
  Add nsip 10.0.2.10 255.255.255.0
  add service svc1 10.0.1.10 ADNS 53
  add lb vserver v1 HTTP 10.0.1.11 80
  add service s1 10.0.2.120 http 80
  Add service s2 10.0.2.121 http 80
  Bind lb vs v1 s[1-2]
<!--NeedCopy-->

VM2 での確認例を次に示します。

  add ns ip 20.0.1.10 255.255.255.0  -mgmtAccess ENABLED
  Add nsip 20.0.2.10 255.255.255.0
  add service svc1 20.0.1.10 ADNS 53
  add lb vserver v1 HTTP 20.0.1.11 80
  Add service s1 20.0.2.90 http 80
  Add service s2 20.0.2.91 http 80
  Bind lb vs v1 s[1-2]
<!--NeedCopy-->

GSLB サイトおよびその他の設定を構成する

次のトピックで説明するタスクを実行して、2 つの GSLB サイトとその他の必要な設定を構成します。

Global Server Load Balancing

詳細については、次のサポート記事を参照してください。  https://support.citrix.com/article/CTX110348

VM1 と VM2 の GSLB 構成の例を次に示します。

  enable ns feature LB GSLB
  add gslb site site1 10.0.1.10 -publicIP PIP2
  add gslb site site2 20.0.1.10 -publicIP PIP5
  add gslb service site1_gslb_http_svc1 10.0.1.11 HTTP 80 -publicIP PIP3 -publicPort 80 -siteName site1
  add gslb service site2_gslb_http_svc1 20.0.1.11 HTTP 80 -publicIP PIP6 -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
<!--NeedCopy-->

Azureで実行されているCitrix ADC VPXインスタンスでGSLBを構成しました。

Citrix ADC VPXインスタンスでGSLBを構成する