Scripts de PowerShell adicionales para la implementación de Azure
Esta sección proporciona los cmdlets de PowerShell con los que puede realizar las siguientes configuraciones en Azure PowerShell:
- Aprovisionar una instancia independiente de NetScaler VPX
- Aprovisione un par NetScaler VPX en una configuración de alta disponibilidad con un balanceador de carga externo de Azure
- Aprovisione un par NetScaler VPX en una configuración de alta disponibilidad con el balanceador de carga interno de Azure
Consulte también los temas siguientes para las configuraciones que puede realizar mediante comandos de PowerShell:
- Configurar una configuración de alta disponibilidad con varias direcciones IP y NIC mediante comandos de PowerShell
- Configurar GSLB en instancias de NetScaler VPX
- Configurar GSLB en una configuración de alta disponibilidad activa en espera de NetScaler
- Configurar varias direcciones IP para una instancia de NetScaler VPX en modo independiente mediante comandos de PowerShell
Aprovisionar una instancia independiente de NetScaler VPX
-
Crear un grupo de recursos
El grupo de recursos puede incluir todos los recursos de la solución o solo los recursos que desee administrar como grupo. La ubicación especificada aquí es la ubicación predeterminada de los recursos de ese grupo de recursos. Asegúrese de que todos los comandos para crear un equilibrador de carga utilizan el mismo grupo de recursos.
$rgName="<resource group name>"
$locName="<location name, such as West US>
New-AzureRmResourceGroup -Nombre $rgName -Ubicación $locName
Por ejemplo:
$rgName = "ARM-VPX" $locName = "West US" New-AzureRmResourceGroup -Name $rgName -Location $locName <!--NeedCopy-->
-
Crear una cuenta de almacenamiento
Elija un nombre único para su cuenta de almacenamiento que contenga solo letras y números minúsculas.
$saName="<storage account name>"
$saType="<storage account type>"
, especifique uno:Standard_LRS
,Standard_GRS
,Standard_RAGRS
oPremium_LRS
New-AzureRmStorageAccount -Nombre $saName -NombreGrupoRecursos $rgName -Tipo $saType -Ubicación $locName
Por ejemplo:
$saName="vpxstorage" $saType="Standard\_LRS" New-AzureRmStorageAccount -Name $saName -ResourceGroupName $rgName -Type $saType -Location $locName <!--NeedCopy-->
-
Crear un conjunto de disponibilidad
El conjunto de disponibilidad ayuda a mantener las máquinas virtuales disponibles durante el tiempo de inactividad, como durante el mantenimiento. Un equilibrador de carga configurado con un conjunto de disponibilidad garantiza que la aplicación esté siempre disponible.
$avName="<availability set name>"
New-AzureRmAvailabilitySet -Name $avName -ResourceGroupName $rgName -Location $locName
-
Crear una red virtual
Agregue una nueva red virtual con al menos una subred, si la subred no se creó previamente.
$FrontendAddressPrefix="10.0.1.0/24"
$BackendAddressPrefix="10.0.2.0/24"
$vnetAddressPrefix="10.0.0.0/16"
$frontendSubnet=New-AzureRmVirtualNetworkSubnetConfig -Nombre frontendSubnet -PrefijoDirección $FrontendAddressPrefix
$backendSubnet=New-AzureRmVirtualNetworkSubnetConfig -Nombre backendSubnet -PrefijoDirección $BackendAddressPrefix
New-AzureRmVirtualNetwork -Nombre TestNet -ResourceGroupName $rgName -Ubicación $locName -PrefijoDirección $vnetAddressPrefix -Subred $frontendSubnet,$backendSubnet
Por ejemplo:
$frontendSubnet=New-AzureRmVirtualNetworkSubnetConfig -Name frontendSubnet -AddressPrefix $FrontendAddressPrefix $backendSubnet=New-AzureRmVirtualNetworkSubnetConfig -Name backendSubnet -AddressPrefix $BackendAddressPrefix New-AzureRmVirtualNetwork -Name TestNet -ResourceGroupName $rgName -Location $locName -AddressPrefix $vnetAddressPrefix -Subnet $frontendSubnet,$backendSubnet <!--NeedCopy-->
-
Crear una NIC
Cree una NIC y asocie la NIC a la instancia de NetScaler VPX. La subred front-end creada en el procedimiento anterior se indexa en 0 y la subred back-end se indexa en 1. Ahora cree NIC de una de las tres maneras siguientes:
a) NIC con dirección IP pública
$nicName="<name of the NIC of the VM>"
$pip = New-AzureRmPublicIpAddress -Name $nicName -ResourceGroupName $rgName -Location $locName -AllocationMethod Dynamic
$nic = New-AzureRmNetworkInterface -Name $nicName -ResourceGroupName $rgName -Location $locName -SubnetId $vnet.Subnets[$subnetIndex].Id -PublicIpAddressId $pip.Id
b) NIC con IP pública y etiqueta DNS
$nicName="<name of the NIC of the VM>"
$domName="<domain name label>"
$pip = New-AzureRmPublicIpAddress -Name $nicName -ResourceGroupName $rgName -DomainNameLabel $domName -Location $locName -AllocationMethod Dynamic
Antes de asignar $DOMName, compruebe que está disponible o no mediante el comando:
Test-AzureRmDnsAvailability -DomainQualifiedName $domName -Location $locName
$nic = New-AzureRmNetworkInterface -Name $nicName -ResourceGroupName $rgName -Location $locName -SubnetId $vnet.Subnets[$subnetIndex].Id -PublicIpAddressId $pip.Id
Por ejemplo:
$nicName="frontendNIC" $domName="vpxazure" $pip = New-AzureRmPublicIpAddress -Name $nicName -ResourceGroupName $rgName -DomainNameLabel $domName -Location $locName -AllocationMethod Dynamic $nic = New-AzureRmNetworkInterface -Name $nicName -ResourceGroupName $rgName -Location $locName -SubnetId $vnet.Subnets\[0\].Id -PublicIpAddressId $pip.Id <!--NeedCopy-->
c) NIC con dirección pública dinámica y dirección IP privada estática
Asegúrese de que la dirección IP privada (estática) que agregue a la máquina virtual debe ser el mismo rango que la de la subred especificada.
$nicName="<name of the NIC of the VM>"
$staticIP="<available static IP address on the subnet>"
$pip = New-AzureRmPublicIpAddress -Name $nicName -ResourceGroupName $rgName -Location $locName -AllocationMethod Dynamic
$nic = New-AzureRmNetworkInterface -Name $nicName -ResourceGroupName $rgName -Location $locName -SubnetId $vnet.Subnets[$subnetIndex].Id -PublicIpAddressId $pip.Id -PrivateIpAddress $staticIP
-
Crear un objeto virtual
$vmName="<VM name>"
$vmSize="<VM size string>"
$avSet=Get-AzureRmAvailabilitySet -Name $avName -ResourceGroupName $rgName
$vm=New-AzureRmVMConfig -VMName $vmName -VMSize $vmSize -AvailabilitySetId $avset.Id
-
Obtenga la imagen de NetScaler VPX
$pubName="<Image publisher name>"
$offerName="<Image offer name>"
$skuName="<Image SKU name>"
$cred=Get-Credential -Message "Type the name and password of the local administrator account."
Proporcione sus credenciales que se utilizan para iniciar sesión en VPX
$vm=Set-AzureRmVMOperatingSystem -VM $vm -Linux -ComputerName $vmName -Credential $cred -Verbose
$vm=Set-AzureRmVMSourceImage -VM $vm -PublisherName $pubName -Offer $offerName -Skus $skuName -Version "latest"
$vm=Add-AzureRmVMNetworkInterface -VM $vm -Id $nic.Id
Por ejemplo:
$pubName="citrix"
El siguiente comando se utiliza para mostrar todas las ofertas de Citrix:
Get-AzureRMVMImageOffer -Location $locName -Publisher $pubName | Select Offer $offerName="netscalervpx110-6531" <!--NeedCopy-->
El siguiente comando se utiliza para conocer el SKU ofrecido por el editor para un nombre de oferta específico:
Get-AzureRMVMImageSku -Location $locName -Publisher $pubName -Offer $offerName | Select Skus
-
Crear una máquina virtual
$diskName="<name identifier for the disk in Azure storage, such as OSDisk>"
Por ejemplo:
$diskName="dynamic" $pubName="citrix" $offerName="netscalervpx110-6531" $skuName="netscalerbyol" $storageAcc=Get-AzureRmStorageAccount -ResourceGroupName $rgName -Name $saName $osDiskUri=$storageAcc.PrimaryEndpoints.Blob.ToString() + "vhds/" + $diskName + ".vhd" $vm=Set-AzureRmVMOSDisk -VM $vm -Name $diskName -VhdUri $osDiskUri -CreateOption fromImage <!--NeedCopy-->
Al crear VM a partir de imágenes presentes en el mercado, utilice el siguiente comando para especificar el plan de VM:
Set-AzureRmVMPlan -VM $vm -Publisher $pubName -Product $offerName -Name $skuName
New-AzureRmVM -ResourceGroupName $rgName -Location $locName -VM $vm
Aprovisione un par NetScaler VPX en una configuración de alta disponibilidad con un balanceador de carga externo de Azure
Inicie sesión en AzurermAccount con sus credenciales de usuario de Azure.
-
Crear un grupo de recursos
La ubicación especificada aquí es la ubicación predeterminada de los recursos de ese grupo de recursos. Asegúrese de que todos los comandos utilizados para crear un equilibrador de carga utilizan el mismo grupo de recursos.
$rgName="<resource group name>"
$locName="<location name, such as West US>"
New-AzureRmResourceGroup -Name $rgName -Location $locName
Por ejemplo:
$rgName = "ARM-LB-NS" $locName = "West US" New-AzureRmResourceGroup -Name $rgName -Location $locName <!--NeedCopy-->
-
Crear una cuenta de almacenamiento
Elija un nombre único para su cuenta de almacenamiento que contenga solo letras y números minúsculas.
$saName="<storage account name>"
$saType="<storage account type>"
, especifique uno:Standard_LRS
,Standard_GRS
,Standard_RAGRS
oPremium_LRS
New-AzureRmStorageAccount -Name $saName -ResourceGroupName $rgName -Type $saType -Location $locName
Por ejemplo:
$saName="vpxstorage" $saType="Standard_LRS" New-AzureRmStorageAccount -Name $saName -ResourceGroupName $rgName -Type $saType -Location $locName <!--NeedCopy-->
-
Crear un conjunto de disponibilidad
Un equilibrador de carga configurado con un conjunto de disponibilidad garantiza que la aplicación esté siempre disponible.
$avName="<availability set name>"
New-AzureRmAvailabilitySet -Name $avName -ResourceGroupName $rgName -Location $locName
-
Crear una red virtual
Agregue una nueva red virtual con al menos una subred, si la subred no se creó previamente.
$vnetName = "LBVnet" $FrontendAddressPrefix="10.0.1.0/24" $BackendAddressPrefix="10.0.2.0/24" $vnetAddressPrefix="10.0.0.0/16" $frontendSubnet=New-AzureRmVirtualNetworkSubnetConfig -Name frontendSubnet -AddressPrefix $FrontendAddressPrefix $backendSubnet=New-AzureRmVirtualNetworkSubnetConfig -Name backendSubnet -AddressPrefix $BackendAddressPrefix $vnet=New-AzureRmVirtualNetwork -Name $vnetName -ResourceGroupName $rgName -Location $locName -AddressPrefix $vnetAddressPrefix -Subnet $frontendSubnet,$backendSubnet <!--NeedCopy-->
Nota:
Elija el valor del parámetro AddressPrefix según sus necesidades.
Asigne subred front-end y back-end a la red virtual que creó anteriormente en este paso.
Si la subred front-end es el primer elemento de la matriz VNet, SubnetID debe ser $vnet.subnets [0] .Id.
Si la subred front-end es el segundo elemento de la matriz, el ID de subred debe ser $vnet.subnets [1] .Id, etc.
-
Configurar la dirección IP de front-end y crear un grupo de direcciones back-end
Configure una dirección IP front-end para el tráfico de red del equilibrador de carga entrante y cree un grupo de direcciones back-end para recibir el tráfico balanceado de carga.
$pubName="PublicIp1" $publicIP1 = New-AzureRmPublicIpAddress -Name $pubName -ResourceGroupName $rgName -Location $locName -AllocationMethod Static -DomainNameLabel nsvpx <!--NeedCopy-->
Nota:
Verifique la disponibilidad del valor para DomainNameLabel.
$FIPName = "ELBFIP" $frontendIP1 = New-AzureRmLoadBalancerFrontendIpConfig -Name $FIPName -PublicIpAddress $publicIP1 $BEPool = "LB-backend-Pool" $beaddresspool1= New-AzureRmLoadBalancerBackendAddressPoolConfig -Name $BEPool <!--NeedCopy-->
-
Crear una sonda de salud
Cree un sondeo de estado TCP con el puerto 9000 y el intervalo de 5 segundos.
$healthProbe = New-AzureRmLoadBalancerProbeConfig -Name HealthProbe -Protocol Tcp -Port 9000 -IntervalInSeconds 5 -ProbeCount 2 <!--NeedCopy-->
-
Crear una regla de equilibrio de carga
Cree una regla LB para cada servicio que esté equilibrando la carga.
Por ejemplo:
Puede utilizar el siguiente ejemplo para equilibrar la carga del servicio HTTP.
$lbrule1 = New-AzureRmLoadBalancerRuleConfig -Name "HTTP-LB" -FrontendIpConfiguration $frontendIP1 -BackendAddressPool $beAddressPool1 -Probe $healthProbe -Protocol Tcp -FrontendPort 80 -BackendPort 80 <!--NeedCopy-->
-
Crear reglas NAT entrantes
Cree reglas NAT para los servicios que no esté equilibrando la carga.
Por ejemplo, al crear un acceso SSH a una instancia de NetScaler VPX.
Nota:
El triplete Protocolo-FrontEndPort-BackendPort no debe ser el mismo para dos reglas NAT.
$inboundNATRule1= New-AzureRmLoadBalancerInboundNatRuleConfig -Name SSH1 -FrontendIpConfiguration $frontendIP1 -Protocol TCP -FrontendPort 22 -BackendPort 22 $inboundNATRule2= New-AzureRmLoadBalancerInboundNatRuleConfig -Name SSH2 -FrontendIpConfiguration $frontendIP1 -Protocol TCP -FrontendPort 10022 -BackendPort 22 <!--NeedCopy-->
-
Crear una entidad de equilibrador de carga
Cree el equilibrador de carga agregando todos los objetos (reglas NAT, reglas de equilibrador de carga, configuraciones de sondeo) juntos.
$lbName="ELB" $NRPLB = New-AzureRmLoadBalancer -ResourceGroupName $rgName -Name $lbName -Location $locName -InboundNatRule $inboundNATRule1, $inboundNATRule2 -FrontendIpConfiguration $frontendIP1 -LoadBalancingRule $lbrule1 -BackendAddressPool $beAddressPool1 -Probe $healthProbe <!--NeedCopy-->
-
Crear una NIC
Cree dos NIC y asocie cada NIC con cada instancia VPX
a) NIC1 con VPX1
Por ejemplo:
$nicName="NIC1" $lbName="ELB" $bePoolIndex=0 \* Rule indexes starts from 0. $natRuleIndex=0 $subnetIndex=0 \* Frontend subnet index $lb=Get-AzureRmLoadBalancer -Name $lbName -ResourceGroupName $rgName $nic1=New-AzureRmNetworkInterface -Name $nicName -ResourceGroupName $rgName -Location $locName -Subnet $vnet.Subnets\[$subnetIndex\] -LoadBalancerBackendAddressPool $lb.BackendAddressPools\[$bePoolIndex\] -LoadBalancerInboundNatRule $lb.InboundNatRules\[$natRuleIndex\] <!--NeedCopy-->
b) NIC2 con VPX2
Por ejemplo:
$nicName="NIC2" $lbName="ELB" $bePoolIndex=0 $natRuleIndex=1 \* Second Inbound NAT (SSH) rule we need to use `$subnetIndex=0 \* Frontend subnet index $lb=Get-AzureRmLoadBalancer -Name $lbName -ResourceGroupName $rgName $nic2=New-AzureRmNetworkInterface -Name $nicName -ResourceGroupName $rgName -Location $locName -Subnet $vnet.Subnets\[$subnetIndex\] -LoadBalancerBackendAddressPool $lb.BackendAddressPools\[$bePoolIndex\] -LoadBalancerInboundNatRule $lb.InboundNatRules\[$natRuleIndex\] <!--NeedCopy-->
-
Crear instancias NetScaler VPX
Cree dos instancias de NetScaler VPX como parte del mismo grupo de recursos y conjunto de disponibilidad y conéctelas al balanceador de carga externo.
a) Instancia 1 de NetScaler VPX
Por ejemplo:
$vmName="VPX1" $vmSize="Standard\_A3" $pubName="citrix" $offerName="netscalervpx110-6531" $skuName="netscalerbyol" $avSet=Get-AzureRmAvailabilitySet -Name $avName -ResourceGroupName $rgName $vm1=New-AzureRmVMConfig -VMName $vmName -VMSize $vmSize -AvailabilitySetId $avset.Id $cred=Get-Credential -Message "Type Credentials which will be used to login to VPX instance" $vm1=Set-AzureRmVMOperatingSystem -VM $vm1 -Linux -ComputerName $vmName -Credential $cred -Verbose $vm1=Set-AzureRmVMSourceImage -VM $vm1 -PublisherName $pubName -Offer $offerName -Skus $skuName -Version "latest" $vm1=Add-AzureRmVMNetworkInterface -VM $vm1 -Id $nic1.Id $diskName="dynamic" $storageAcc=Get-AzureRmStorageAccount -ResourceGroupName $rgName -Name $saName $osDiskUri1=$storageAcc.PrimaryEndpoints.Blob.ToString() + "vhds1/" + $diskName + ".vhd" $vm1=Set-AzureRmVMOSDisk -VM $vm1 -Name $diskName -VhdUri $osDiskUri1 -CreateOption fromImage Set-AzureRmVMPlan -VM $vm1 -Publisher $pubName -Product $offerName -Name $skuName New-AzureRmVM -ResourceGroupName $rgName -Location $locName -VM $vm1 <!--NeedCopy-->
b) Instancia 2 de NetScaler VPX
Por ejemplo:
$vmName="VPX2" $vmSize="Standard\_A3" $avSet=Get-AzureRmAvailabilitySet -Name $avName -ResourceGroupName $rgName $vm2=New-AzureRmVMConfig -VMName $vmName -VMSize $vmSize -AvailabilitySetId $avset.Id $cred=Get-Credential -Message " Type Credentials which will be used to login to VPX instance " $vm2=Set-AzureRmVMOperatingSystem -VM $vm2 -Linux -ComputerName $vmName -Credential $cred -Verbose $vm2=Set-AzureRmVMSourceImage -VM $vm2 -PublisherName $pubName -Offer $offerName -Skus $skuName -Version "latest" $vm2=Add-AzureRmVMNetworkInterface -VM $vm2 -Id $nic2.Id $diskName="dynamic" $storageAcc=Get-AzureRmStorageAccount -ResourceGroupName $rgName -Name $saName $osDiskUri1=$storageAcc.PrimaryEndpoints.Blob.ToString() + "vhds2/" + $diskName + ".vhd" $vm2=Set-AzureRmVMOSDisk -VM $vm2 -Name $diskName -VhdUri $osDiskUri1 -CreateOption fromImage Set-AzureRmVMPlan -VM $vm2 -Publisher $pubName -Product $offerName -Name $skuName New-AzureRmVM -ResourceGroupName $rgName -Location $locName -VM $vm2 <!--NeedCopy-->
-
Configurar las máquinas virtuales
Cuando se inicien ambas instancias de NetScaler VPX, conéctese a ambas instancias de NetScaler VPX mediante el protocolo SSH para configurar las máquinas virtuales.
a) Activo-Activo: ejecute el mismo conjunto de comandos de configuración en la línea de comandos de ambas instancias de NetScaler VPX.
b) Activo-Pasivo: ejecute este comando en la línea de comandos de ambas instancias de NetScaler VPX.
add ha node #nodeID <nsip of other NetScaler VPX>
En el modo Activo-Pasivo, ejecute comandos de configuración solo en el nodo principal.
Aprovisione un par NetScaler VPX en una configuración de alta disponibilidad con el balanceador de carga interno de Azure
Inicie sesión en AzurermAccount con sus credenciales de usuario de Azure.
-
Crear un grupo de recursos
La ubicación especificada aquí es la ubicación predeterminada de los recursos de ese grupo de recursos. Asegúrese de que todos los comandos para crear un equilibrador de carga utilizan el mismo grupo de recursos.
$rgName="\<resource group name\>"
$locName="\<location name, such as West US\>"
New-AzureRmResourceGroup -Name $rgName -Location $locName
Por ejemplo:
$rgName = "ARM-LB-NS" $locName = "West US" New-AzureRmResourceGroup -Name $rgName -Location $locName <!--NeedCopy-->
-
Crear una cuenta de almacenamiento
Elija un nombre único para su cuenta de almacenamiento que contenga solo letras y números minúsculas.
$saName="<storage account name>"
$saType="<storage account type>"
, especifique uno:Standard_LRS
,Standard_GRS
,Standard_RAGRS
oPremium_LRS
New-AzureRmStorageAccount -Name $saName -ResourceGroupName $rgName -Type $saType -Location $locName
Por ejemplo:
$saName="vpxstorage" $saType="Standard_LRS" New-AzureRmStorageAccount -Name $saName -ResourceGroupName $rgName -Type $saType -Location $locName <!--NeedCopy-->
-
Crear un conjunto de disponibilidad
Un equilibrador de carga configurado con un conjunto de disponibilidad garantiza que la aplicación esté siempre disponible.
$avName="<availability set name>"
New-AzureRmAvailabilitySet -Name $avName -ResourceGroupName $rgName -Location $locName
-
Crear una red virtual
Agregue una nueva red virtual con al menos una subred, si la subred no se creó previamente.
$vnetName = "LBVnet" $vnetAddressPrefix="10.0.0.0/16" $FrontendAddressPrefix="10.0.1.0/24" $BackendAddressPrefix="10.0.2.0/24" $vnet=New-AzureRmVirtualNetwork -Name $vnetName -ResourceGroupName $rgName -Location $locName -AddressPrefix $vnetAddressPrefix -Subnet $frontendSubnet,$backendSubnet\` $frontendSubnet=New-AzureRmVirtualNetworkSubnetConfig -Name frontendSubnet -AddressPrefix $FrontendAddressPrefix $backendSubnet=New-AzureRmVirtualNetworkSubnetConfig -Name backendSubnet -AddressPrefix $BackendAddressPrefix <!--NeedCopy-->
Nota:
Elija el valor del parámetro AddressPrefix según sus necesidades.
Asigne subred front-end y back-end a la red virtual que creó anteriormente en este paso.
Si la subred front-end es el primer elemento de la matriz VNet, SubnetID debe ser $vnet.subnets [0] .Id.
Si la subred front-end es el segundo elemento de la matriz, el ID de subred debe ser $vnet.subnets [1] .Id, etc.
-
Crear un grupo de direcciones back-end
$beaddresspool= New-AzureRmLoadBalancerBackendAddressPoolConfig -Name "LB-backend"
-
Crear reglas NAT
Cree reglas NAT para los servicios que no esté equilibrando la carga.
$inboundNATRule1= New-AzureRmLoadBalancerInboundNatRuleConfig -Name "Inboundnatrule1" -FrontendIpConfiguration $frontendIP -Protocol TCP -FrontendPort 3441 -BackendPort 3389 $inboundNATRule2= New-AzureRmLoadBalancerInboundNatRuleConfig -Name "RDP2" -FrontendIpConfiguration $frontendIP -Protocol TCP -FrontendPort 3442 -BackendPort 3389 <!--NeedCopy-->
Utilice puertos front-end y back-end según sus necesidades.
-
Crear una sonda de salud
Cree un sondeo de estado TCP con el puerto 9000 y el intervalo de 5 segundos.
$healthProbe = New-AzureRmLoadBalancerProbeConfig -Name "HealthProbe" " -Protocol tcp -Port 9000 -IntervalInSeconds 5 -ProbeCount 2 <!--NeedCopy-->
-
Crear una regla de equilibrio de carga
Cree una regla LB para cada servicio que esté equilibrando la carga.
Por ejemplo:
Puede utilizar el siguiente ejemplo para equilibrar la carga del servicio HTTP.
$lbrule = New-AzureRmLoadBalancerRuleConfig -Name "lbrule1" -FrontendIpConfiguration $frontendIP -BackendAddressPool $beAddressPool -Probe $healthProbe -Protocol Tcp -FrontendPort 80 -BackendPort 80 <!--NeedCopy-->
Utilice puertos front-end y back-end según sus necesidades.
-
Crear una entidad de equilibrador de carga
Cree el equilibrador de carga agregando todos los objetos (reglas NAT, reglas de equilibrador de carga, configuraciones de sondeo) juntos.
$NRPLB = New-AzureRmLoadBalancer -ResourceGroupName $rgname -Name "InternalLB" -Location $locName -FrontendIpConfiguration $frontendIP -InboundNatRule $inboundNATRule1,$inboundNatRule2 -LoadBalancingRule $lbrule -BackendAddressPool $beAddressPool -Probe $healthProbe <!--NeedCopy-->
-
Crear una NIC
Cree dos NIC y asocie cada NIC a cada instancia de NetScaler VPX
$backendnic1= New-AzureRmNetworkInterface -ResourceGroupName $rgName -Name lb-nic1-be -Location $locName -PrivateIpAddress 10.0.2.6 -Subnet $backendSubnet -LoadBalancerBackendAddressPool $nrplb.BackendAddressPools\[0\] -LoadBalancerInboundNatRule $nrplb.InboundNatRules\[0\] <!--NeedCopy-->
Esta NIC es para NetScaler VPX 1. La IP privada debe estar en la misma subred que la de la subred agregada.
$backendnic2= New-AzureRmNetworkInterface -ResourceGroupName $rgName -Name lb-nic2-be -Location $locName -PrivateIpAddress 10.0.2.7 -Subnet $backendSubnet -LoadBalancerBackendAddressPool $nrplb.BackendAddressPools\[0\] -LoadBalancerInboundNatRule $nrplb.InboundNatRules\[1\]. <!--NeedCopy-->
Esta NIC es para NetScaler VPX 2.El parámetro
Private IPAddress
puede tener cualquier IP privada según sus requisitos. -
Crear instancias NetScaler VPX
Cree dos instancias VPX que forman parte del mismo grupo de recursos y conjunto de disponibilidad, y conéctela al equilibrador de carga interno.
a) Instancia 1 de NetScaler VPX
Por ejemplo:
$vmName="VPX1" $vmSize="Standard\_A3" $avSet=Get-AzureRmAvailabilitySet -Name $avName -ResourceGroupName $rgName $vm1=New-AzureRmVMConfig -VMName $vmName -VMSize $vmSize -AvailabilitySetId $avset.Id $cred=Get-Credential -Message "Type Credentials which will be used to login to VPX instance" $vm1=Set-AzureRmVMOperatingSystem -VM $vm1 -Linux -ComputerName $vmName -Credential $cred -Verbose $vm1=Set-AzureRmVMSourceImage -VM $vm1 -PublisherName $pubName -Offer $offerName -Skus $skuName -Version "latest" $vm1=Add-AzureRmVMNetworkInterface -VM $vm1 -Id $backendnic1.Id $diskName="dynamic" $storageAcc=Get-AzureRmStorageAccount -ResourceGroupName $rgName -Name $saName $osDiskUri1=$storageAcc.PrimaryEndpoints.Blob.ToString() + "vhds1/" + $diskName + ".vhd" $vm1=Set-AzureRmVMOSDisk -VM $vm1 -Name $diskName -VhdUri $osDiskUri1 -CreateOption fromImage Set-AzureRmVMPlan -VM $vm1 -Publisher $pubName -Product $offerName -Name $skuName New-AzureRmVM -ResourceGroupName $rgName -Location $locName -VM $vm1 <!--NeedCopy-->
b) Instancia 2 de NetScaler VPX
Por ejemplo:
$vmName="VPX2" $vmSize="Standard\_A3" $avSet=Get-AzureRmAvailabilitySet -Name $avName -ResourceGroupName $rgName $vm2=New-AzureRmVMConfig -VMName $vmName -VMSize $vmSize -AvailabilitySetId $avset.Id $cred=Get-Credential -Message " Type Credentials which will be used to login to VPX instance " $vm2=Set-AzureRmVMOperatingSystem -VM $vm2 -Linux -ComputerName $vmName -Credential $cred -Verbose $vm2=Set-AzureRmVMSourceImage -VM $vm2 -PublisherName $pubName -Offer $offerName -Skus $skuName -Version "latest" $vm2=Add-AzureRmVMNetworkInterface -VM $vm2 -Id $backendnic2.Id $diskName="dynamic" $storageAcc=Get-AzureRmStorageAccount -ResourceGroupName $rgName -Name $saName $osDiskUri1=$storageAcc.PrimaryEndpoints.Blob.ToString() + "vhds2/" + $diskName + ".vhd" $vm2=Set-AzureRmVMOSDisk -VM $vm2 -Name $diskName -VhdUri $osDiskUri1 -CreateOption fromImage Set-AzureRmVMPlan -VM $vm2 -Publisher $pubName -Product $offerName -Name $skuName New-AzureRmVM -ResourceGroupName $rgName -Location $locName -VM $vm2 <!--NeedCopy-->
-
Configurar las máquinas virtuales
Cuando se inicien ambas instancias de NetScaler VPX, conéctese a ambas instancias de NetScaler VPX mediante el protocolo SSH para configurar las máquinas virtuales.
a) Activo-Activo: ejecute el mismo conjunto de comandos de configuración en la línea de comandos de ambas instancias de NetScaler VPX.
b) Activo-Pasivo: ejecute este comando en la línea de comandos de ambas instancias de NetScaler VPX.
add ha node #nodeID <nsip of other NetScaler VPX>
En el modo Activo-Pasivo, ejecute comandos de configuración solo en el nodo principal.
En este artículo
- Aprovisionar una instancia independiente de NetScaler VPX
- Aprovisione un par NetScaler VPX en una configuración de alta disponibilidad con un balanceador de carga externo de Azure
- Aprovisione un par NetScaler VPX en una configuración de alta disponibilidad con el balanceador de carga interno de Azure