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


Переместить Центр событий Azure в другой регион

В этой статье показано, как скопировать пространство имен Центров событий и параметры конфигурации в другой регион.

Если у вас есть другие ресурсы в группе ресурсов Azure, содержащей пространство имен Центров событий, можно экспортировать шаблон на уровне группы ресурсов, чтобы все связанные ресурсы можно было переместить в новый регион на одном шаге. Сведения о том, как экспортировать группу ресурсов в шаблон, см. в статье "Перемещение ресурсов между регионами(из группы ресурсов)".

Предпосылки

  • Убедитесь, что службы и функции, используемые вашей учетной записью, поддерживаются в целевом регионе.

  • Если вы включили функцию записи для центров событий в пространстве имен, переместите учетные записи Azure Storage или Azure Data Lake Store поколения Gen 2 перед перемещением пространства имен Центров событий. Кроме того, можно переместить в другой регион группу ресурсов, содержащую пространства имен хранилища и Центров событий, выполнив действия, аналогичные описанным в этой статье.

  • Если пространство имен Центров событий находится в кластере Центров событий, перед выполнением действий, описанных в этой статье, переместите выделенный кластер в целевой регион. Для создания кластера Центров событий можно также воспользоваться шаблоном быстрого запуска на сайте GitHub. Чтобы создать только кластер, удалите в шаблоне часть пространства имен JSON.

  • Определите все зависимости ресурсов. В зависимости от способа развертывания Центров событий в целевом регионе может потребоваться развертывание следующих служб:

  • Определите все зависимые ресурсы. Центры событий — это система обмена сообщениями, которая позволяет приложениям публиковать и подписываться на сообщения. Рассмотрите, требуется ли в целевом приложении поддержка обмена сообщениями для того же набора зависимых служб, что и в исходном целевом объекте.

Время простоя

Сведения о возможных простоях см. в Cloud Adoption Framework для Azure: выберите метод перемещения.

Соображения по конечным точкам обслуживания

Конечные точки службы виртуальной сети для Azure Event Hubs ограничивают доступ к указанной виртуальной сети. Конечные точки также могут ограничить доступ к списку диапазонов адресов IPv4 (интернет-протокол версии 4). Любой пользователь, подключающийся к центрам событий за пределами этих источников, запрещен доступ. Если конечные точки службы были настроены в исходном регионе для ресурса Центров событий, то же самое необходимо сделать в целевом.

Для успешного восстановления центров событий в целевом регионе необходимо создать виртуальную сеть и подсеть заранее. Если перемещение этих двух ресурсов выполняется с помощью средства Azure Resource Mover, конечные точки службы не могут быть настроены автоматически. Поэтому их необходимо настроить вручную, что можно сделать с помощью портал Azure, Azure CLI или Azure PowerShell.

Рекомендации по частной конечной точке

Azure Private Link обеспечивает частное соединение от виртуальной сети с платформой как услуга (PaaS) Azure, сервисами, принадлежащими клиентам, или сервисами партнеров Microsoft. Private Link упрощает сетевую архитектуру и обеспечивает безопасность соединения между конечными точками в Azure, устраняя возможность передачи данных через публичный интернет.

Для успешного воссоздания центров событий в целевом регионе необходимо создать виртуальную сеть и подсеть перед фактическим воссозданием.

Подготовьте

Чтобы начать, экспортируйте шаблон Resource Manager. Этот шаблон содержит параметры, описывающие пространство имен Event Hubs.

  1. Войдите на портал Azure.

  2. Выберите пункт Все ресурсы, а затем требуемое пространство имен Центров событий.

  3. На странице Пространство имен Центров событий выберите Экспорт шаблона в разделе Автоматизация левого меню.

  4. Нажмите кнопку Скачать на странице Экспорт шаблона.

    Снимок экрана: место загрузки шаблона Resource Manager.

  5. Найдите скачанный c портала ZIP-файл и распакуйте его в любую выбранную папку.

    В ZIP-файле содержатся файлы JSON, включающие шаблон и скрипты для развертывания шаблона.

Изменение шаблона

Измените шаблон, изменив имя и регион пространства имен Центров событий.

  1. Выберите развертывание шаблона.

  2. В портал Azure нажмите кнопку "Создать".

  3. Выберите Создать собственный шаблон в редакторе.

  4. Выберите Загрузить файл и следуйте инструкциям, чтобы загрузить файл template.json, скачанный в предыдущем разделе.

  5. В файле 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"
      },
    },
    
  6. Измените свойство location в файле template.json на целевой регион. В этом примере значение целевого региона устанавливается равным centralus.

    "resources": [
      {
        "type": "Microsoft.KeyVault/vaults",
        "apiVersion": "2023-07-01",
        "name": "[parameters('vaults_name')]",
        "location": "centralus",
      },
      {
        "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.

  7. Удалите ресурсы типа "частная конечная точка" в шаблоне.

     {
         "type": "Microsoft.EventHub/namespaces/privateEndpointConnections",
     }
    
  8. Если вы настроили конечную точку службы в центрах событий, в разделе networkrulesets, в разделе virtualNetworkRules добавьте правило для заданной подсети. Убедитесь, что для флага ignoreMissingVnetServiceEndpoint задано значение False, чтобы IaC не смог развернуть Event Hubs в случае, если конечная точка службы не настроена в целевом регионе.

    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
      }
    }
    
  9. Нажмите кнопку Сохранить, чтобы сохранить шаблон.

Повторное развертывание

  1. На портале Azure выберите Создать ресурс.

  2. В Поиск по Marketplace введите развертывание по шаблону и выберите Развертывание по шаблону (развертывание с использованием настраиваемых шаблонов).

  3. Выберите Создать собственный шаблон в редакторе.

  4. Выберите "Загрузить файл", а затем следуйте инструкциям, чтобы загрузить файл template.json , измененный в последнем разделе.

  5. На странице Настраиваемое развертывание выполните следующие действия:

    1. Выберите подписку Azure.

    2. Выберите существующую группу ресурсов или создайте новую. Если исходное пространство имен находилось в кластере Центров событий, выберите группу ресурсов, содержащую кластер в целевом регионе.

    3. Выберите целевое расположение или регион. Если выбрана существующая группа ресурсов, этот параметр доступен только для чтения.

    4. В разделе SETTINGS сделайте следующее:

      1. Введите новое имя пространства имен.

        Развертывание шаблона Resource Manager.

      2. Если исходное пространство имен находилось в кластере Центров событий, введите имена группы ресурсов и кластера Центров событий во внешнем идентификаторе.

        /subscriptions/<AZURE SUBSCRIPTION ID>/resourceGroups/<CLUSTER'S RESOURCE GROUP>/providers/Microsoft.EventHub/clusters/<CLUSTER NAME>
        
      3. Если Центры событий в вашем пространстве имен используют учетную запись хранения для захвата событий, укажите имя группы ресурсов и учетную запись хранения для поля StorageAccounts_<original storage account name>_external.

        /subscriptions/0000000000-0000-0000-0000-0000000000000/resourceGroups/<STORAGE'S RESOURCE GROUP>/providers/Microsoft.Storage/storageAccounts/<STORAGE ACCOUNT NAME>
        
    5. В нижней части страницы выберите Проверить и создать.

    6. На странице Просмотр и создание проверьте параметры и нажмите кнопку Создать.

  6. Параметры конфигурации сети (частные конечные точки) необходимо перенастроить в новых центрах событий.

Отмена или очистка

Если после развертывания необходимо все начать заново, можно удалить целевое пространство имен Центров событий и повторить действия, описанные в разделах Подготовка и Перемещение этой статьи.

Чтобы зафиксировать изменения и завершить перемещение пространства имен Центров событий, удалите пространство имен Центров событий в исходном регионе. Перед тем как удалить пространство имен, убедитесь, что в нем обработаны все события.

Чтобы удалить пространство имен Центров событий (исходное или целевое) с помощью портала Azure, сделайте следующее.

  1. В окне поиска, находящемся в верхней части портала Azure, введите Центры событий и выберите из результатов поиска нужные Центры событий. В списке отобразятся пространства имен Event Hubs.

  2. Выберите целевое пространство имен для удаления и на панели инструментов нажмите кнопку Удалить.

    Снимок экрана: кнопка

  3. Подтвердите удаление на странице Удалить пространство имен. Для этого введите имя пространства имен и нажмите кнопку Удалить.

Дальнейшие шаги

Из этой статьи вы узнали, как переместить пространство имен Центров событий из одного региона в другой.

Инструкции по перемещению кластера Центров событий из одного региона в другой регион см . в статье "Перемещение центров событий в другой регион ".

Дополнительные сведения о перемещении ресурсов между регионами и аварийном восстановлении в Azure см. по следующей ссылке: