在一个Azure RM负载平衡器中,我可以使用powershell创建一个nat规则FTP,但也想使用powershell设置目标虚拟机。我知道如何设置目标的唯一方法是在门户网站中。
我在负载均衡器中有两个VM。我尝试使用Add-AzLoadBalancerInboundNatRuleConfig,但没有看到目标VM的参数。
我的脚本: $ lb | Add-AzLoadBalancerInboundNatRuleConfig-名称$ EndpointName -FrontendIPConfiguration $ feip-协议“ Tcp” -FrontendPort $ i -BackendPort $ i
如果无法在Powershell中设置目标,那么除了门户网站之外还有哪些替代方案?
答案 0 :(得分:1)
对于Load Balancer Nat规则,其描述如下:
标准负载均衡器后端池扩展到任何虚拟机 虚拟网络中的资源。它最多可以包含1000个后端 实例。 后端实例是IP配置,它是 NIC资源的属性。
因此,要为VM创建两个步骤:
您可以在门户中的一个步骤中添加Nat规则,但是您需要通过命令执行两个步骤。另外,您还需要注意,NSG规则对于允许流量进入端口也是必要的。
答案 1 :(得分:0)
Gary,我了解您所面临的问题,我还试图通过PS配置目标VM和网络IP配置(如果VM与两个NIC关联)。 但是,我无法执行此操作,因为Commandlet“ Add-AzLoadBalancerInboundNatRuleConfig”不随目标VM参数一起提供。
我能够获得FrontendIP和入站NAT规则。但是,设置与这些入站nat规则关联的目标VM和NIC是一项挑战。
“ Add-AzLoadBalancerInboundNatRuleConfig”在“ LB设置”部分中未显示入站nat规则。
下面的脚本将帮助您获取现有的目标VM名称和NIC。
$ lb = Get-AzLoadBalancer -ResourceGroupName $ rgname -Name $ lbname $ lbinboudnatrule = Get-AzLoadBalancerInboundNatRuleConfig -LoadBalancer $ lb foreach($ lbinboudnatrule中的$ lbrule) { $ bip = $ lbrule.BackendIPConfiguration.Id -split'/subscriptions/---------------/Microsoft.Network/networkInterfaces/' $ info = $ bip -split'----------- / ipConfigurations /' $ wrapper =新对象PSObject-属性@ {NATRuleName = $ lbrule.Name; TargetVirtualMachine = $ info [1]; NetworkIPConfiguration = $ info [2]} $ wrapper | Export-csv-路径C:/Temp/lb.csv -Append -NoTypeInformation }
答案 2 :(得分:-1)
您需要在NSG上进行设置,以下是我为对RDP端口进行类似操作而创建的脚本的示例摘要。
Add-AzureRmNetworkSecurityRuleConfig -Name $ruleName -NetworkSecurityGroup $nsg -Access Allow -Description "Allowing RDP connection from current location" -DestinationAddressPrefix * -DestinationPortRange $port -Direction Inbound -Priority $priorityNew -Protocol * -SourceAddressPrefix $current_IP -SourcePortRange *
$hout = Set-AzureRmNetworkSecurityGroup -NetworkSecurityGroup $nsg