用于 Azure 部署的其他 PowerShell 脚本

本节提供了用于在 Azure PowerShell 中执行以下配置的 PowerShell cmdlet:

  • 置备 Citrix ADC VPX 独立实例
  • 使用 Azure 外部负载平衡器在高可用性设置中置备 Citrix ADC VPX 对
  • 使用 Azure 内部负载平衡器在高可用性设置中预配置 Citrix ADC VPX 对

另请参阅以下主题,了解可以使用 PowerShell 命令执行的配置:

置备 Citrix ADC VPX 独立实例

  1. 创建资源组

    资源组可以包括解决方案的所有资源,或者仅包括要作为一个组管理的资源。此处指定的位置是该资源组中资源的默认位置。确保创建负载平衡器的所有命令都使用相同的资源组。

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

    例如

    $rgName = "ARM-VPX"
    $locName = "West US"
    New-AzureRmResourceGroup -Name $rgName -Location $locName
    
  2. 创建存储帐户

    为您的存储帐户选择仅包含小写字母和数字的唯一名称。

    $saName=”<storage account name>” $saType=”<storage account type, specify one: Standard_LRS, Standard_GRS, Standard_RAGRS, or Premium_LRS>” New-AzureRmStorageAccount -Name $saName -ResourceGroupName $rgName -Type $saType -Location $locName

    例如

    $saName="vpxstorage"
    $saType="Standard_LRS"
    New-AzureRmStorageAccount -Name $saName -ResourceGroupName $rgName -Type $saType -Location $locName
    
  3. 创建可用性集

    可用性集可帮助使您的虚拟机在停机期间(例如,在维护期间)保持可用。使用可用性集配置的负载平衡器可确保您的应用程序始终可用。

    $avName=”<availability set name>”

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

  4. 创建虚拟网络

    如果以前未创建子网,请添加一个至少包含一个子网的新虚拟网络。

    $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

    例如

    $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
    
  5. 创建网卡

    创建网卡并将网卡与 Citrix ADC VPX 实例关联。上述过程中创建的前端子网索引编号为 0,后端子网索引编号为 1。现在采用以下三种方式之一创建 NIC:

    a) 具有公用 IP 地址的网卡

    $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) 带有公用 IP 和 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

    分配 $domName 之前,请使用以下命令检查其是否可用:

    Test-AzureRmDnsAvailability -DomainQualifiedName $domName -Location $locName

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

    例如

    $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
    

    c) 具有动态公共地址和静态专用 IP 地址的网

    请确保您添加到 VM 的专用(静态)IP 地址的范围应该与指定的子网的范围相同。

    $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. 创建虚拟对象

    $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. 获取 Citrix ADC 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."

    提供用于登录 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

    例如

    $pubName="citrix"

    以下命令用于显示 Citrix 提供的所有产品/服务:

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

    以下命令用于获知发布者提供的 SKU 的特定产品/服务名称:

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

  8. 创建虚拟机

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

    例如

    $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
    

    基于应用商店中提供的映像创建 VM 时,请使用以下命令指定 VM 计划:

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

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

使用 Azure 外部负载平衡器在高可用性设置中置备 Citrix ADC VPX 对

使用您的 Azure 用户凭据登录 AzureRmAccount。

  1. 创建资源组

    此处指定的位置是该资源组中资源的默认位置。确保用于创建负载平衡器的所有命令都使用相同的资源组。

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

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

    New-AzureRmResourceGroup -Name $rgName -Location $locName

    例如

    $rgName = "ARM-LB-NS"
    
    $locName = "West US"
    
    New-AzureRmResourceGroup -Name $rgName -Location $locName
    
  2. 创建存储帐户

    为您的存储帐户选择仅包含小写字母和数字的唯一名称。

    $saName="\<storage account name\>"

    $saType="\<storage account type, specify one: Standard\_LRS, Standard\_GRS, Standard\_RAGRS, or Premium\_LRS\>"

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

    例如

    $saName="vpxstorage"
    
    $saType="Standard_LRS"
    
    New-AzureRmStorageAccount -Name $saName -ResourceGroupName $rgName -Type $saType -Location $locName
    
  3. 创建可用性集

    使用可用性集配置的负载平衡器可确保您的应用程序始终可用。

    $avName="\<availability set name\>"

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

  4. 创建虚拟网络

    如果以前未创建子网,请添加一个至少包含一个子网的新虚拟网络。

    $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
    

    注意:根据您的要求选择地址修复参数值。

    为您在此步骤前面创建的虚拟网络分配前端和后端子网。

    如果前端子网是阵列虚拟网络的第一个元素,则 subnetId 应为 $vnet.Subnets[0].Id。

    如果前端子网是数组中的第二个元素,则子网 ID 应该是 $vnet.子网 [1] .Id 等。

  5. 配置前端 IP 地址并创建后端地址池

    为传入负载平衡器网络流量配置前端 IP 地址,并创建后端地址池以接收负载均衡流量。

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

    注意:检查域名标签值的可用性。

    $FIPName = "ELBFIP"
    
    $frontendIP1 = New-AzureRmLoadBalancerFrontendIpConfig -Name $FIPName -PublicIpAddress $publicIP1
    
    $BEPool = "LB-backend-Pool"
    
    $beaddresspool1= New-AzureRmLoadBalancerBackendAddressPoolConfig -Name $BEPool
    
  6. 创建运行状况探测器

    创建使用端口 9000 且时间间隔为 5 秒的 TCP 运行状况探测。

    $healthProbe = New-AzureRmLoadBalancerProbeConfig -Name HealthProbe -Protocol Tcp -Port 9000 -IntervalInSeconds 5 -ProbeCount 2
    
  7. 创建负载平衡规则

    为您要进行负载平衡的每个服务创建 LB 规则。

    例如

    您可以使用以下示例对 http 服务进行负载平衡。

    $lbrule1 = New-AzureRmLoadBalancerRuleConfig -Name "HTTP-LB" -FrontendIpConfiguration $frontendIP1 -BackendAddressPool  $beAddressPool1 -Probe $healthProbe -Protocol Tcp -FrontendPort 80 -BackendPort 80
    
  8. 创建入站 NAT 规则

    为您不进行负载平衡的服务创建 NAT 规则。

    例如,创建对 Citrix ADC VPX 实例的 SSH 访问权限时。

    注意:对于两个 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
    
  9. 创建负载均衡器实体

    创建将所有对象(NAT 规则、负载平衡器规则、探测配置)加在一起的负载平衡器。

    $lbName="ELB"
    
    $NRPLB = New-AzureRmLoadBalancer -ResourceGroupName $rgName -Name $lbName -Location $locName -InboundNatRule $inboundNATRule1, $inboundNATRule2 -FrontendIpConfiguration $frontendIP1 -LoadBalancingRule $lbrule1 -BackendAddressPool $beAddressPool1 -Probe $healthProbe
    
  10. 创建网卡

    创建两个 NIC 并将每个 NIC 与各个 VPX 实例相关联

    a) 将 NIC1 与 VPX1 相关联

    例如

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

    b) NIC2 with VPX2

    例如

    $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]
    
  11. 创建 Citrix ADC VPX 实例

    创建两个 Citrix ADC VPX 实例作为同一资源组和可用性集的一部分,并将其附加到外部负载平衡器。

    a) Citrix ADC VPX 实例 1

    例如

    $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
    

    b) Citrix ADC VPX 实例 2

    例如

    $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
    
  12. 配置虚拟机

    当两个 Citrix ADC VPX 实例都启动时,然后使用 SSH 协议连接到这两个 Citrix ADC VPX 实例以配置虚拟机。

    a) 主动-主动:在 Citrix ADC VPX 实例的命令行上运行相同的配置命令集。

    b) 主动-被动:在 Citrix ADC VPX 实例的命令行上运行此命令。

    add ha node #nodeID <nsip of other Citrix ADC VPX>

    在主动-被动模式下,仅在主节点上运行配置命令。

使用 Azure 内部负载平衡器在高可用性设置中预配置 Citrix ADC VPX 对

使用您的 Azure 用户凭据登录 AzureRmAccount。

  1. 创建资源组

    此处指定的位置是该资源组中资源的默认位置。确保创建负载平衡器的所有命令都使用相同的资源组。

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

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

    New-AzureRmResourceGroup -Name $rgName -Location $locName

    例如

    $rgName = "ARM-LB-NS"
    
    $locName = "West US"
    
    New-AzureRmResourceGroup -Name $rgName -Location $locName
    
  2. 创建存储帐户

    为您的存储帐户选择仅包含小写字母和数字的唯一名称。

    $saName=”<storage account name>”

    $saType=”<storage account type, specify one: Standard_LRS, Standard_GRS, Standard_RAGRS, or Premium_LRS>”

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

    例如

    $saName="vpxstorage"
    
    $saType="Standard_LRS"
    
    New-AzureRmStorageAccount -Name $saName -ResourceGroupName $rgName -Type $saType -Location $locName
    
  3. 创建可用性集

    使用可用性集配置的负载平衡器可确保您的应用程序始终可用。

    $avName=”<availability set name>”

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

  4. 创建虚拟网络

    如果以前未创建子网,请添加一个至少包含一个子网的新虚拟网络。

    $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
    

    注意:根据您的要求选择地址修复参数值。

    为您在此步骤前面创建的虚拟网络分配前端和后端子网。

    如果前端子网是阵列虚拟网络的第一个元素,则 subnetId 应为 $vnet.Subnets[0].Id。

    如果前端子网是数组中的第二个元素,则子网 ID 应该是 $vnet.子网 [1] .Id 等。

  5. 创建后端地址池

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

  6. 创建 NAT 规则

    为您不进行负载平衡的服务创建 NAT 规则。

    $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
    

    根据您的要求使用前端端口和后端端口。

  7. 创建运行状况探测器

    创建使用端口 9000 且时间间隔为 5 秒的 TCP 运行状况探测。

    $healthProbe = New-AzureRmLoadBalancerProbeConfig -Name "HealthProbe"  " -Protocol tcp -Port 9000 -IntervalInSeconds 5 -ProbeCount 2
    
  8. 创建负载平衡规则

    为您要进行负载平衡的每个服务创建 LB 规则。

    例如:

    您可以使用以下示例对 http 服务进行负载平衡。

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

    根据您的要求使用前端 和后端端口。

  9. 创建负载均衡器实体

    创建将所有对象(NAT 规则、负载平衡器规则、探测配置)加在一起的负载平衡器。

    $NRPLB = New-AzureRmLoadBalancer -ResourceGroupName $rgname -Name "InternalLB" -Location $locName -FrontendIpConfiguration $frontendIP -InboundNatRule $inboundNATRule1,$inboundNatRule2 -LoadBalancingRule $lbrule -BackendAddressPool $beAddressPool -Probe $healthProbe
    
  10. 创建网卡

    创建两个网卡,并将每个网卡与每个 Citrix ADC 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]
    

    此网卡适用于 Citrix ADC VPX 1。专用 IP 应该与添加的子网的专用 IP 位于同一子网。

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

    此网卡适用于 Citrix ADC VPX 2. 参数专用 IP 地址可以根据您的要求具有任何专用 IP。

  11. 创建 Citrix ADC VPX 实例

    创建两个 VPX 实例属于同一资源组和可用性集,并将其附加到内部负载平衡器。

    a) Citrix ADC VPX 实例 1

    例如

    $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
    

    b) Citrix ADC VPX 实例 2

    例如

    $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
    
  12. 配置虚拟机

    当两个 Citrix ADC VPX 实例都启动时,然后使用 SSH 协议连接到这两个 Citrix ADC VPX 实例以配置虚拟机。

    a) 主动-主动:在 Citrix ADC VPX 实例的命令行上运行相同的配置命令集。

    b) 主动-被动:在 Citrix ADC VPX 实例的命令行上运行此命令。

    <nsip of other Citrix ADC VPX>添加公顷节点 #nodeID

    在主动-被动模式下,仅在主节点上运行配置命令。