Обновление всех общедоступных 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: поскольку подсистема балансировки нагрузки и общедоступные IP-номера SKU, связанные с виртуальной машиной, должны соответствовать, невозможно обновить общедоступные IP-адреса уровня экземпляра, связанные с виртуальной машиной, когда сетевые интерфейсы виртуальной машины также связаны с подсистемой балансировки нагрузки, либо через членство в серверном пуле или пуле 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
Использование модуля
Выбор
Select-AzSubscription
подписки Azure, в которой существует группа доступностиSelect-AzSubscription -Subscription <SubscriptionId>
Найдите группу доступности с подключенными общедоступными IP-адресами уровня "Базовый", которые вы хотите обновить. Запишите имя и имя группы ресурсов.
Проверьте параметры модуля:
- AvailabilitySetName [string] Обязательный параметр . Этот параметр является именем группы доступности.
- ResourceGroupName [string] Обязательный параметр . Этот параметр является группой ресурсов для группы доступности с подключенными общедоступными IP-адресами уровня "Базовый", которые требуется обновить.
Запустите обновление, используя следующие примеры или
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-VMPublicIPUpgrade -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 уровня "Стандартный" идентичен и работает в скрипте.