NetScaler VPX 14.1

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

グローバルサーバーロードバランシング (GSLB) 用に構成されたNetScalerアプライアンスは、WANにおける障害点から保護することで、アプリケーションのディザスタリカバリと継続的な可用性を提供します。GSLBは、クライアント要求を最も近い、または最もパフォーマンスの高いデータセンターに、あるいは障害が発生した場合には稼働中のデータセンターに誘導することで、データセンター間で負荷を分散できます。

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

注:

GSLBの詳細については、「グローバルサーバーロードバランシング」を参照してください。

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

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

注:

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

シナリオ

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

図。 2つのサイト (サイト1とサイト2) に実装されたGSLBセットアップ。

VPX Azure ジーエスエルビー トポロジ

このシナリオでは、各VMにはNIC 0/1、1/1、1/2の3つのNICがあります。各NICは複数のプライベートIPアドレスとパブリック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-->

VMを作成する

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

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

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

  3. 可用性セットを作成する

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

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

  6. 「NICを作成する」(/ja-jp/vpx/current-release/deploy-vpx-on-azure/configuring-gslb-on-citrix-adc-vpx-appliance.html#create-nics)

  7. 「VM構成オブジェクトを作成する」(/ja-jp/vpx/current-release/deploy-vpx-on-azure/configuring-gslb-on-citrix-adc-vpx-appliance.html#create-vm-config-object)

  8. 「VMの資格情報を取得し、OSプロパティを設定する」(/ja-jp/vpx/current-release/deploy-vpx-on-azure/configuring-gslb-on-citrix-adc-vpx-appliance.html#get-credentials-and-set-os-properties)

  9. 「NICを追加する」(/ja-jp/vpx/current-release/deploy-vpx-on-azure/configuring-gslb-on-citrix-adc-vpx-appliance.html#add-nics)

  10. 「OSディスクを指定してVMを作成する」(/ja-jp/vpx/current-release/deploy-vpx-on-azure/configuring-gslb-on-citrix-adc-vpx-appliance.html#specify-os-disk-and-create-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-->

注:

「Create Multi-NIC VMs by Using PowerShell Commands」に記載されている手順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用にNetScaler 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サイトとその他の必要な設定を構成します。

グローバルサーバーロードバランシング

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で実行されているNetScaler VPXインスタンスにGSLBを構成しました。

ディザスタリカバリ

ディザスタとは、自然災害または人為的な事象によって引き起こされるビジネス機能の突然の停止です。ディザスタはデータセンターの運用に影響を与え、その後、ディザスタサイトで失われたリソースとデータは完全に再構築および復元される必要があります。データセンターでのデータの損失またはダウンタイムは致命的であり、事業継続性を崩壊させます。

今日、顧客が直面している課題の1つは、DRサイトをどこに置くかを決定することです。企業は、基盤となるインフラストラクチャやネットワークの障害に関係なく、一貫性とパフォーマンスを求めています。

多くの組織がクラウドへの移行を決定している可能性のある理由は次のとおりです。

  • オンプレミスのデータセンターを持つことは非常に高価です。クラウドを使用することで、企業は自社システムの拡張から時間とリソースを解放できます。

  • 多くの自動化されたオーケストレーションにより、より迅速なリカバリが可能になります。

  • 継続的なデータ保護または継続的なスナップショットを提供することでデータをレプリケートし、あらゆる停止や攻撃から保護します。

  • 顧客がパブリッククラウドにすでに存在する、さまざまな種類のコンプライアンスおよびセキュリティ制御を必要とするユースケースをサポートします。これにより、独自のものを構築するよりも、必要なコンプライアンスを達成しやすくなります。

GSLB用に構成されたNetScalerは、最も負荷の低い、または最もパフォーマンスの高いデータセンターにトラフィックを転送します。アクティブ/アクティブ設定と呼ばれるこの構成は、パフォーマンスを向上させるだけでなく、設定の一部であるデータセンターがダウンした場合に他のデータセンターにトラフィックをルーティングすることで、即座の災害復旧も提供します。これにより、NetScalerは顧客の貴重な時間と費用を節約します。

災害復旧のためのマルチNICマルチIP(3NIC)展開

セキュリティ、冗長性、可用性、容量、スケーラビリティが重要となる本番環境に展開する場合、顧客は3NIC展開を使用する可能性があります。この展開方法では、複雑さや管理の容易さはユーザーにとって重要な懸念事項ではありません。

災害復旧のためのシングルNICマルチIP(1NIC)展開

顧客は、以下の理由により、非本番環境に展開する場合、1NIC展開を使用する可能性があります。

  • テスト用の環境をセットアップしている、または本番展開の前に新しい環境をステージングしている場合。

  • クラウドに迅速かつ効率的に直接展開する場合。

  • 単一サブネット構成のシンプルさを求めている場合。

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