Azure powershell命令,用于创建现有负载平衡器的新入站NAT池

Azure powershell命令,用于创建现有负载平衡器的新入站NAT池,azure,powershell,azure-load-balancer,Azure,Powershell,Azure Load Balancer,我想将现有Azure负载平衡器连接到虚拟机规模集,为此,我需要创建入站nat池,以便获取入站nat池的资源ID并将其传递给VM的ARM模板。 提前感谢。根据我的研究,我们可以使用PowerShell命令新建AzLoadBalancerInboundNatPoolConfig来创建入站nat池。有关更多详细信息,请参阅 例如: Connect-AzAccount $slb = Get-AzLoadBalancer -Name "testload" -ResourceGroup

我想将现有Azure负载平衡器连接到虚拟机规模集,为此,我需要创建入站nat池,以便获取入站nat池的资源ID并将其传递给VM的ARM模板。
提前感谢。

根据我的研究,我们可以使用PowerShell命令
新建AzLoadBalancerInboundNatPoolConfig
来创建入站nat池。有关更多详细信息,请参阅

例如:

Connect-AzAccount

$slb = Get-AzLoadBalancer -Name "testload" -ResourceGroupName "testfun07"
$feIpConfig = Get-AzLoadBalancerFrontendIpConfig -Name "LoadBalancerFrontEnd" -Loadbalancer $slb

New-AzLoadBalancerInboundNatPoolConfig -Name "myInboundNatPool" -FrontendIpConfigurationId $feIpConfig.Id -Protocol TCP -FrontendPortRangeStart 1001 -FrontendPortRangeEnd 2000 -BackendPort 1001


更新 如果要使用PowerShell为现有负载平衡器创建入站NAT池,则需要执行以下步骤

  • 创建入站NAT池
  • 为laad平衡器配置ppol
  • 更新负载平衡器
  • 比如说

    $name = "you account"
    $password = "password"
    $secpasswd = ConvertTo-SecureString $password -AsPlainText -Force
    $mycreds = New-Object System.Management.Automation.PSCredential ($name, $secpasswd)
    Connect-AzureRmAccount -Credential $mycreds 
    
    $slb = Get-AzureRmLoadBalancer -Name "testload" -ResourceGroupName "testfun07"
    
    $feIpConfig = Get-AzureRmLoadBalancerFrontendIpConfig -Name "LoadBalancerFrontEnd" -Loadbalancer $slb
    
    Add-AzureRmLoadBalancerInboundNatPoolConfig -LoadBalancer $slb -Name "myInboundNatPool" -FrontendIpConfigurationId $feIpConfig.Id -Protocol TCP -FrontendPortRangeStart 1001 -FrontendPortRangeEnd 2000 -BackendPort 1001
     "1" | Out-File -FilePath E:\mytest.txt -Append -Encoding utf8
    
    Get-AzureRmLoadBalancer -Name "testload" -ResourceGroupName "testfun07" | Select-Object InboundNatPools | fl | Out-File -FilePath E:\mytest.txt -Append -Encoding utf8
    
    
    
    Set-AzureRmLoadBalancerInboundNatPoolConfig -LoadBalancer $slb -Name "myInboundNatPool" -FrontendIpConfigurationId $feIpConfig.Id -Protocol TCP -FrontendPortRangeStart 1001 -FrontendPortRangeEnd 2000 -BackendPort 1001
    
     "2" | Out-File -FilePath E:\mytest.txt -Append -Encoding utf8
    
    Get-AzureRmLoadBalancer -Name "testload" -ResourceGroupName "testfun07" | Select-Object InboundNatPools | fl | Out-File -FilePath E:\mytest.txt -Append -Encoding utf8
    
    
    
    Set-AzureRmLoadBalancer -LoadBalancer $slb
    
    "3" | Out-File -FilePath E:\mytest.txt -Append -Encoding utf8
    
    Get-AzureRmLoadBalancer -Name "testload" -ResourceGroupName "testfun07" | Select-Object InboundNatPools | fl | Out-File -FilePath E:\mytest.txt -Append -Encoding utf8
    

    谢谢你的回复,但经过多次尝试,我终于找到了答案

    New-AzureRmLoadBalancerInboundNatPoolConfig -Name "natpool3" -Protocol Tcp -FrontendPortRangeStart 50000 -FrontendPortRangeEnd 50119 -BackendPort 3389
    $lb= Get-AzureRmLoadBalancer -ResourceGroupName VMSS-RG -Name nbslb
    $feip=(Get-AzureRmLoadBalancer -ResourceGroupName VMSS-RG -Name nbslb).FrontendIpConfigurations[0].Id
    Add-AzureRmLoadBalancerInboundNatPoolConfig -LoadBalancer $lb -FrontendIpConfigurationId $feip -Name "natpool3" -Protocol Tcp -FrontendPortRangeStart 50000 -FrontendPortRangeEnd 50119 -BackendPort 3389 
    Set-AzureRmLoadBalancer -LoadBalancer $lb
    

    “入站nat池”是什么意思?您可以使用Azure CLI命令创建入站nat池。有关更多详细信息,请参阅@NiteshSingh,因为您的问题已经解决,请接受您或我的回答?它可能会帮助更多人。是的,我也尝试过,但我无法使用此命令获取入站nat池的ID
    (get-AzureRmLoadBalancer-ResourceGroupName VMSS-RG-Name nbslb)。InboundNatPools[0]。ID
    。是否可以检查您是否正在获取id。@Nitehsingh您是否希望为现有负载平衡器创建入站nat池?
    Set-AzureRmLoadBalancer -LoadBalancer $slb
    
    
    $name = "you account"
    $password = "password"
    $secpasswd = ConvertTo-SecureString $password -AsPlainText -Force
    $mycreds = New-Object System.Management.Automation.PSCredential ($name, $secpasswd)
    Connect-AzureRmAccount -Credential $mycreds 
    
    $slb = Get-AzureRmLoadBalancer -Name "testload" -ResourceGroupName "testfun07"
    
    $feIpConfig = Get-AzureRmLoadBalancerFrontendIpConfig -Name "LoadBalancerFrontEnd" -Loadbalancer $slb
    
    Add-AzureRmLoadBalancerInboundNatPoolConfig -LoadBalancer $slb -Name "myInboundNatPool" -FrontendIpConfigurationId $feIpConfig.Id -Protocol TCP -FrontendPortRangeStart 1001 -FrontendPortRangeEnd 2000 -BackendPort 1001
     "1" | Out-File -FilePath E:\mytest.txt -Append -Encoding utf8
    
    Get-AzureRmLoadBalancer -Name "testload" -ResourceGroupName "testfun07" | Select-Object InboundNatPools | fl | Out-File -FilePath E:\mytest.txt -Append -Encoding utf8
    
    
    
    Set-AzureRmLoadBalancerInboundNatPoolConfig -LoadBalancer $slb -Name "myInboundNatPool" -FrontendIpConfigurationId $feIpConfig.Id -Protocol TCP -FrontendPortRangeStart 1001 -FrontendPortRangeEnd 2000 -BackendPort 1001
    
     "2" | Out-File -FilePath E:\mytest.txt -Append -Encoding utf8
    
    Get-AzureRmLoadBalancer -Name "testload" -ResourceGroupName "testfun07" | Select-Object InboundNatPools | fl | Out-File -FilePath E:\mytest.txt -Append -Encoding utf8
    
    
    
    Set-AzureRmLoadBalancer -LoadBalancer $slb
    
    "3" | Out-File -FilePath E:\mytest.txt -Append -Encoding utf8
    
    Get-AzureRmLoadBalancer -Name "testload" -ResourceGroupName "testfun07" | Select-Object InboundNatPools | fl | Out-File -FilePath E:\mytest.txt -Append -Encoding utf8
    
    New-AzureRmLoadBalancerInboundNatPoolConfig -Name "natpool3" -Protocol Tcp -FrontendPortRangeStart 50000 -FrontendPortRangeEnd 50119 -BackendPort 3389
    $lb= Get-AzureRmLoadBalancer -ResourceGroupName VMSS-RG -Name nbslb
    $feip=(Get-AzureRmLoadBalancer -ResourceGroupName VMSS-RG -Name nbslb).FrontendIpConfigurations[0].Id
    Add-AzureRmLoadBalancerInboundNatPoolConfig -LoadBalancer $lb -FrontendIpConfigurationId $feip -Name "natpool3" -Protocol Tcp -FrontendPortRangeStart 50000 -FrontendPortRangeEnd 50119 -BackendPort 3389 
    Set-AzureRmLoadBalancer -LoadBalancer $lb