Поделиться через


Обновите все общедоступные IP-адреса, подключенные к виртуальным машинам в наборе доступности, с уровня "Базовый" до "Стандартный".

Внимание

30 сентября 2025 г. общедоступные IP-адреса SKU уровня "Базовый" будут прекращены. Дополнительные сведения см. в официальном объявлении. Если вы используете общедоступные IP-адреса SKU уровня "Базовый", обязательно обновите общедоступные IP-адреса SKU уровня "Стандартный" до даты выхода на пенсию. В этой статье описано, как выполнить процесс обновления.

Дополнительные сведения о прекращении использования общедоступных IP-адресов SKU уровня "Базовый" и преимущества общедоступных IP-адресов SKU уровня "Стандартный" смотрите здесь.

Общие сведения об обновлении

Этот скрипт обновляет все общедоступные IP-адреса, присоединенные к виртуальным машинам в группе доступности, с базового уровня до стандартного SKU. Чтобы выполнить обновление, метод выделения общедоступных IP-адресов устанавливается статическим, прежде чем отсоединяться от каждой виртуальной машины. После отключения номер SKU общедоступного IP-адреса обновляется до уровня "Стандартный", после чего IP-адрес повторно связан с исходной виртуальной машиной, пока не будут обновлены все IP-адреса.

Поскольку выделение общедоступных IP-адресов установлено как "Static", IP-адреса не изменяются при отсоединении от виртуальных машин во время процесса обновления, даже в случае сбоя скрипта. Модуль дважды проверяет, является ли метод выделения общедоступных IP-адресов статическим, прежде чем отсоединять общедоступный IP-адрес от виртуальной машины.

Модуль регистрирует все действия обновления до файла с именем AvSetPublicIPUpgrade.log, созданного в том же расположении, где модуль был выполнен (по умолчанию).

Ограничения/ неподдерживаемые сценарии

  • Виртуальные машины с сетевыми интерфейсами, связанными с Load Balancer: Поскольку Load Balancer и SKU общедоступных IP-адресов, связанные с виртуальной машиной, должны соответствовать, невозможно обновить IP-адреса уровня экземпляра, связанные с виртуальной машиной, если сетевые интерфейсы виртуальной машины также связаны с Load Balancer, будь то через участие в серверном пуле или пуле NAT. Используйте скрипты для обновления балансировщика нагрузки с Базового SKU до Стандартного SKU, чтобы одновременно обновить балансировщик нагрузки и общедоступные IP-адреса.

  • Виртуальные машины без группы безопасности сети: виртуальные машины с IP-адресами, которые необходимо обновить, должны иметь группу безопасности сети (NSG), связанную либо с подсетью каждой конфигурации IP-адресов с общедоступным IP-адресом, либо с сетевым адаптером напрямую. Это связано с тем, что общедоступные IP-адреса SKU уровня "Стандартный" являются "безопасными по умолчанию", что означает, что любой трафик к общедоступному IP-адресу должен быть явно разрешен в NSG для доступа к виртуальной машине. Общедоступные IP-адреса SKU уровня "Базовый" разрешают любой трафик по умолчанию. Обновление типов SKU общедоступных IP-адресов без NSG приведет к тому, что входящий интернет-трафик будет направлен на общедоступный IP-адрес, который ранее разрешён с использованием типа SKU "Базовый". См.: SKU для общедоступных IP

Скачивание скрипта

Загрузите скрипт миграции из коллекции PowerShell.

Install-Module -Name AzureAvSetBasicPublicIPUpgrade -Scope CurrentUser -Repository PSGallery -Force

Использование модуля

  1. Используйте Select-AzSubscription, чтобы выбрать подписку Azure, в которой находится ваша группа доступности.

    Select-AzSubscription -Subscription <SubscriptionId>
    
  2. Найдите группу доступности с подключенными общедоступными IP-адресами уровня "Базовый", которые вы хотите обновить. Запишите название и имя группы ресурсов.

  3. Проверьте параметры модуля:

    • AvailabilitySetName [string] Обязательный параметр . Этот параметр является именем группы доступности.
    • ResourceGroupName [string] - обязательный параметр Этот параметр представляет собой группу ресурсов для вашего набора доступности с подключенными общедоступными IP-адресами уровня "Базовый", которые вы хотите обновить.
  4. Запустите обновление, используя в качестве руководства следующие примеры или Get-Help Start-AzAvSetPublicIPUpgrade.

Пример использования скрипта

Обновите виртуальные машины в одной группе доступности, передав имя группы доступности и имя группы ресурсов в качестве параметров.

Start-AzAvSetPublicIPUpgrade -availabilitySetName 'myAvSet' -resourceGroupName 'myRG'

Оцените виртуальные машины в одной группе доступности, не внося изменений.

Start-AzAvSetPublicIPUpgrade -availabilitySetName 'myAvSet' -resourceGroupName 'myRG' -WhatIf

Попробуйте обновить виртуальные машины в каждой группе доступности, к к ней у пользователя есть доступ. Виртуальные машины без общедоступных IP-адресов, которые уже обновлены или которые не имеют НСГ, пропускаются.

Get-AzAvailabilitySet -resourceGroupName 'myRG' | Start-AzAvSetPublicIPUpgrade -skipVMMissingNSG

Восстановите после неудачной миграции, передав имя и группу ресурсов набора доступности для восстановления вместе с файлом журнала восстановления.

Start-AzAvSetPublicIPUpgrade -RecoverFromFile ./AvSetPublicIPUpgrade_Recovery_2020-01-01-00-00.csv -AvailabilitySetName myAvSet -ResourceGroup rg-myrg

Восстановление после неудачной миграции

Если миграция завершается сбоем из-за временных проблем, таких как сбой сети или проблема с клиентской системой, миграцию можно повторить для настройки виртуальной машины и общедоступных IP-адресов в целевом состоянии. При выполнении скрипт выводит файл журнала восстановления, который используется для правильной настройки виртуальной машины. Просмотрите файл AvSetPublicIPUpgrade.log журнала, созданный в расположении, где был выполнен скрипт.

Чтобы восстановиться после сбоя обновления, передайте путь к файлу журнала восстановления скрипту с параметром -recoverFromFile, а группу доступности для восстановления укажите с параметром -AvailabilitySetName, как показано в этом примере.

Start-AzAvSetPublicIPUpgrade -RecoverFromFile ./AvSetPublicIPUpgrade_Recovery_2020-01-01-00-00.csv -AvailabilitySetName myAvSet -ResourceGroupName rg-myrg

Часто задаваемые вопросы

Сколько времени займет миграция и сколько времени моя виртуальная машина будет недоступна в общедоступном IP-адресе?

Время обновления общедоступных IP-адресов виртуальной машины зависит от количества общедоступных IP-адресов и сетевых интерфейсов, связанных с виртуальной машиной. При тестировании виртуальная машина с одним сетевым адаптером и общедоступным IP-адресом занимает от 1 до 2 минут для обновления. Каждый сетевой интерфейс на виртуальной машине добавляет около одной минуты, а каждый общедоступный IP-адрес добавляет несколько секунд.

Можно ли вернуться к общедоступному IP-адресу SKU уровня "Базовый"?

Невозможно понизить уровень публичного IP-адреса с "Стандартного" до "Базового".

Можно ли протестировать миграцию перед выполнением?

Нет способа оценить обновление общедоступного IP-адреса без завершения действия. Однако этот скрипт содержит -WhatIf параметр, который проверяет, что виртуальные машины группы доступности будут поддерживать обновление и выполнять шаги без принятия действий.

Поддерживает ли сценарий общедоступные IP-адреса зонального SKU уровня "Базовый"?

Да, процесс обновления общедоступного IP-адреса зонального SKU уровня "Базовый" до общедоступного IP-адреса зонального номера SKU уровня "Стандартный" идентичен и работает в скрипте.

Следующие шаги