Configurar GSLB en instancias de Citrix ADC VPX
Los dispositivos Citrix ADC configurados para el equilibrio de carga global del servidor (GSLB) proporcionan recuperación ante desastres y disponibilidad continua de las aplicaciones al protegerse contra los puntos de falla en una WAN. GSLB puede equilibrar la carga entre los centros de datos dirigiendo las solicitudes de los clientes al centro de datos más cercano o de mejor rendimiento, o a centros de datos sobrevivientes si se produce una interrupción.
En esta sección se describe cómo habilitar GSLB en instancias VPX en dos sitios en un entorno de Microsoft Azure, mediante comandos de Windows PowerShell.
Nota:
Para obtener más información sobre GSLB, consulte Equilibrio de carga global del servidor.
Puede configurar GSLB en una instancia Citrix ADC VPX en Azure, en dos pasos:
- Cree una instancia VPX con varias NIC y varias direcciones IP en cada sitio.
- Habilite GSLB en las instancias VPX.
Nota:
Para obtener más información sobre cómo configurar varias NIC y direcciones IP, consulte: Configure varias direcciones IP para una instancia de Citrix ADC VPX en modo independiente mediante comandos de PowerShell
Caso
Este caso incluye dos sitios: el sitio 1 y el sitio 2. Cada sitio tiene una máquina virtual (VM1 y VM2) configurada con varias NIC, varias direcciones IP y GSLB.
Figura . Configuración de GSLB implementada en dos sitios: Sitio 1 y Sitio 2.
En este caso, cada VM tiene tres NIC: NIC 0/1, 1/1 y 1/2. Cada NIC puede tener varias direcciones IP públicas y privadas. Las NIC se configuran para los siguientes fines.
- NIC 0/1: para dar servicio al tráfico de administración
- NIC 1/1: para atender el tráfico del lado del cliente
- NIC 1/2: Para comunicarse con servidores back-end
Para obtener información sobre las direcciones IP configuradas en cada NIC en este caso, consulte la sección Detalles de configuración IP.
Parámetros
A continuación se presentan parámetros de ejemplo de configuración para este caso en este documento. Puede usar diferentes configuraciones si lo quiere.
$location="West Central US"
$vnetName="NSVPX-vnet"
$RGName="multiIP-RG"
$prmStorageAccountName="multiipstorageaccnt"
$avSetName="MultiIP-avset"
$vmSize="Standard\_DS3\_V2"
<!--NeedCopy-->
Nota:
El requisito mínimo para una instancia VPX es 2 vCPU y 2 GB de 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-->
Crear una VM
Siga los pasos del 1 al 10 para crear VM1 con varias NIC y varias direcciones IP, mediante comandos de PowerShell:
Después de completar todos los pasos y comandos para crear la VM1, repita estos pasos para crear la VM2 con parámetros específicos.
Crear grupo de recursos
New-AzureRMResourceGroup -Name $RGName -Location $location
<!--NeedCopy-->
Crear cuenta de almacenamiento
$prmStorageAccount=New-AzureRMStorageAccount -Name $prmStorageAccountName -ResourceGroupName $RGName -Type Standard_LRS -Location $location
<!--NeedCopy-->
Crear conjunto de disponibilidad
$avSet=New-AzureRMAvailabilitySet -Name $avSetName -ResourceGroupName $RGName -Location $location
<!--NeedCopy-->
Crear red virtual
-
Agregue subredes.
$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-->
-
Agregue un objeto de red virtual.
$vnet=New-AzureRmVirtualNetwork -Name $vnetName -ResourceGroupName $RGName -Location $location -AddressPrefix 10.0.0.0/16 -Subnet $subnet1, $subnet2, $subnet3 <!--NeedCopy-->
-
Recupera subredes.
$frontendSubnet=$vnet.Subnets|?{$_.Name -eq $frontendSubnetName} $backendSubnet1=$vnet.Subnets|?{$_.Name -eq $backendSubnetName1} $backendSubnet2=$vnet.Subnets|?{$_.Name -eq $backendSubnetName2} <!--NeedCopy-->
Crear dirección IP pública
$pip1=New-AzureRmPublicIpAddress -Name $pubIPName1 -ResourceGroupName $RGName -Location $location -AllocationMethod Dynamic
$pip2=New-AzureRmPublicIpAddress -Name $pubIPName2 -ResourceGroupName $RGName -Location $location -AllocationMethod Dynamic
<!--NeedCopy-->
Crear NIC
Crear 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-->
Crear 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-->
Crear 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-->
Crear objeto de configuración de máquina virtual
$vmName=$vmNamePrefix
$vmConfig=New-AzureRMVMConfig -VMName $vmName -VMSize $vmSize -AvailabilitySetId $avSet.Id
<!--NeedCopy-->
Obtenga credenciales y configure las propiedades del sistema operativo
$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-->
Agregar 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-->
Especificar el disco del sistema operativo y crear 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-->
Nota:
Repita los pasos 1 a 10 enumerados en “Crear máquinas virtuales multiNIC mediante comandos de PowerShell” para crear VM2 con parámetros específicos de VM2.
Detalles de configuración IP
Se utilizan las siguientes direcciones IP.
Tabla 1. Direcciones IP utilizadas en VM1
NIC | IP privada | IP pública (PIP) | Descripción |
---|---|---|---|
0/1 | 10.0.0.10 | PIP1 | Configurado como NSIP (IP de administración) |
1/1 | 10.0.1.10 | PIP2 | Configurado como IP del sitio SNIP/GSLB |
- | 10.0.1.11 | - | Configurado como IP del servidor LB. La IP pública no es obligatoria |
1/2 | 10.0.2.10 | - | Configurado como SNIP para enviar sondeos de monitor a servicios; IP pública no es obligatoria |
Tabla 2. Direcciones IP utilizadas en VM2
NIC | IP interna | IP pública (PIP) | Descripción |
---|---|---|---|
0/1 | 20.0.0.10 | PIP4 | Configurado como NSIP (IP de administración) |
1/1 | 20.0.1.10 | PIP5 | Configurado como IP del sitio SNIP/GSLB |
- | 20.0.1.11 | - | Configurado como IP del servidor LB. La IP pública no es obligatoria |
1/2 | 20.0.2.10 | - | Configurado como SNIP para enviar sondeos de monitor a servicios; IP pública no es obligatoria |
A continuación se muestran configuraciones de ejemplo para este caso, que muestran las direcciones IP y las configuraciones LB iniciales creadas a través de la CLI de Citrix ADC VPX para VM1 y VM2.
He aquí un ejemplo de configuración en 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-->
He aquí un ejemplo de configuración en 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-->
Configurar sitios GSLB y otros parámetros
Realice las tareas que se describen en el tema siguiente para configurar los dos sitios GSLB y otros parámetros necesarios:
He aquí un ejemplo de configuración GSLB en VM1 y VM2.
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-->
Ha configurado GSLB en instancias Citrix ADC VPX que se ejecutan en Azure.