通过 Powershell 添加负载均衡器规则

Adding Load Balancer Rule via Powershell

我正在尝试通过 Powershell 添加负载均衡器规则,因为我们需要为被动 ftp.

打开多个端口
Connect-AzureRmAccount

Set-AzureRmContext -SubscriptionId "MySubId"

$slb = Get-AzureRmLoadBalancer -Name "MyLB" -ResourceGroupName "MyRG"

$prb = Get-AzureRmLoadBalancerProbeConfig -Name "MyProbe" -LoadBalancer $slb

$beaddpool = Get-AzureRmLoadBalancerBackendAddressPoolConfig -Name "BEADDPOOL" -LoadBalancer $slb

$slb | Add-AzureRmLoadBalancerRuleConfig -Name "PassivePort_50010" -FrontendIPConfiguration $slb.FrontendIpConfigurations[0] -BackendAddressPool $beaddpool -Protocol "Tcp" -FrontendPort 50010 -BackendPort 50010 -Probe $prb -IdleTimeoutInMinutes 4

$slb | Set-AzureRmLoadBalancerRuleConfig -Name "PassivePort_50010" -FrontendIPConfiguration $slb.FrontendIpConfigurations[0] -BackendAddressPool $beaddpool -Protocol "Tcp" -FrontendPort 50010 -BackendPort 50010 -Probe $prb -IdleTimeoutInMinutes 4

正如您在上面看到的,我正在登录,获取有问题的 LB、LB 探针和 LB BackEndAddressPool。然后我使用 documentation

中提到的 Add-AzureRmLoadBalancerRuleConfig 和 Set-AzureRmLoadBalancerRuleConfig

我可以从 PowerShell 输出中看到规则就在那里。但是,与通过门户添加的内容相比,它缺少一个明显的 属性。

"ProvisioningState": "Succeeded"

新规则未显示在门户中,但在通过 PS 获取 LB 时可见。

我是否缺少确保规则显示在 Azure 门户中的方法?还是以这种方式配置规则需要更长的时间?

创建属性后,您需要应用它们:

$slb | Set-AzureRmLoadBalancer
Connect-AzureRmAccount

Set-AzureRmContext -SubscriptionId "MySubId"

$slb = Get-AzureRmLoadBalancer -Name "MyLB" -ResourceGroupName "MyRG"

$slb | Add-AzureRmLoadBalancerRuleConfig -Name "PassivePort_50010" -FrontendIPConfiguration $slb.FrontendIpConfigurations[0] -BackendAddressPool $beaddpool -Protocol "Tcp" -FrontendPort 50010 -BackendPort 50010 -Probe $prb -IdleTimeoutInMinutes 4

$slb | Set-AzureRmLoadBalancer 

有关更多详细信息,您可以参考解决相同问题的类似 MSDN 线程。