Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Правило NAT для входящего трафика используется для пересылки трафика с внешнего интерфейса балансировщика нагрузки на один или несколько узлов в серверном пуле. Эти правила обеспечивают соотношение 1:1 между внешним IP-адресом балансировщика нагрузки и экземплярами бэкэнда. В настоящее время существует две версии правил NAT для входящего трафика, версия 1 и версия 2.
Внимание
30 сентября 2027 г. правила NAT для входящего трафика версии 1 будут прекращены. Если вы используете правила NAT для входящего трафика версии 1, обязательно обновите правила NAT для входящих подключений версии 2 до даты выхода на пенсию.
Правило NAT версии 1
Версия 1 — это устаревший подход для привязки фронтального порта Azure Load Balancer к каждому бекенд-экземпляру. Правила применяются к сетевой карте сетевого интерфейса серверного экземпляра. Для экземпляров Масштабируемых наборов виртуальных машин (VMSS) в Azure правила NAT для входящего трафика автоматически создаются и удаляются в процессе их увеличения или уменьшения. Для управления правилами NAT для входящего трафика версии 1 в экземплярах VMSS используйте свойство Inbound NAT Pools
.
Правило NAT версии 2
Версии 2 правил NAT для входящего трафика предоставляют тот же набор функций, что и версия 1, с дополнительными преимуществами.
- Упрощенное развертывание и оптимизированные обновления.
- Правила NAT для входящих подключений теперь предназначены для внутреннего пула подсистемы балансировки нагрузки и больше не требуют ссылки на сетевой адаптер виртуальной машины. Ранее в версии 1 подсистема балансировки нагрузки и сетевой адаптер виртуальной машины должны обновляться всякий раз, когда было изменено правило NAT для входящего трафика. Для версии 2 требуется только один вызов конфигурации подсистемы балансировки нагрузки, что приводит к оптимизированным обновлениям.
- Легко извлеките сопоставление портов между правилами NAT для входящих подключений и внутренними экземплярами.
- При использовании устаревшей функции для получения сопоставления портов между правилом NAT для входящего трафика и экземпляром виртуальной машины необходимо ассоциировать правило с сетевым адаптером виртуальной машины. Версия 2 внедряет сопоставление портов между правилом и серверным экземпляром непосредственно в конфигурацию подсистемы балансировки нагрузки.
Как узнать, использую ли я первую версию правил входящего NAT?
Самый простой способ определить, используют ли ваши развертывания версию 1 данной функции, это проверить конфигурацию балансировщика нагрузки. Правила NAT версии 1 будут иметь тип виртуальной машины Azure и определенное значение целевой виртуальной машины.
Для правил NAT версии 2 значение типа будет пулом серверов с заданным целевым пулом серверов.
Чтобы программно определить, использует ли развертывание версии 1 правил NAT для входящего трафика, проверьте конфигурацию подсистемы балансировки нагрузки с помощью Azure CLI или PowerShell. Если хотя бы одно из свойств в конфигурации InboundNATRule
заполнено, тогда развертывание — это версия 1 правил NAT для входящих подключений. Правила версии 2 будут иметь backendAddressPool
свойство вместо backendIPConfiguration
свойства.
Как перейти с версии 1 на версию 2?
Прежде чем переместиться, важно просмотреть следующую информацию.
- Переход на версию 2 правил NAT для входящего трафика приводит к простою активного трафика, который проходит через правила NAT. Трафик, проходящий через правила балансировки нагрузки или правила исходящего трафика, не подвергается воздействию в процессе миграции.
- Запланируйте максимальное количество экземпляров в серверном пуле. Так как версия 2 предназначена для серверного пула подсистемы балансировки нагрузки, необходимо выделить достаточное количество портов для внешнего интерфейса правила NAT.
- Каждый экземпляр backend открывается на порту, настроенном в новом правиле NAT.
- Несколько правил NAT не могут существовать, если они имеют перекрывающийся диапазон портов или имеют один и тот же внутренний порт.
- Правила NAT и правила балансировки нагрузки не могут совместно использовать один и тот же внутренний порт.
Миграция вручную
Для миграции на 2 правил NAT для входящего трафика необходимо выполнить следующие три шага.
- Удалите версию 1 правил NAT для входящего трафика в конфигурации подсистемы балансировки нагрузки.
- Удалите ссылку на правило NAT в конфигурации масштабируемого набора виртуальных машин или виртуальной машины.
- Все экземпляры масштабируемого набора виртуальных машин необходимо обновить.
- Разверните версию 2 правил NAT для входящего трафика.
Виртуальная машина
Следующие шаги используются для миграции с версии 1 на 2 правил NAT для входящего трафика для виртуальной машины.
az network lb inbound-nat-rule delete -g MyResourceGroup --lb-name MyLoadBalancer --name NATruleV1
az network nic ip-config inbound-nat-rule remove -g MyResourceGroup --nic-name MyNic -n MyIpConfig --inbound-nat-rule MyNatRule
az network lb inbound-nat-rule create -g MyResourceGroup --lb-name MyLoadBalancer -n MyNatRule --protocol Tcp --frontend-port-range-start 201 --frontend-port-range-end 500 --backend-port 22 --backend-address-pool MybackendPool
Масштабируемый набор виртуальных машин
Следующие шаги используются для миграции с версии 1 до версии 2 правил NAT для входящего трафика для масштабируемого набора виртуальных машин. Предполагается, что для режима обновления масштабируемого набора виртуальных машин задано значение "Вручную". Дополнительные сведения см. о "режимах оркестрации" для масштабируемых наборов виртуальных машин в Azure
az network lb inbound-nat-pool delete -g MyResourceGroup --lb-name MyLoadBalancer -n MyNatPool
az vmss update -g MyResourceGroup -n MyVMScaleSet --remove virtualMachineProfile.networkProfile.networkInterfaceConfigurations[0].ipConfigurations[0].loadBalancerInboundNatPools
az vmss update-instances --instance-ids '*' --resource-group MyResourceGroup --name MyVMScaleSet
az network lb inbound-nat-rule create -g MyResourceGroup --lb-name MyLoadBalancer -n MyNatRule --protocol Tcp --frontend-port-range-start 201 --frontend-port-range-end 500 --backend-port 22 --backend-address-pool MybackendPool
Миграция с помощью скрипта автоматизации для масштабируемого набора виртуальных машин
Процесс миграции будет повторно использовать существующие серверные пулы с членством в соответствии с пулами NAT, которые будут перенесены; Если не найден соответствующий серверный пул, скрипт завершит работу (без внесения изменений). Кроме того, используйте -backendPoolReuseStrategy
параметр, чтобы всегда создавать серверные пулы (NoReuse
) или создавать новый внутренний пул, если соответствующий пул не существует (OptionalFirstMatch
). Серверные пулы и связи правил NAT можно обновить после миграции, чтобы соответствовать вашим предпочтениям.
Предварительные условия
Перед началом процесса миграции убедитесь, что выполнены следующие предварительные требования:
- Номер SKU подсистемы балансировки нагрузки должен быть стандартом для переноса пулов NAT подсистемы балансировки нагрузки в правила NAT. Чтобы автоматизировать этот процесс обновления, ознакомьтесь с инструкциями, описанными в статье Об обновлении базовой подсистемы балансировки нагрузки до уровня "Стандартный" с помощью PowerShell.
- Масштабируемые наборы виртуальных машин, связанные с целевой подсистемой балансировки нагрузки, должны использовать политику обновления "Вручную" или "Автоматически" — политика обновления "Постепенно" не поддерживается. Дополнительные сведения см. в разделе Политики обновления масштабируемых наборов виртуальных машин.
- Установите последнюю версию PowerShell.
- Установите модули Azure PowerShell.
Установите модуль AzureLoadBalancerNATPoolMigration
С помощью следующей команды AzureLoadBalancerNATPoolMigration
установите модуль из PowerShell Gallery:
# Install the AzureLoadBalancerNATPoolMigration module
Install-Module -Name AzureLoadBalancerNATPoolMigration -Scope CurrentUser -Repository PSGallery -Force
Переход от пулов NAT к правилам NAT
azureLoadBalancerNATPoolMigration
После установки модуля обновите пулы NAT до правил NAT, выполнив следующие действия.
Подключитесь к Azure с помощью
Connect-AzAccount
.Соберите имена целевого балансировщика нагрузки для обновления правил NAT и имя группы ресурсов.
Выполните команду миграции с именами ресурсов, заменив заполнители
<loadBalancerResourceGroupName>
и<loadBalancerName>
:# Run the migration command Start-AzNATPoolMigration -ResourceGroupName <loadBalancerResourceGroupName> -LoadBalancerName <loadBalancerName>
Следующие шаги
- Узнайте о управлении входящими правилами NAT
- Узнайте о пулах NAT Azure Load Balancer и правилах NAT