Scripts PowerShell supplémentaires pour le déploiement Azure
Cette section fournit les applets de commande PowerShell avec lesquels vous pouvez effectuer les configurations suivantes dans Azure PowerShell :
- Provisionner une instance autonome NetScaler VPX
- Provisionner une paire NetScaler VPX dans une configuration haute disponibilité avec un équilibreur de charge externe Azure
- Provisionner une paire NetScaler VPX dans une configuration haute disponibilité avec l’équilibreur de charge interne Azure
Consultez également les rubriques suivantes pour les configurations que vous pouvez effectuer à l’aide des commandes PowerShell :
- Configurer une configuration haute disponibilité avec plusieurs adresses IP et cartes réseau à l’aide des commandes PowerShell
- Configurer GSLB sur des instances NetScaler VPX
- Configurer GSLB sur une configuration haute disponibilité active de secours NetScaler
- Configurer plusieurs adresses IP pour une instance NetScaler VPX en mode autonome à l’aide des commandes PowerShell
Provisionner une instance autonome NetScaler VPX
-
Créer un groupe de ressources
Le groupe de ressources peut inclure toutes les ressources de la solution, ou uniquement les ressources que vous souhaitez gérer en tant que groupe. L’emplacement spécifié ici est l’emplacement par défaut des ressources de ce groupe de ressources. Assurez-vous que toutes les commandes permettant de créer un équilibreur de charge utilisent le même groupe de ressources.
$rgName="<resource group name>"
$locName="<location name, such as West US>
New-AzureRmResourceGroup -Nom $rgName -Emplacement $locName
Par exemple :
$rgName = "ARM-VPX" $locName = "West US" New-AzureRmResourceGroup -Name $rgName -Location $locName <!--NeedCopy-->
-
Créer un compte de stockage
Choisissez un nom unique pour votre compte de stockage qui ne contient que des lettres et des chiffres minuscules.
$saName="<storage account name>"
$saType="<storage account type>"
, spécifiez-en une :Standard_LRS
Standard_GRS
,Standard_RAGRS
, ouPremium_LRS
Nouveau-AzureRmStorageAccount -Nom $saName -ResourceGroupName $rgName -Type $saType -Emplacement $locName
Par exemple :
$saName="vpxstorage" $saType="Standard\_LRS" New-AzureRmStorageAccount -Name $saName -ResourceGroupName $rgName -Type $saType -Location $locName <!--NeedCopy-->
-
Créer un jeu de disponibilité
Le jeu de disponibilité permet de garder vos machines virtuelles disponibles pendant les temps d’arrêt, par exemple pendant la maintenance. Un équilibreur de charge configuré avec un jeu de disponibilité garantit que votre application est toujours disponible.
$avName="<availability set name>"
New-AzureRmAvailabilitySet -Name $avName -ResourceGroupName $rgName -Location $locName
-
Créer un réseau virtuel
Ajoutez un nouveau réseau virtuel avec au moins un sous-réseau, si le sous-réseau n’a pas été créé précédemment.
$FrontendAddressPrefix="10.0.1.0/24"
$BackendAddressPrefix="10.0.2.0/24"
$vnetAddressPrefix="10.0.0.0/16"
$frontendSubnet=New-AzureRmVirtualNetworkSubnetConfig -Nom frontendSubnet -Préfixe d'adresse $FrontendAddressPrefix
$backendSubnet=New-AzureRmVirtualNetworkSubnetConfig -Nom backendSubnet -AddressPrefix $BackendAddressPrefix
New-AzureRmVirtualNetwork -Nom TestNet -ResourceGroupName $rgName -Emplacement $locName -Préfixe d'adresse $vnetAddressPrefix -Sous-réseau $frontendSubnet,$backendSubnet
Par exemple :
$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-->
-
Créer une carte réseau
Créez une carte réseau et associez-la à l’instance NetScaler VPX. Le sous-réseau frontal créé dans la procédure ci-dessus est indexé à 0 et le sous-réseau arrière est indexé à 1. Créez maintenant une carte réseau de l’une des trois façons suivantes :
a) Carte réseau avec adresse IP publique
$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) Carte réseau avec étiquette IP publique et 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
Avant d’assigner $domName, vérifiez qu’il est disponible ou non en utilisant la commande :
Test-AzureRmDnsAvailability -DomainQualifiedName $domName -Location $locName
$nic = New-AzureRmNetworkInterface -Name $nicName -ResourceGroupName $rgName -Location $locName -SubnetId $vnet.Subnets[$subnetIndex].Id -PublicIpAddressId $pip.Id
Par exemple :
$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) Carte réseau avec adresse publique dynamique et adresse IP privée statique
Assurez-vous que l’adresse IP privée (statique) que vous ajoutez à la machine virtuelle doit correspondre à celle du sous-réseau spécifié.
$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
-
Créer un objet virtuel
$vmName="<VM name>"
$vmSize="<VM size string>"
$avSet=Get-AzureRmAvailabilitySet -Name $avName -ResourceGroupName $rgName
$vm=New-AzureRmVMConfig -VMName $vmName -VMSize $vmSize -AvailabilitySetId $avset.Id
-
Obtenir l’image 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."
Fournissez vos informations d’identification utilisées pour vous connecter à 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
Par exemple :
$pubName="citrix"
La commande suivante est utilisée pour afficher toutes les offres de Citrix :
Get-AzureRMVMImageOffer -Location $locName -Publisher $pubName | Select Offer $offerName="netscalervpx110-6531" <!--NeedCopy-->
La commande suivante permet de connaître le SKU proposé par l’éditeur pour un nom d’offre spécifique :
Get-AzureRMVMImageSku -Location $locName -Publisher $pubName -Offer $offerName | Select Skus
-
Créer une machine virtuelle
$diskName="<name identifier for the disk in Azure storage, such as OSDisk>"
Par exemple :
$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-->
Lorsque vous créez une machine virtuelle à partir d’images présentes sur le site de vente, utilisez la commande suivante pour spécifier le plan de machine virtuelle :
Set-AzureRmVMPlan -VM $vm -Publisher $pubName -Product $offerName -Name $skuName
New-AzureRmVM -ResourceGroupName $rgName -Location $locName -VM $vm
Provisionner une paire NetScaler VPX dans une configuration haute disponibilité avec un équilibreur de charge externe Azure
Connectez-vous à AzureRMAccount à l’aide de vos informations d’identification utilisateur Azure.
-
Créer un groupe de ressources
L’emplacement spécifié ici est l’emplacement par défaut des ressources de ce groupe de ressources. Assurez-vous que toutes les commandes utilisées pour créer un équilibreur de charge utilisent le même groupe de ressources.
$rgName="<resource group name>"
$locName="<location name, such as West US>"
New-AzureRmResourceGroup -Name $rgName -Location $locName
Par exemple :
$rgName = "ARM-LB-NS" $locName = "West US" New-AzureRmResourceGroup -Name $rgName -Location $locName <!--NeedCopy-->
-
Créer un compte de stockage
Choisissez un nom unique pour votre compte de stockage qui ne contient que des lettres et des chiffres minuscules.
$saName="<storage account name>"
$saType="<storage account type>"
, spécifiez-en une :Standard_LRS
Standard_GRS
,Standard_RAGRS
, ouPremium_LRS
New-AzureRmStorageAccount -Name $saName -ResourceGroupName $rgName -Type $saType -Location $locName
Par exemple :
$saName="vpxstorage" $saType="Standard_LRS" New-AzureRmStorageAccount -Name $saName -ResourceGroupName $rgName -Type $saType -Location $locName <!--NeedCopy-->
-
Créer un jeu de disponibilité
Un équilibreur de charge configuré avec un jeu de disponibilité garantit que votre application est toujours disponible.
$avName="<availability set name>"
New-AzureRmAvailabilitySet -Name $avName -ResourceGroupName $rgName -Location $locName
-
Créer un réseau virtuel
Ajoutez un nouveau réseau virtuel avec au moins un sous-réseau, si le sous-réseau n’a pas été créé précédemment.
$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-->
Remarque :
Choisissez la valeur du paramètre AddressPrefix selon vos besoins.
Affectez des sous-réseaux frontaux et back-end au réseau virtuel que vous avez créé précédemment au cours de cette étape.
Si le sous-réseau frontal est le premier élément du réseau virtuel de tableau, SubnetID doit être $VNet.Subnets [0] .Id.
Si le sous-réseau frontal est le deuxième élément du tableau, l’ID de sous-réseau doit être $VNet.Subnets [1] .Id, etc.
-
Configurer l’adresse IP frontale et créer un pool d’adresses back-end
Configurez une adresse IP frontale pour le trafic réseau d’équilibrage de charge entrant et créez un pool d’adresses back-end pour recevoir le trafic équilibré de charge.
$pubName="PublicIp1" $publicIP1 = New-AzureRmPublicIpAddress -Name $pubName -ResourceGroupName $rgName -Location $locName -AllocationMethod Static -DomainNameLabel nsvpx <!--NeedCopy-->
Remarque :
Vérifiez la disponibilité de la valeur pour DomainNameLabel.
$FIPName = "ELBFIP" $frontendIP1 = New-AzureRmLoadBalancerFrontendIpConfig -Name $FIPName -PublicIpAddress $publicIP1 $BEPool = "LB-backend-Pool" $beaddresspool1= New-AzureRmLoadBalancerBackendAddressPoolConfig -Name $BEPool <!--NeedCopy-->
-
Créer une sonde de santé
Créez une sonde de santé TCP avec le port 9000 et l’intervalle 5 secondes.
$healthProbe = New-AzureRmLoadBalancerProbeConfig -Name HealthProbe -Protocol Tcp -Port 9000 -IntervalInSeconds 5 -ProbeCount 2 <!--NeedCopy-->
-
Créer une règle d’équilibrage de charge
Créez une règle de LB pour chaque service que vous répartirez la charge.
Par exemple :
Vous pouvez utiliser l’exemple suivant pour équilibrer la charge service HTTP.
$lbrule1 = New-AzureRmLoadBalancerRuleConfig -Name "HTTP-LB" -FrontendIpConfiguration $frontendIP1 -BackendAddressPool $beAddressPool1 -Probe $healthProbe -Protocol Tcp -FrontendPort 80 -BackendPort 80 <!--NeedCopy-->
-
Créer des règles NAT entrantes
Créez des règles NAT pour les services dont vous n’êtes pas l’équilibrage de charge.
Par exemple, lors de la création d’un accès SSH à une instance NetScaler VPX.
Remarque :
Le triplet Protocol-FrontEndPort-BackendPort ne doit pas être le même pour deux règles 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-->
-
Créer une entité d’équilibrage de charge
Créez l’équilibreur de charge en ajoutant tous les objets (règles NAT, règles d’équilibrage de charge, configurations de sonde) ensemble.
$lbName="ELB" $NRPLB = New-AzureRmLoadBalancer -ResourceGroupName $rgName -Name $lbName -Location $locName -InboundNatRule $inboundNATRule1, $inboundNATRule2 -FrontendIpConfiguration $frontendIP1 -LoadBalancingRule $lbrule1 -BackendAddressPool $beAddressPool1 -Probe $healthProbe <!--NeedCopy-->
-
Créer une carte réseau
Créez deux cartes réseau et associez chaque carte réseau à chaque instance VPX
a) NIC1 avec VPX1
Par exemple :
$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 avec VPX2
Par exemple :
$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-->
-
Création d’instances NetScaler VPX
Créez deux instances NetScaler VPX faisant partie du même groupe de ressources et du même ensemble de disponibilité, puis associez-les à l’équilibreur de charge externe.
a) Instance 1 de NetScaler VPX
Par exemple :
$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) Instance 2 de NetScaler VPX
Par exemple :
$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-->
-
Configurer les machines virtuelles
Lorsque les deux instances NetScaler VPX démarrent, connectez-vous aux deux instances NetScaler VPX à l’aide du protocole SSH pour configurer les machines virtuelles.
a) Active-Active : exécutez le même ensemble de commandes de configuration sur la ligne de commande des deux instances de NetScaler VPX.
b) Actif-Passif : exécutez cette commande sur la ligne de commande des deux instances NetScaler VPX.
add ha node #nodeID <nsip of other NetScaler VPX>
En mode actif-passif, exécutez uniquement les commandes de configuration sur le nœud principal.
Provisionner une paire NetScaler VPX dans une configuration haute disponibilité avec l’équilibreur de charge interne Azure
Connectez-vous à AzureRMAccount à l’aide de vos informations d’identification utilisateur Azure.
-
Créer un groupe de ressources
L’emplacement spécifié ici est l’emplacement par défaut des ressources de ce groupe de ressources. Assurez-vous que toutes les commandes permettant de créer un équilibreur de charge utilisent le même groupe de ressources.
$rgName="\<resource group name\>"
$locName="\<location name, such as West US\>"
New-AzureRmResourceGroup -Name $rgName -Location $locName
Par exemple :
$rgName = "ARM-LB-NS" $locName = "West US" New-AzureRmResourceGroup -Name $rgName -Location $locName <!--NeedCopy-->
-
Créer un compte de stockage
Choisissez un nom unique pour votre compte de stockage qui ne contient que des lettres et des chiffres minuscules.
$saName="<storage account name>"
$saType="<storage account type>"
, spécifiez-en une :Standard_LRS
Standard_GRS
,Standard_RAGRS
, ouPremium_LRS
New-AzureRmStorageAccount -Name $saName -ResourceGroupName $rgName -Type $saType -Location $locName
Par exemple :
$saName="vpxstorage" $saType="Standard_LRS" New-AzureRmStorageAccount -Name $saName -ResourceGroupName $rgName -Type $saType -Location $locName <!--NeedCopy-->
-
Créer un jeu de disponibilité
Un équilibreur de charge configuré avec un jeu de disponibilité garantit que votre application est toujours disponible.
$avName="<availability set name>"
New-AzureRmAvailabilitySet -Name $avName -ResourceGroupName $rgName -Location $locName
-
Créer un réseau virtuel
Ajoutez un nouveau réseau virtuel avec au moins un sous-réseau, si le sous-réseau n’a pas été créé précédemment.
$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-->
Remarque :
Choisissez la valeur du paramètre AddressPrefix selon vos besoins.
Affectez des sous-réseaux frontaux et back-end au réseau virtuel que vous avez créé précédemment au cours de cette étape.
Si le sous-réseau frontal est le premier élément du réseau virtuel de tableau, SubnetID doit être $VNet.Subnets [0] .Id.
Si le sous-réseau frontal est le deuxième élément du tableau, l’ID de sous-réseau doit être $VNet.Subnets [1] .Id, etc.
-
Créer un pool d’adresses backend
$beaddresspool= New-AzureRmLoadBalancerBackendAddressPoolConfig -Name "LB-backend"
-
Créer des règles NAT
Créez des règles NAT pour les services dont vous n’êtes pas l’équilibrage de charge.
$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-->
Utilisez les ports frontaux et back-end selon vos besoins.
-
Créer une sonde de santé
Créez une sonde de santé TCP avec le port 9000 et l’intervalle 5 secondes.
$healthProbe = New-AzureRmLoadBalancerProbeConfig -Name "HealthProbe" " -Protocol tcp -Port 9000 -IntervalInSeconds 5 -ProbeCount 2 <!--NeedCopy-->
-
Créer une règle d’équilibrage de charge
Créez une règle de LB pour chaque service que vous répartirez la charge.
Par exemple :
Vous pouvez utiliser l’exemple suivant pour équilibrer la charge service HTTP.
$lbrule = New-AzureRmLoadBalancerRuleConfig -Name "lbrule1" -FrontendIpConfiguration $frontendIP -BackendAddressPool $beAddressPool -Probe $healthProbe -Protocol Tcp -FrontendPort 80 -BackendPort 80 <!--NeedCopy-->
Utilisez les ports frontaux et back-end selon vos besoins.
-
Créer une entité d’équilibrage de charge
Créez l’équilibreur de charge en ajoutant tous les objets (règles NAT, règles d’équilibrage de charge, configurations de sonde) ensemble.
$NRPLB = New-AzureRmLoadBalancer -ResourceGroupName $rgname -Name "InternalLB" -Location $locName -FrontendIpConfiguration $frontendIP -InboundNatRule $inboundNATRule1,$inboundNatRule2 -LoadBalancingRule $lbrule -BackendAddressPool $beAddressPool -Probe $healthProbe <!--NeedCopy-->
-
Créer une carte réseau
Créez deux cartes réseau et associez chaque carte réseau à chaque instance 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-->
Cette carte réseau est destinée à NetScaler VPX 1. L’IP privée doit se trouver dans le même sous-réseau que celui du sous-réseau ajouté.
$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-->
Cette carte réseau est destinée à NetScaler VPX 2. Le paramètre
Private IPAddress
peut avoir n’importe quelle adresse IP privée selon vos besoins. -
Création d’instances NetScaler VPX
Créez deux instances VPX faisant partie du même groupe de ressources et du même jeu de disponibilité, puis attachez-les à l’équilibreur de charge interne.
a) Instance 1 de NetScaler VPX
Par exemple :
$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) Instance 2 de NetScaler VPX
Par exemple :
$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-->
-
Configurer les machines virtuelles
Lorsque les deux instances NetScaler VPX démarrent, connectez-vous aux deux instances NetScaler VPX à l’aide du protocole SSH pour configurer les machines virtuelles.
a) Active-Active : exécutez le même ensemble de commandes de configuration sur la ligne de commande des deux instances de NetScaler VPX.
b) Actif-Passif : exécutez cette commande sur la ligne de commande des deux instances NetScaler VPX.
add ha node #nodeID <nsip of other NetScaler VPX>
En mode actif-passif, exécutez uniquement les commandes de configuration sur le nœud principal.