ADC

Scripts de PowerShell adicionales para la implementación de Azure

En esta sección se proporcionan 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 siguientes temas para ver las configuraciones que puede realizar mediante los comandos de PowerShell:

Aprovisionar una instancia independiente de NetScaler VPX

  1. Crear un grupo de recursos

    El grupo de recursos puede incluir todos los recursos de la solución o solo los recursos que quiera administrar como grupo. La ubicación especificada aquí es la ubicación predeterminada para los recursos de ese grupo de recursos. Asegúrese de que todos los comandos para crear un balanceador de carga usen 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-VPX"
    $locName = "West US"
    New-AzureRmResourceGroup -Name $rgName -Location $locName
    <!--NeedCopy-->
    
  2. Crear una cuenta de almacenamiento

    Elige un nombre único para tu cuenta de almacenamiento que contenga solo letras minúsculas y números.

    $saName="<storage account name>" $saType="<storage account type>", especifique uno: Standard_LRSStandard_GRS, Standard_RAGRS, o Premium_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-->
    
  3. Crear un conjunto de disponibilidad

    El conjunto de disponibilidad ayuda a mantener las máquinas virtuales disponibles durante el tiempo de inactividad, por ejemplo, durante el mantenimiento. Un balanceador 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

  4. Crear una red virtual

    Agregue una nueva red virtual con al menos una subred, si la subred no se creó anteriormente.

    $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 New-AzureRmVirtualNetwork -Name TestNet -ResourceGroupName $rgName -Location $locName -AddressPrefix $vnetAddressPrefix -Subnet $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-->
    
  5. Crear una NIC

    Cree una NIC y asocie la NIC a la instancia de NetScaler VPX. La subred frontal creada en el procedimiento anterior se indexa en 0 y la subred trasera en 1. Ahora cree la 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 etiqueta DNS e IP pública

    $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 si 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

  6. 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

  7. 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 las 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

  8. 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 una máquina virtual a partir de imágenes presentes en Marketplace, utilice el siguiente comando para especificar el plan de máquina virtual:

    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.

  1. Crear un grupo de recursos

    La ubicación especificada aquí es la ubicación predeterminada para los recursos de ese grupo de recursos. Asegúrese de que todos los comandos utilizados para crear un balanceador de carga usen 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-->
    
  2. Crear una cuenta de almacenamiento

    Elige un nombre único para tu cuenta de almacenamiento que contenga solo letras minúsculas y números.

    $saName="<storage account name>"

    $saType="<storage account type>", especifique uno: Standard_LRSStandard_GRS, Standard_RAGRS, o Premium_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-->
    
  3. Crear un conjunto de disponibilidad

    Un balanceador 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

  4. Crear una red virtual

    Agregue una nueva red virtual con al menos una subred, si la subred no se creó anteriormente.

    $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.

  5. Configurar la dirección IP de front-end y crear un grupo de direcciones back-end

    Configure una dirección IP de interfaz para el tráfico de red entrante del balanceador de carga y cree un grupo de direcciones de fondo para recibir el tráfico con equilibrio de carga.

    $pubName="PublicIp1"
    
    $publicIP1 = New-AzureRmPublicIpAddress -Name $pubName -ResourceGroupName $rgName -Location $locName -AllocationMethod Static -DomainNameLabel nsvpx
    <!--NeedCopy-->
    

    Nota: Compruebe la disponibilidad del valor de DomainNameLabel.

    $FIPName = "ELBFIP"
    
    $frontendIP1 = New-AzureRmLoadBalancerFrontendIpConfig -Name $FIPName -PublicIpAddress $publicIP1
    
    $BEPool = "LB-backend-Pool"
    
    $beaddresspool1= New-AzureRmLoadBalancerBackendAddressPoolConfig -Name $BEPool
    <!--NeedCopy-->
    
  6. Crear una sonda de salud

    Cree una sonda de estado TCP con el puerto 9000 y un intervalo de 5 segundos.

    $healthProbe = New-AzureRmLoadBalancerProbeConfig -Name HealthProbe -Protocol Tcp -Port 9000 -IntervalInSeconds 5 -ProbeCount 2
    <!--NeedCopy-->
    
  7. Crear una regla de equilibrio de carga

    Cree una regla de 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-->
    
  8. Crear reglas de NAT entrantes

    Cree reglas de NAT para los servicios en los que no esté equilibrando la carga.

    Por ejemplo, al crear un acceso SSH a una instancia de NetScaler VPX.

    Nota: El triplete Protocol-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-->
    
  9. Crear una entidad de equilibrador de carga

    Cree el balanceador de carga sumando todos los objetos (reglas NAT, reglas de balanceador de carga, configuraciones de sondeo).

    $lbName="ELB"
    
    $NRPLB = New-AzureRmLoadBalancer -ResourceGroupName $rgName -Name $lbName -Location $locName -InboundNatRule $inboundNATRule1, $inboundNATRule2 -FrontendIpConfiguration $frontendIP1 -LoadBalancingRule $lbrule1 -BackendAddressPool $beAddressPool1 -Probe $healthProbe
    <!--NeedCopy-->
    
  10. Crear una NIC

    Cree dos NIC y asocie cada NIC a 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-->
    
  11. 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-->
    
  12. 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.

  1. Crear un grupo de recursos

    La ubicación especificada aquí es la ubicación predeterminada para los recursos de ese grupo de recursos. Asegúrese de que todos los comandos para crear un balanceador de carga usen 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-->
    
  2. Crear una cuenta de almacenamiento

    Elige un nombre único para tu cuenta de almacenamiento que contenga solo letras minúsculas y números.

    $saName="<storage account name>"

    $saType="<storage account type>", especifique uno: Standard_LRSStandard_GRS, Standard_RAGRS, o Premium_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-->
    
  3. Crear un conjunto de disponibilidad

    Un balanceador 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

  4. Crear una red virtual

    Agregue una nueva red virtual con al menos una subred, si la subred no se creó anteriormente.

    $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.

  5. Crear un grupo de direcciones back-end

    $beaddresspool= New-AzureRmLoadBalancerBackendAddressPoolConfig -Name "LB-backend"

  6. Crear reglas de NAT

    Cree reglas de NAT para los servicios en los 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 los puertos frontales y posteriores según sus necesidades.

  7. Crear una sonda de salud

    Cree una sonda de estado TCP con el puerto 9000 y un intervalo de 5 segundos.

    $healthProbe = New-AzureRmLoadBalancerProbeConfig -Name "HealthProbe"  " -Protocol tcp -Port 9000 -IntervalInSeconds 5 -ProbeCount 2
    <!--NeedCopy-->
    
  8. Crear una regla de equilibrio de carga

    Cree una regla de 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 los puertos frontales y posteriores según sus necesidades.

  9. Crear una entidad de equilibrador de carga

    Cree el balanceador de carga sumando todos los objetos (reglas NAT, reglas de balanceador de carga, configuraciones de sondeo).

    $NRPLB = New-AzureRmLoadBalancer -ResourceGroupName $rgname -Name "InternalLB" -Location $locName -FrontendIpConfiguration $frontendIP -InboundNatRule $inboundNATRule1,$inboundNatRule2 -LoadBalancingRule $lbrule -BackendAddressPool $beAddressPool -Probe $healthProbe
    <!--NeedCopy-->
    
  10. 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.

  11. Crear instancias NetScaler VPX

    Crea dos instancias VPX que formen parte del mismo grupo de recursos y conjunto de disponibilidad y adjúntalas al balanceador 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-->
    
  12. 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.

Scripts de PowerShell adicionales para la implementación de Azure