NetScaler VPX

Zusätzliche PowerShell-Skripte für die Azure-Bereitstellung

Dieser Abschnitt enthält die PowerShell-Cmdlets, mit denen Sie die folgenden Konfigurationen in Azure PowerShell durchführen können:

  • Bereitstellen einer NetScaler VPX Standalone-Instanz
  • Bereitstellen eines NetScaler VPX-Paares in einer Hochverfügbarkeitskonfiguration mit einem externen Azure-Lastenausgleich
  • Bereitstellen eines NetScaler VPX-Paares in einer Hochverfügbarkeitskonfiguration mit einem internen Azure-Lastenausgleich

Siehe auch die folgenden Themen für Konfigurationen, die Sie mithilfe von PowerShell-Befehlen durchführen können:

Bereitstellen einer NetScaler VPX Standalone-Instanz

  1. Ressourcengruppe erstellen

    Die Ressourcengruppe kann alle Ressourcen für die Lösung oder nur die Ressourcen enthalten, die Sie als Gruppe verwalten möchten. Der hier angegebene Speicherort ist der Standardspeicherort für Ressourcen in dieser Ressourcengruppe. Stellen Sie sicher, dass alle Befehle zum Erstellen eines Lastenausgleichs dieselbe Ressourcengruppe verwenden.

    $rgName="<resource group name>" $locName="<location name, such as West US> New-AzureRmResourceGroup -Name $rgName -Location $locName

    Zum Beispiel:

    $rgName = "ARM-VPX"
    $locName = "West US"
    New-AzureRmResourceGroup -Name $rgName -Location $locName
    <!--NeedCopy-->
    
  2. Speicherkonto erstellen

    Wählen Sie einen eindeutigen Namen für Ihr Speicherkonto, der nur Kleinbuchstaben und Zahlen enthält.

    $saName="<storage account name>" $saType="<storage account type>", geben Sie eines an: Standard_LRS, Standard_GRS, Standard_RAGRS oder Premium_LRS New-AzureRmStorageAccount -Name $saName -ResourceGroupName $rgName -Type $saType -Location $locName

    Zum Beispiel:

    $saName="vpxstorage"
    $saType="Standard\_LRS"
    New-AzureRmStorageAccount -Name $saName -ResourceGroupName $rgName -Type $saType -Location $locName
    <!--NeedCopy-->
    
  3. Verfügbarkeitsgruppe erstellen

    Eine Verfügbarkeitsgruppe trägt dazu bei, dass Ihre virtuellen Maschinen während Ausfallzeiten, z. B. bei Wartungsarbeiten, verfügbar bleiben. Ein mit einer Verfügbarkeitsgruppe konfigurierter Lastenausgleich stellt sicher, dass Ihre Anwendung immer verfügbar ist.

    $avName="<availability set name>"

    New-AzureRmAvailabilitySet -Name $avName -ResourceGroupName $rgName -Location $locName

  4. Virtuelles Netzwerk erstellen

    Fügen Sie ein neues virtuelles Netzwerk mit mindestens einem Subnetz hinzu, falls das Subnetz zuvor nicht erstellt wurde.

    $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

    Zum Beispiel:

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

    Erstellen Sie eine NIC und ordnen Sie die NIC der NetScaler VPX-Instanz zu. Das im obigen Verfahren erstellte Frontend-Subnetz ist bei 0 indiziert und das Backend-Subnetz bei 1. Erstellen Sie nun die NIC auf eine der drei folgenden Arten:

    a) NIC mit öffentlicher IP-Adresse

    $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 mit öffentlicher IP und DNS-Bezeichnung

    $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

    Bevor Sie $domName zuweisen, prüfen Sie mit dem Befehl, ob es verfügbar ist oder nicht:

    Test-AzureRmDnsAvailability -DomainQualifiedName $domName -Location $locName

    $nic = New-AzureRmNetworkInterface -Name $nicName -ResourceGroupName $rgName -Location $locName -SubnetId $vnet.Subnets[$subnetIndex].Id -PublicIpAddressId $pip.Id

    Zum Beispiel:

    $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 mit dynamischer öffentlicher Adresse und statischer privater IP-Adresse

    Stellen Sie sicher, dass die private (statische) IP-Adresse, die Sie der VM hinzufügen, denselben Bereich hat wie das angegebene Subnetz.

    $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. Ein virtuelles Objekt erstellen

    $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. Das NetScaler VPX-Image abrufen

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

    Geben Sie Ihre Anmeldeinformationen an, die für die Anmeldung bei VPX verwendet werden

    $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

    Zum Beispiel:

    $pubName="citrix"

    Der folgende Befehl wird verwendet, um alle Angebote von Citrix® anzuzeigen:

    Get-AzureRMVMImageOffer -Location $locName -Publisher $pubName | Select Offer
    
    $offerName="netscalervpx110-6531"
    <!--NeedCopy-->
    

    Der folgende Befehl wird verwendet, um die vom Herausgeber angebotene SKU für einen bestimmten Angebotsnamen zu ermitteln:

    Get-AzureRMVMImageSku -Location $locName -Publisher $pubName -Offer $offerName | Select Skus

  8. Eine virtuelle Maschine erstellen

    $diskName="<name identifier for the disk in Azure storage, such as OSDisk>"

    Zum Beispiel:

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

    Wenn Sie eine VM aus im Marketplace vorhandenen Images erstellen, verwenden Sie den folgenden Befehl, um den VM-Plan anzugeben:

    Set-AzureRmVMPlan -VM $vm -Publisher $pubName -Product $offerName -Name $skuName

    New-AzureRmVM -ResourceGroupName $rgName -Location $locName -VM $vm

Bereitstellen eines NetScaler VPX-Paares in einer Hochverfügbarkeitskonfiguration mit einem externen Azure Load Balancer

Melden Sie sich mit Ihren Azure-Benutzeranmeldeinformationen bei AzureRmAccount an.

  1. Eine Ressourcengruppe erstellen

    Der hier angegebene Speicherort ist der Standardspeicherort für Ressourcen in dieser Ressourcengruppe. Stellen Sie sicher, dass alle Befehle, die zum Erstellen eines Lastenausgleichs verwendet werden, dieselbe Ressourcengruppe verwenden.

    $rgName="<resource group name>"

    $locName="<location name, such as West US>"

    New-AzureRmResourceGroup -Name $rgName -Location $locName

    Zum Beispiel:

    $rgName = "ARM-LB-NS"
    
    $locName = "West US"
    
    New-AzureRmResourceGroup -Name $rgName -Location $locName
    <!--NeedCopy-->
    
  2. Speicherkonto erstellen

    Wählen Sie einen eindeutigen Namen für Ihr Speicherkonto, der nur Kleinbuchstaben und Zahlen enthält.

    $saName="<storage account name>"

    $saType="<storage account type>", geben Sie einen an: Standard_LRS, Standard_GRS, Standard_RAGRS oder Premium_LRS

    New-AzureRmStorageAccount -Name $saName -ResourceGroupName $rgName -Type $saType -Location $locName

    Zum Beispiel:

    $saName="vpxstorage"
    
    $saType="Standard_LRS"
    
    New-AzureRmStorageAccount -Name $saName -ResourceGroupName $rgName -Type $saType -Location $locName
    <!--NeedCopy-->
    
  3. Verfügbarkeitsgruppe erstellen

    Ein Lastenausgleich, der mit einer Verfügbarkeitsgruppe konfiguriert ist, stellt sicher, dass Ihre Anwendung immer verfügbar ist.

    $avName="<availability set name>"

    New-AzureRmAvailabilitySet -Name $avName -ResourceGroupName $rgName -Location $locName

  4. Ein virtuelles Netzwerk erstellen

    Fügen Sie ein neues virtuelles Netzwerk mit mindestens einem Subnetz hinzu, falls das Subnetz zuvor nicht erstellt wurde.

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

    Hinweis:

    Wählen Sie den Wert des Parameters AddressPrefix gemäß Ihren Anforderungen.

    Weisen Sie dem virtuellen Netzwerk, das Sie zuvor in diesem Schritt erstellt haben, ein Frontend- und ein Backend-Subnetz zu.

    Wenn das Frontend-Subnetz das erste Element des Arrays VNet ist, muss subnetId $vnet.Subnets[0].Id sein.

    Wenn das Frontend-Subnetz das zweite Element im Array ist, muss subnetId $vnet.Subnets[1].Id sein, und so weiter.

  5. Frontend-IP-Adresse konfigurieren und Backend-Adresspool erstellen

    Konfigurieren Sie eine Frontend-IP-Adresse für den eingehenden Load Balancer-Netzwerkverkehr und erstellen Sie einen Backend-Adresspool, um den Lastenausgleichsverkehr zu empfangen.

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

    Hinweis:

    Überprüfen Sie die Verfügbarkeit des Werts für DomainNameLabel.

    $FIPName = "ELBFIP"
    
    $frontendIP1 = New-AzureRmLoadBalancerFrontendIpConfig -Name $FIPName -PublicIpAddress $publicIP1
    
    $BEPool = "LB-backend-Pool"
    
    $beaddresspool1= New-AzureRmLoadBalancerBackendAddressPoolConfig -Name $BEPool
    <!--NeedCopy-->
    
  6. Einen Integritätstest erstellen

    Erstellen Sie einen TCP-Integritätstest mit Port 9000 und einem Intervall von 5 Sekunden.

    $healthProbe = New-AzureRmLoadBalancerProbeConfig -Name HealthProbe -Protocol Tcp -Port 9000 -IntervalInSeconds 5 -ProbeCount 2
    <!--NeedCopy-->
    
  7. Eine Lastenausgleichsregel erstellen

    Erstellen Sie eine LB-Regel für jeden Dienst, für den Sie einen Lastenausgleich durchführen.

    Zum Beispiel:

    Sie können das folgende Beispiel verwenden, um den Lastenausgleich für den HTTP-Dienst durchzuführen.

    $lbrule1 = New-AzureRmLoadBalancerRuleConfig -Name "HTTP-LB" -FrontendIpConfiguration $frontendIP1 -BackendAddressPool  $beAddressPool1 -Probe $healthProbe -Protocol Tcp -FrontendPort 80 -BackendPort 80
    <!--NeedCopy-->
    
  8. Eingehende NAT-Regeln erstellen

    Erstellen Sie NAT-Regeln für Dienste, für die Sie keinen Lastenausgleich durchführen.

    Zum Beispiel beim Erstellen eines SSH-Zugriffs auf eine NetScaler VPX-Instanz.

    Hinweis:

    Das Triplett aus Protokoll-FrontEndPort-BackendPort darf für zwei NAT-Regeln nicht dasselbe sein.

    $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. Eine Lastenausgleichs-Entität erstellen

    Erstellen Sie den Lastenausgleich, indem Sie alle Objekte (NAT-Regeln, Lastenausgleichsregeln, Sondierungskonfigurationen) zusammenfügen.

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

    Erstellen Sie zwei NICs und ordnen Sie jede NIC jeder VPX-Instanz zu

    a) NIC1 mit VPX1

    Zum Beispiel:

    $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 mit VPX2

    Zum Beispiel:

    $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. NetScaler VPX-Instanzen erstellen

    Erstellen Sie zwei NetScaler VPX-Instanzen als Teil derselben Ressourcengruppe und Verfügbarkeitsgruppe und hängen Sie diese an den externen Lastenausgleich an.

    a) NetScaler VPX-Instanz 1

    Zum Beispiel:

    $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) NetScaler VPX-Instanz 2

    Zum Beispiel:

    $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. Die virtuellen Maschinen konfigurieren

    Wenn beide NetScaler VPX-Instanzen gestartet sind, stellen Sie über das SSH-Protokoll eine Verbindung zu beiden NetScaler VPX-Instanzen her, um die virtuellen Maschinen zu konfigurieren.

    a) Aktiv-Aktiv: Führen Sie dieselben Konfigurationsbefehle in der Befehlszeile beider NetScaler VPX-Instanzen aus.

    b) Aktiv-Passiv: Führen Sie diesen Befehl in der Befehlszeile beider NetScaler VPX-Instanzen aus.

    add ha node #nodeID <nsip of other NetScaler VPX>

    Im Aktiv-Passiv-Modus führen Sie Konfigurationsbefehle nur auf dem primären Knoten aus.

Ein NetScaler VPX-Paar in einer Hochverfügbarkeitskonfiguration mit Azure Internal Load Balancer bereitstellen

Melden Sie sich mit Ihren Azure-Benutzeranmeldeinformationen bei AzureRmAccount an.

  1. Eine Ressourcengruppe erstellen

    Der hier angegebene Speicherort ist der Standardspeicherort für Ressourcen in dieser Ressourcengruppe. Stellen Sie sicher, dass alle Befehle zum Erstellen eines Lastenausgleichs dieselbe Ressourcengruppe verwenden.

    $rgName="\<resource group name\>"

    $locName="\<location name, such as West US\>"

    New-AzureRmResourceGroup -Name $rgName -Location $locName

    Zum Beispiel:

    $rgName = "ARM-LB-NS"
    
    $locName = "West US"
    
    New-AzureRmResourceGroup -Name $rgName -Location $locName
    <!--NeedCopy-->
    
  2. Speicherkonto erstellen

    Wählen Sie einen eindeutigen Namen für Ihr Speicherkonto, der nur Kleinbuchstaben und Zahlen enthält.

    $saName="<storage account name>"

    $saType="<storage account type>", geben Sie einen an: Standard_LRS, Standard_GRS, Standard_RAGRS oder Premium_LRS

    New-AzureRmStorageAccount -Name $saName -ResourceGroupName $rgName -Type $saType -Location $locName

    Zum Beispiel:

    $saName="vpxstorage"
    
    $saType="Standard_LRS"
    
    New-AzureRmStorageAccount -Name $saName -ResourceGroupName $rgName -Type $saType -Location $locName
    <!--NeedCopy-->
    
  3. Verfügbarkeitsgruppe erstellen

    Ein Lastenausgleich, der mit einer Verfügbarkeitsgruppe konfiguriert ist, stellt sicher, dass Ihre Anwendung immer verfügbar ist.

    $avName="<availability set name>"

    New-AzureRmAvailabilitySet -Name $avName -ResourceGroupName $rgName -Location $locName

  4. Ein virtuelles Netzwerk erstellen

    Fügen Sie ein neues virtuelles Netzwerk mit mindestens einem Subnetz hinzu, falls das Subnetz zuvor nicht erstellt wurde.

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

    Hinweis:

    Wählen Sie den Wert des Parameters AddressPrefix gemäß Ihren Anforderungen.

    Weisen Sie dem virtuellen Netzwerk, das Sie zuvor in diesem Schritt erstellt haben, ein Frontend- und Backend-Subnetz zu.

    Wenn das Frontend-Subnetz das erste Element des Arrays VNet ist, muss subnetId $vnet.Subnets[0].Id sein.

    Wenn das Frontend-Subnetz das zweite Element im Array ist, muss die subnetId $vnet.Subnets[1].Id sein, und so weiter.

  5. Einen Backend-Adresspool erstellen

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

  6. NAT-Regeln erstellen

    Erstellen Sie NAT-Regeln für Dienste, die Sie nicht per Lastenausgleich verteilen.

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

    Verwenden Sie Frontend- und Backend-Ports gemäß Ihren Anforderungen.

  7. Eine Integritätsprüfung erstellen

    Erstellen Sie eine TCP-Integritätsprüfung mit Port 9000 und einem Intervall von 5 Sekunden.

    $healthProbe = New-AzureRmLoadBalancerProbeConfig -Name "HealthProbe"  " -Protocol tcp -Port 9000 -IntervalInSeconds 5 -ProbeCount 2
    <!--NeedCopy-->
    
  8. Eine Lastenausgleichsregel erstellen

    Erstellen Sie eine LB-Regel für jeden Dienst, den Sie Lastenausgleich unterziehen.

    Zum Beispiel:

    Sie können das folgende Beispiel verwenden, um den HTTP-Dienst Lastenausgleich zu unterziehen.

    $lbrule = New-AzureRmLoadBalancerRuleConfig -Name "lbrule1" -FrontendIpConfiguration $frontendIP -BackendAddressPool $beAddressPool -Probe $healthProbe -Protocol Tcp -FrontendPort 80 -BackendPort 80
    <!--NeedCopy-->
    

    Verwenden Sie Front-End- und Back-End-Ports gemäß Ihren Anforderungen.

  9. Erstellen Sie eine Lastenausgleichs-Entität

    Erstellen Sie den Lastenausgleich, indem Sie alle Objekte (NAT-Regeln, Lastenausgleichsregeln, Sondierungskonfigurationen) zusammen hinzufügen.

    $NRPLB = New-AzureRmLoadBalancer -ResourceGroupName $rgname -Name "InternalLB" -Location $locName -FrontendIpConfiguration $frontendIP -InboundNatRule $inboundNATRule1,$inboundNatRule2 -LoadBalancingRule $lbrule -BackendAddressPool $beAddressPool -Probe $healthProbe
    <!--NeedCopy-->
    
  10. Erstellen Sie eine NIC

    Erstellen Sie zwei NICs und ordnen Sie jede NIC jeder NetScaler VPX-Instanz zu.

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

    Diese NIC ist für NetScaler VPX 1. Die private IP muss sich im selben Subnetz befinden wie das hinzugefügte Subnetz.

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

    Diese NIC ist für NetScaler VPX 2. Der Parameter Private IPAddress kann eine beliebige private IP gemäß Ihren Anforderungen haben.

  11. Erstellen Sie NetScaler VPX-Instanzen

    Erstellen Sie zwei VPX-Instanzen, die Teil derselben Ressourcengruppe und Verfügbarkeitsgruppe sind, und hängen Sie sie an den internen Lastenausgleich an.

    a) NetScaler VPX-Instanz 1

    Zum Beispiel:

    $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) NetScaler VPX-Instanz 2

    Zum Beispiel:

    $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. Konfigurieren Sie die virtuellen Maschinen

    Wenn beide NetScaler VPX Instanzen starten, verbinden Sie sich dann über das SSH-Protokoll mit beiden NetScaler VPX Instanzen, um die virtuellen Maschinen zu konfigurieren.

    a) Aktiv-Aktiv: Führen Sie dieselben Konfigurationsbefehle auf der Befehlszeile beider NetScaler VPX Instanzen aus.

    b) Aktiv-Passiv: Führen Sie diesen Befehl auf der Befehlszeile beider NetScaler VPX Instanzen aus.

    add ha node #nodeID <nsip of other NetScaler VPX>

    Im Aktiv-Passiv-Modus führen Sie Konfigurationsbefehle nur auf dem primären Knoten aus.