Как заменить целевую виртуальную и сетевую карту в правиле входящего NAT Azure Load Balancer - PullRequest
0 голосов
/ 03 июля 2019

У меня есть балансировщик нагрузки Azure Frontend с входящими правилами NAT.Я хочу изменить целевое / целевое назначение этих правил NAT на новый целевой сервер.

В настоящее время у меня есть встроенный скрипт, который получает все правила NAT от LB, а затем перебирает их и пытается ДОБАВИТЬих на сетевой адаптер нового сервера.Я попытался с и без удаления правила NAT от сетевой карты старого сервера.В любом случае, метод возвращает значение false, и изменения не применяются.

#Set Variables
#subscription ID
$subscription = "value"
#the name of the old NIC that has the LB rules
$OldNicName = "old_nic"
#the name of the NIC to be attached to the LB rules
$NewNicName = "new_nic"
#name of the loadbalancer
$lbname = "my_lb"

#Set Active Subscription
Set-AzContext -SubscriptionId $subscription

#Get the loadbalancer
$lb = Get-AzLoadBalancer -Name $lbname

#Get the old firewall interface/NIC
$OldNic = Get-AzNetworkInterface -Name $OldNicName

#Get the target firewall interface/NIC
$NewNic = Get-AzNetworkInterface -Name $NewNicName

#Attach NAT rules to the NIC
$lb.InboundNatRules | ForEach-Object -Process {$OldNic.IpConfigurations[0].LoadBalancerInboundNatRules.Remove($_); $NewNic.IpConfigurations[0].LoadBalancerInboundNatRules.Add($_)}

#Apply the configuration and reload the NIC
$OldNic | Set-AzNetworkInterface
$NewNic | Set-AzNetworkInterface

Я хочу, чтобы каждое входящее правило NAT теперь ассоциировалось с новым NIC / VM, но в настоящее время и Remove (), и Add () функции выше возвращают ЛОЖЬ.

1 Ответ

0 голосов
/ 05 июля 2019

Для вашей проблемы вы хотите изменить целевое / целевое назначение этих правил NAT на новый целевой сервер. Правила NAT, связанные с сетевым интерфейсом виртуальной машины и устанавливаемые в конфигурации IP-интерфейса. Таким образом, вам нужно использовать две команды PowerShell Set-AzNetworkInterfaceIpConfig и Set-AzNetworkInterface для достижения вашей цели. Сценарий таков:

# Set Variables
# subscription ID
$subscription = "value"
# the name of the old NIC that has the LB rules
$OldNicName = "old_nic"
# the name of the NIC to be attached to the LB rules
$NewNicName = "new_nic"
# name of the loadbalancer
$lbname = "my_lb"
# assume all the resources in the same group
$groupname = "group_name"

Set-AzContext -SubscriptionId $subscription

# remove the NAT rules from the old NIC
$oldNic = Get-AzNetworkInterface -ResourceGroupName $groupname -Name $OldNicName
$list = @()       # this is a empty array
Set-AzNetworkInterfaceIpConfig -Name ipconfig1 -NetworkInterface $oldNic -LoadBalancerInboundNatRule $list 
$oldNic | Set-AzNetworkInterface

# associate the NAT rules to the new NIC

$newNic = Get-AzNetworkInterface -ResourceGroupName $groupname -Name $NewNicName
$lb = Get-AzLoadBalancer -ResourceGroupName $groupname -Name $lbname
$NatRules = Get-AzLoadBalancerInboundNatRuleConfig -LoadBalancer $lb
Set-AzNetworkInterfaceIpConfig -Name ipconfig1 -NetworkInterface $newNic -LoadBalancerInboundNatRule $NatRules
$newNic | Set-AzNetworkInterface
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...