我正在尝试使用新规则更新现有的Loadbalancer。
我正在按照microsoft的文档执行以下命令。 https://docs.microsoft.com/en-us/azure/load-balancer/load-balancer-get-started-internet-arm-ps#update-an-existing-load-balancer
$slb = Get-AzureRmLoadBalancer -Name LB-Some-primary -ResourceGroupName SomeName
$slb | Add-AzureRmLoadBalancerInboundNatRuleConfig -Name "Test" -FrontendIpConfiguration $slb.FrontendIpConfigurations[0] -FrontendPort 29700 -BackendPort 24700 -Protocol TCP
$slb | Set-AzureRmLoadBalancer
我收到以下错误
Set-AzureRmLoadBalancer : Adding or updating NAT Rules when NAT pool is present on loadbalancer /subscriptions/xxxxxxxxxxxxx/resourceGroups/xxxxxx/providers/Microsoft.Network/loadBalancers/LB-xxxx-primary is not supported. To modify the load balancer, pass
in all NAT rules unchanged or remove the LoadBalancerInboundNatRules property from your PUT request.
StatusCode: 400
ReasonPhrase: Bad Request
OperationID : 'xxxx-2596-4c9e-a30a-12be70fxxxxx'
At line:1 char:8
+ $slb | Set-AzureRmLoadBalancer
+ ~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : CloseError: (:) [Set-AzureRmLoadBalancer], NetworkCloudException
+ FullyQualifiedErrorId : Microsoft.Azure.Commands.Network.SetAzureLoadBalancerCommand
我也从Azure CLI获得了相同的错误。
答案 0 :(得分:1)
根据您的描述,您似乎想要将NAT规则添加到 VMSS 'Load Balancer。
但是现在,在负载均衡器和比例集之间添加或编辑引用 对于负载均衡器,虚拟机当前已禁用 包含与比例集的现有关联。
该命令会抱怨,因为您正在尝试将规则添加到已使用池配置的内容中。
如果要将NAT规则添加到VMSS的Load Balancer,我们应该使用新配置重新部署。 VMSS的配置与单个VM略有不同。 VMSS使用NAT规则而不是单个规则,有关VMSS负载均衡器的更多信息,请参阅此link。