Перемещение Центры событий Azure в другой регион
В этой статье показано, как скопировать пространство имен Центров событий и параметры конфигурации в другой регион.
При наличии других ресурсов в группе ресурсов Azure, содержащей пространство имен Центров событий, может потребоваться экспорт шаблона на уровне группы ресурсов, чтобы все связанные ресурсы можно было переместить в новый регион за один шаг. Сведения о том, как экспортировать группу ресурсов в шаблон, см. в статье "Перемещение ресурсов между регионами(из группы ресурсов)".
Необходимые компоненты
Убедитесь, что службы и функции, используемые вашей учетной записью, поддерживаются в целевом регионе.
Если вы включили функцию записи для центров событий в пространстве имен, переместите служба хранилища Azure или учетные записи Azure Data Lake Store 2-го поколения перед перемещением пространства имен Центров событий. Кроме того, можно переместить в другой регион группу ресурсов, содержащую пространства имен хранилища и Центров событий, выполнив действия, аналогичные описанным в этой статье.
Если пространство имен Центров событий находится в кластере Центров событий, перед выполнением действий, описанных в этой статье, переместите выделенный кластер в целевой регион. Для создания кластера Центров событий можно также воспользоваться шаблоном быстрого запуска на сайте GitHub. Чтобы создать только кластер, удалите в шаблоне часть пространства имен JSON.
Определите все зависимости ресурсов. В зависимости от того, как вы развернули центры событий, следующие службы могут потребовать развертывания в целевом регионе:
- Общедоступный IP-адрес
- Виртуальная сеть
- Пространство имен Центров событий
- Кластер Центров событий
- Учетная запись хранения
Совет
Если запись включена, вы можете переместить учетную запись хранения из источника или использовать имеющуюся в целевом регионе.
Определите все зависимые ресурсы. Центры событий — это система обмена сообщениями, которая позволяет приложениям публиковать и подписываться на сообщения. Рассмотрите, требуется ли в целевом приложении поддержка обмена сообщениями для того же набора зависимых служб, что и в исходном целевом объекте.
Простой
Сведения о возможных простоях см. в статье Cloud Adoption Framework для Azure: выбор метода перемещений.
Рекомендации по конечным точкам службы
Конечные точки службы виртуальной сети для Центры событий Azure ограничить доступ к указанной виртуальной сети. Конечные точки также могут ограничить доступ к списку диапазонов адресов IPv4 (интернет-протокол версии 4). Любой пользователь, подключающийся к центрам событий за пределами этих источников, запрещен доступ. Если конечные точки службы были настроены в исходном регионе для ресурса Центров событий, то же самое необходимо сделать в целевом.
Для успешного восстановления центров событий в целевом регионе необходимо создать виртуальную сеть и подсеть заранее. Если перемещение этих двух ресурсов выполняется с помощью средства Перемещения ресурсов Azure, конечные точки службы не будут настроены автоматически. Поэтому их необходимо настроить вручную, что можно сделать с помощью портал Azure, Azure CLI или Azure PowerShell.
Рекомендации по частной конечной точке
Приватный канал Azure обеспечивает частное подключение из виртуальной сети к Платформа Azure как услуга (PaaS), собственные клиентом или партнерские службы Майкрософт. Приватный канал упрощает сетевую архитектуру и защищает подключение между конечными точками в Azure, устраняя уязвимость данных к общедоступному Интернету.
Для успешного отдыха Центров событий в целевом регионе необходимо создать виртуальную сеть и подсеть перед фактической базой отдыха.
Подготовить
В начале экспортируйте шаблон диспетчера ресурсов Resource Manager. Этот шаблон содержит параметры, описывающие пространство имен Центров событий.
Войдите на портал Azure.
Выберите пункт Все ресурсы, а затем требуемое пространство имен Центров событий.
На странице Пространство имен Центров событий выберите Экспорт шаблона в разделе Автоматизация левого меню.
Нажмите кнопку Скачать на странице Экспорт шаблона.
Найдите скачанный c портала ZIP-файл и распакуйте его в любую выбранную папку.
В ZIP-файле содержатся файлы JSON, включающие шаблон и скрипты для развертывания шаблона.
Изменение шаблона
Измените шаблон, изменив имя и регион пространства имен Центров событий.
Выберите Развертывание шаблона.
В портал Azure нажмите кнопку "Создать".
Выберите Создать собственный шаблон в редакторе.
Выберите Загрузить файл и следуйте инструкциям, чтобы загрузить файл template.json, скачанный в предыдущем разделе.
В файле template.json назовите пространство имен Центров событий, задав значение по умолчанию имени пространства имен. В этом примере для имени пространства имен Центров событий по умолчанию присваивается значение
namespace-name
."$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "1.0.0.0", "parameters": { "namespaces_name": { "defaultValue": "namespace-name", "type": "String" }, },
Измените свойство location в файле template.json на целевой регион. В этом примере значение целевого региона устанавливается равным
centralus
."resources": [ { "type": "Microsoft.KeyVault/vaults", "apiVersion": "2023-07-01", "name": "[parameters('vaults_name')]", "location": "centralus", }, ] "resources": [ { "type": "Microsoft.EventHub/namespaces", "apiVersion": "2023-01-01-preview", "name": "[parameters('namespaces_name')]", "location": "centralus", }, { "type": "Microsoft.EventHub/namespaces/authorizationrules", "apiVersion": "2023-01-01-preview", "name": "[concat(parameters('namespaces_name'), '/RootManageSharedAccessKey')]", "location": "centralus", "dependsOn": [ "[resourceId('Microsoft.EventHub/namespaces', parameters('namespaces_name'))]" ], "properties": { "rights": [ "Listen", "Manage", "Send" ] } }, { "type": "Microsoft.EventHub/namespaces/networkrulesets", "apiVersion": "2023-01-01-preview", "name": "[concat(parameters('namespaces_name'), '/default')]", "location": "centralus", "dependsOn": [ "[resourceId('Microsoft.EventHub/namespaces', parameters('namespaces_name'))]" ], "properties": { "publicNetworkAccess": "Enabled", "defaultAction": "Deny", "virtualNetworkRules": [ { "subnet": { "id": "[concat(parameters('virtualNetworks_vnet_akv_externalid'), '/subnets/default')]" }, "ignoreMissingVnetServiceEndpoint": false } ], "ipRules": [], "trustedServiceAccessEnabled": false } }, { "type": "Microsoft.EventHub/namespaces/privateEndpointConnections", "apiVersion": "2023-01-01-preview", "name": "[concat(parameters('namespaces_peterheesbus_name'), '/81263915-15d5-4f14-8d65-25866d745a66')]", "location": "centralus", "dependsOn": [ "[resourceId('Microsoft.EventHub/namespaces', parameters('namespaces_peterheesbus_name'))]" ], "properties": { "provisioningState": "Succeeded", "privateEndpoint": { "id": "[parameters('privateEndpoints_pvs_eventhub_externalid')]" }, "privateLinkServiceConnectionState": { "status": "Approved", "description": "Auto-Approved" } } }
Чтобы получить коды расположения регионов, см. статью Расположения Azure. Код региона — это имя региона без пробелов, Central US = centralus.
Удалите ресурсы частной конечной точки типа в шаблоне.
{ "type": "Microsoft.EventHub/namespaces/privateEndpointConnections", }
Если вы настроили конечную точку службы в центрах событий, в
networkrulesets
разделе в разделеvirtualNetworkRules
добавьте правило для целевой подсети. Убедитесь, чтоignoreMissingVnetServiceEndpoint
для флага _ заданоFalse
значение , чтобы IaC не развертывал центры событий в случае, если конечная точка службы не настроена в целевом регионе._parameter.json_
{ "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#", "contentVersion": "1.0.0.0", "parameters": { "target_vnet_externalid": { "value": "virtualnetwork-externalid" }, "target_subnet_name": { "value": "subnet-name" } } }
_template.json
{ "type": "Microsoft.EventHub/namespaces/networkrulesets", "apiVersion": "2023-01-01-preview", "name": "[concat(parameters('namespaces_name'), '/default')]", "location": "centralus", "dependsOn": [ "[resourceId('Microsoft.EventHub/namespaces', parameters('namespaces_name'))]" ], "properties": { "publicNetworkAccess": "Enabled", "defaultAction": "Deny", "virtualNetworkRules": [ { "subnet": { "id": "[concat(parameters('target_vnet_externalid), concat('/subnets/', parameters('target_subnet_name')]" }, "ignoreMissingVnetServiceEndpoint": false } ], "ipRules": [], "trustedServiceAccessEnabled": false } },
Нажмите кнопку Сохранить, чтобы сохранить шаблон.
Повторное развертывание
На портале Azure выберите Создать ресурс.
В поле Поиск по Marketplace введите развертывание шаблона и выберите Шаблоны развертывания (использование настраиваемых шаблонов).
Выберите Создать собственный шаблон в редакторе.
Выберите "Загрузить файл", а затем следуйте инструкциям, чтобы загрузить файл template.json , измененный в последнем разделе.
На странице Настраиваемое развертывание выполните следующие действия:
- Выберите подписку Azure.
- Выберите существующую группу ресурсов или создайте новую. Если исходное пространство имен находилось в кластере Центров событий, выберите группу ресурсов, содержащую кластер в целевом регионе.
- Выберите целевое расположение или регион. Если выбрана существующая группа ресурсов, этот параметр доступен только для чтения.
- В разделе SETTINGS сделайте следующее:
Введите новое имя пространства имен.
Если исходное пространство имен находилось в кластере Центров событий, введите имена группы ресурсов и кластера Центров событий во внешнем идентификаторе.
/subscriptions/<AZURE SUBSCRIPTION ID>/resourceGroups/<CLUSTER'S RESOURCE GROUP>/providers/Microsoft.EventHub/clusters/<CLUSTER NAME>
Если Центры событий в пространстве имен используют учетную запись хранения для записи событий, укажите имя группы ресурсов и учетную запись хранения для
StorageAccounts_<original storage account name>_external
поля./subscriptions/0000000000-0000-0000-0000-0000000000000/resourceGroups/<STORAGE'S RESOURCE GROUP>/providers/Microsoft.Storage/storageAccounts/<STORAGE ACCOUNT NAME>
- В нижней части страницы выберите Review + create (Проверить и создать).
- На странице Просмотр и создание проверьте параметры и нажмите кнопку Создать.
Параметры конфигурации сети (частные конечные точки) необходимо повторно настроить в новых центрах событий.
Отмена или очистка
Если после развертывания необходимо все начать заново, можно удалить целевое пространство имен Центров событий и повторить действия, описанные в разделах Подготовка и Перемещение этой статьи.
Чтобы зафиксировать изменения и завершить перемещение пространства имен Центров событий, удалите пространство имен Центров событий в исходном регионе. Перед тем как удалить пространство имен, убедитесь, что в нем обработаны все события.
Чтобы удалить пространство имен Центров событий (исходное или целевое) с помощью портала Azure, сделайте следующее.
В окне поиска, находящемся в верхней части портала Azure, введите Центры событий и выберите из результатов поиска нужные Центры событий. В списке отобразятся пространства имен Центров событий.
Выберите целевое пространство имен для удаления и на панели инструментов нажмите кнопку Удалить.
Подтвердите удаление на странице Удалить пространство имен. Для этого введите имя пространства имен и нажмите кнопку Удалить.
Следующие шаги
В этом руководстве вы узнали, как переместить пространство имен Центров событий из одного региона в другой.
Инструкции по перемещению кластера Центров событий из одного региона в другой регион см . в статье "Перемещение центров событий в другой регион ".
Дополнительные сведения о перемещении ресурсов между регионами и аварийном восстановлении в Azure см. по следующей ссылке: