Миграция существующих стандартных пространств имен Служебной шины Azure на уровень "Премиум"
Раньше пространства имен, предлагаемые Служебной шиной Azure, предоставлялись только на уровне "Стандартный". Пространства имен — это многотенантные настройки, оптимизированные для низкой пропускной способности и сред разработчика. Уровень "Премиум" предлагает выделенные ресурсы для каждого пространства имен, что обеспечивает прогнозируемую задержку и увеличение пропускной способности по фиксированной цене. Уровень "Премиум" оптимизирован для высокой пропускной способности и рабочих сред, которым требуются дополнительные функции, рассчитанные на корпоративное использование.
В этой статье описывается, как перенести существующие пространства имен уровня "Стандартный" на уровень "Премиум".
Предупреждение
Миграция предназначена для обновления стандартных пространств имен Служебной шины до уровня “Премиум”. Средство миграции не поддерживает понижение уровня. Во время миграции со стандарта на уровень "Премиум" будет создан указатель DNS, который можно использовать для доступа к стандартной служебной шине. Обратите внимание, что во время миграции будет создано альтернативное имя, представляющее указатель на пространство имен DNS старой служебной шины, и операция не может быть отменена. Любое тестирование должно выполняться в тестовой среде.
Обратите внимание на некоторые моменты.
- Миграцию предполагается выполнять “на месте”. Это значит, что существующие приложения-отправители и приложения-получатели не нуждаются в каких-либо изменениях кода или конфигурации. Существующая строка подключения будет автоматически указывать на новое пространство имен уровня “Премиум”.
- Если вы используете существующее имя уровня "Премиум", пространство имен "Премиум " не должно содержать сущностей в нем для успешной миграции и не должно включать секционирование.
- Все сущности стандартного пространства имен копируются в пространство имен уровня "Премиум" в процессе миграции.
- Миграция поддерживает 1000 сущностей на единицу обмена сообщениями на уровне “Премиум”. Чтобы узнать, сколько понадобится единиц обмена сообщениями, для начала используйте столько сущностей, сколько содержит текущее стандартное пространство имен.
- Вы не можете напрямую перейти с Базового уровня на Премиум, но это можно сделать косвенным образом, сначала выполнив переход с уровня “Базовый” на “Стандартный”, а затем с уровня "Стандартный" на "Премиум".
- Параметры управления доступом на основе ролей (RBAC) не переносятся, поэтому их необходимо добавить вручную после миграции.
Шаги миграции
С процессом миграции связано несколько условий. Изучите следующие шаги, чтобы снизить вероятность ошибок. Эти шаги описывают процесс миграции. Пошаговые инструкции приведены в следующих разделах.
- Создание нового пространства имен категории "Премиум". Выполните следующие три действия с помощью следующего интерфейса командной строки или портал Azure инструкции в этой статье.
- Связывание пространств имен категорий “Стандартный” и “Премиум” друг с другом.
- Синхронизация (копирование) сущностей из стандартного пространства имен в пространство имен уровня “Премиум”.
- Выполнение миграции.
- Очистка сущностей в стандартном пространстве имен с помощью имени пространства имен после миграции.
- Удаление стандартного пространства имен.
Внимание
После миграции зайдите в старое стандартное пространство имен и очистите очереди и подписки. Очищенные сообщения можно отправить в новое пространство имен уровня “Премиум” для обработки приложениями-получателями. После очистки очередей и подписок рекомендуется удалить старое стандартное пространство имен.
Миграция с помощью Azure CLI или PowerShell
Чтобы перенести стандартное пространство имен Служебной шины на уровень “Премиум” с помощью средства Azure CLI или PowerShell, выполните следующие действия.
Создайте новое пространство имен Служебной шины уровня "Премиум". Вы можете использовать шаблоны Azure Resource Manager или портал Azure. Не забудьте выбрать значение premium для параметра serviceBusSku.
Задайте следующие переменные среды, чтобы упростить команды миграции. Вы можете получить идентификатор Azure Resource Manager для пространства имен уровня "Премиум", перейдя к пространству имен в портал Azure и скопировав часть URL-адреса, которая выглядит следующим образом:
/subscriptions/00000000-0000-0000-0000-00000000000000/resourceGroups/contosoresourcegroup/providers/Microsoft.ServiceBus/namespaces/contosopremiumnamespace
resourceGroup = <resource group for the standard namespace> standardNamespace = <standard namespace to migrate> premiumNamespaceArmId = <Azure Resource Manager ID of the premium namespace to migrate to> postMigrationDnsName = <post migration DNS name entry to access the standard namespace>
Внимание
Псевдоним либо имя после миграции (post_migration_dns_name) будет использоваться для доступа к старому стандартному пространству имен после миграции. Используйте его для очистки очередей и подписок, а затем удалите пространство имен.
Свяжите пространства имен уровней “Стандартный” и “Премиум” и запустите синхронизацию с помощью следующей команды:
az servicebus migration start --resource-group $resourceGroup --name $standardNamespace --target-namespace $premiumNamespaceArmId --post-migration-name $postMigrationDnsName
Проверьте состояние миграции с помощью следующей команды.
az servicebus migration show --resource-group $resourceGroup --name $standardNamespace
Миграция считается завершенной, если отображаются следующие значения:
- MigrationState = Active
- pendingReplicationsOperationsCount = 0
- provisioningState = Succeeded
Эта команда также отображает конфигурацию миграции. Убедитесь, что значения заданы правильно. Также проверьте пространство имен уровня “Премиум” на портале и убедитесь, что все очереди и разделы созданы и совпадают с очередями и разделами стандартного пространства имен.
Выполните миграцию с помощью следующей команды:
az servicebus migration complete --resource-group $resourceGroup --name $standardNamespace
Миграция с помощью портала Azure
Миграция на портале Azure использует тот же логический поток, что и миграция с помощью команд. Чтобы осуществить миграцию на портале Azure, выполните описанные ниже действия.
В меню навигации в левой области выберите Перейти на “Премиум”. Нажмите кнопку "Начало работы", чтобы перейти на следующую страницу.
Появится следующая страница Пространства имен настройки.
На страницах Пространства имен настройки выполните одно из следующих действий:
- Если выбрать "Создать новое пространство имен класса "Премиум":
На странице Создание пространства имен введите имя пространства имен и выберите Проверить и создать.
На странице Отзыв и создание выберите Создать.
- Если выбрать существующее пустое пространство имен класса Premium:
Выберите подписку Azure и группу ресурсов с пространством имен.
Затем выберите пространство имен категории "Премиум".
Затем щелкните Выбрать.
- Если выбрать "Создать новое пространство имен класса "Премиум":
Введите имя после миграции и нажмите кнопку Далее. Это имя будет использоваться для доступа к стандартному пространству имен после завершения миграции.
Выберите Начать синхронизацию и синхронизируйте сущности между пространствами имен уровней “Стандартный” и “Премиум”.
Нажмите кнопку Да в диалоговом окне, чтобы подтвердить и запустить синхронизацию. Затем дождитесь завершения синхронизации. Затем выберите Далее.
Внимание
Если вам нужно по какой-то причине прервать миграцию, почитайте о потоке прерывания в разделе часто задаваемых вопросов этого документа.
На странице Завершение миграции выберите Переключить.
Выберите Да, чтобы подтвердить смену стандартного пространства имен на пространство категории "Премиум". Когда переключение будет завершено, DNS-имя пространства имен категории "Стандартный" будет указывать на пространство имен категории "Премиум". Отменить эту операцию невозможно. После завершения миграции появится страница успешного выполнения.
Предупреждения
Некоторые функции, предоставляемые Служебная шина Azure уровня "Стандартный", не поддерживаются Служебная шина Azure категории "Премиум". Это сделано намеренно, так как уровень “Премиум” предлагает выделенные ресурсы для прогнозируемой пропускной способности и задержки.
Ниже приведен обзор функций, которые не поддерживаются premium и их устранение.
Экспресс-сущности
Экспресс-сущности, которые не фиксируют данные сообщения в хранилище, не поддерживаются на уровне "Премиум ". Выделенные ресурсы обеспечивают значительное улучшение пропускной способности и гарантируют сохранение данных, как ожидается в любой корпоративной системе обмена сообщениями.
Во время миграции все экспресс-сущности из пространства имен уровня "Стандартный" будут созданы в пространстве имен “Премиум”, но не как экспресс-сущности.
Если вы используете шаблоны Azure Resource Manager, удалите флаг enableExpress из конфигурации развертывания, чтобы автоматические рабочие процессы выполнялись без ошибок.
Параметры RBAC
Параметры управления доступом на основе ролей (RBAC) в пространстве имен не переносятся в пространство имен ценовой категории "Премиум". Их необходимо добавить вручную после миграции.
Вопросы и ответы
Что происходит по завершении миграции?
По завершении миграции строка подключения, указывающая на стандартное пространство имен, будет указывать на пространство имен уровня “Премиум”.
Приложения отправителя и получателя будут отключены от стандартного пространства имен и автоматически подключатся к пространству имен класса Premium.
Если вы используете идентификатор Azure Resource Manager для настройки, а строка подключения (например, в качестве назначения для подписки сетки событий), необходимо обновить идентификатор Azure Resource Manager, чтобы он был таким, как пространство имен premium.
Что делать после завершения миграции с уровня "Стандартный" на "Премиум"?
Миграция с уровня "Стандартный" на “Премиум” обеспечивает копирование метаданных сущности (разделов, подписок и фильтров) из стандартного пространства имен в пространство имен уровня “Премиум”. Данные сообщений, сохраненные в стандартном пространстве имен, не копируются из него в пространство имен уровня "Премиум".
Стандартное пространство имен может содержать сообщения, отправленные и сохраненные во время миграции. Вручную запустите эти сообщения из стандартного пространства имен и вручную отправьте их в пространство имен класса Premium. Чтобы вручную очистить сообщения, используйте консольное приложение или скрипт, который очищает стандартные сущности пространства имен с помощью DNS-имени после миграции, указанного в командах миграции. Отправьте эти сообщения в пространство имен уровня “Премиум”, чтобы получатели могли их обработать.
После очистки сообщений удалите стандартное пространство имен.
Внимание
После очистки сообщений из стандартного пространства имен удалите стандартное пространство имен. Это важно, так как строка подключения, которая изначально ссылалась на стандартное пространство имен, теперь ссылается на пространство имен уровня "Премиум". Вам больше не потребуется стандартное пространство имен. Удаление стандартного пространства имен, которое вы перенесли, помогает избежать путаницы в дальнейшем.
Каково предполагаемое время простоя?
Процесс миграции призван уменьшить ожидаемое время простоя приложений. Для сокращения времени простоя используется строка подключения, которую приложения-отправители и приложения-получатели используют, чтобы настроиться на новое пространство имен уровня “Премиум”.
Время простоя приложения не превышает период обновления записи в службе DNS, чтобы настроить ее на пространство имен уровня “Премиум”, и составляет примерно 5 минут.
Нужно ли вносить изменения в конфигурацию во время миграции?
Нет, для миграции не нужно вносить изменения в код или конфигурацию. DNS-имя стандартного пространства имен будет указывать на пространство имен класса Premium. Строка подключения, которые используются вашими приложениями отправителя и получателя для доступа к стандартному пространству имен, автоматически сопоставляются с псевдонимом пространства имен premium.
Как прервать миграцию?
Миграцию можно прервать с помощью команды Abort
или на портале Azure.
Azure CLI
az servicebus migration abort --resource-group $resourceGroup --name $standardNamespace
Портал Azure
На странице Синхронизация сущностей выберите Прервать.
По завершении отобразится следующая страница:
Что происходит при прерывании миграции?
Когда процесс миграции прерывается, прекращается процесс копирования сущностей (разделов, подписок и фильтров) из стандартного пространства имен в пространство имен уровня "Премиум", а связь между ними разрывается.
Строка подключения не обновляется и не настраивается на пространство имен уровня "Премиум". Существующие приложения продолжают работать, как и до начала миграции.
При этом сущности в пространстве имен уровня “Премиум” или само это пространство имен не удаляются. Удалите сущности вручную, если вы решили не перемещать их в процессе миграции.
Внимание
Если вы решили прервать миграцию, удалите пространство имен уровня “Премиум”, которое было подготовлено для миграции, чтобы вам не выставлялись счета за использование ресурсов.
Я не хочу очищать сообщения. Что делать?
У вас могут быть сообщения от приложений отправителей,сохраненные в хранилище стандартного пространства имен во время миграции и прямо перед ее завершением.
Во время миграции фактические данные или полезные данные сообщений не копируются из стандартного пространства имен в пространство имен уровня "Премиум". Их нужно вручную очистить и отправить в пространство имен уровня "Премиум".
Но если вы можете провести миграцию в период планового обслуживания или действий по обслуживанию и не хотите вручную очищать и отправлять сообщения, выполните следующие действия.
Остановите приложения-отправители. Приложения-получатели будут обрабатывать сообщения, которые находятся в стандартном пространстве имен, и очищать очередь.
После того как очереди и подписки в стандартном пространстве имен пусты, выполните процедуру, описанную ранее, чтобы выполнить миграцию из стандартного пространства имен класса Premium.
После завершения миграции можно перезапустить приложения-отправители.
Отправители и получатели теперь будут автоматически подключаться к пространству имен уровня "Премиум".
Примечание.
Для миграции не нужно останавливать приложения-получатели.
После завершения миграции приложения-получатели будут отключены от стандартного пространства имен и автоматически подключены к пространству имен уровня "Премиум".