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


Перемещение учетной записи NoSQL Azure Cosmos DB в другой регион

Из этой статьи вы узнаете, как выполнить следующие операции:

  • Переместите регион, в котором данные реплицируются в Azure Cosmos DB.
  • Перенос метаданных учетной записи (Azure Resource Manager) из одного региона в другой.

Необходимые компоненты

  • Регистрация приложения должна быть создана с делегированным разрешением для экземпляра исходной и целевой группы ресурсов и разрешения API для user.ReadBasic.All.

  • Выбранный API Cosmos DB должен оставаться неизменным от источника к целевому объекту. В этом документе используется API базы данных SQL.

  • Имена учетных записей должны быть ограничены 44 символами, все строчные буквы.

  • При добавлении или удалении расположений в учетную запись Azure Cosmos нельзя одновременно изменять другие свойства.

  • Определите все зависимые ресурсы Cosmos DB.

Простой

Рекомендации по конечным точкам службы

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

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

Повторное развертывание без данных

В случаях, когда экземпляр Cosmos DB должен быть перемещен только без конфигурации и данных клиента, сам экземпляр можно создать с помощью базы данных Microsoft.DocumentDBAccounts

Повторное развертывание с данными

Azure Cosmos DB поддерживает встроенную репликацию данных, поэтому перемещение данных из одного региона в другой не вызывает сложностей. Это можно сделать с помощью портала Azure, Azure PowerShell или Azure CLI. Для этого необходимо выполнить следующие действия.

  1. Добавьте новый регион в учетную запись.

    Сведения о добавлении нового региона в учетную запись Azure Cosmos DB см. в разделе Добавление и удаление регионов в учетной записи Azure Cosmos DB.

  2. Выполните переход в новый регион вручную.

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

    Сведения о запуске отработки отказа см. в статье "Выполнение отработки отказа вручную" в учетной записи Azure Cosmos DB.

  3. Удалите исходный регион.

    Сведения об удалении региона из учетной записи Azure Cosmos DB см. в статье Добавление и удаление регионов из учетной записи Azure Cosmos DB.

Примечание.

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

Повторное развертывание метаданных учетной записи Azure Cosmos DB

Azure Cosmos DB изначально не поддерживает миграцию метаданных учетной записи из одного региона в другой. Чтобы перенести метаданные учетной записи и данные клиента из одного региона в другой, необходимо создать новую учетную запись в нужном регионе, а затем скопировать данные вручную.

Внимание

Нет необходимости переносить метаданные учетной записи, если данные хранятся или перемещаются в другой регион. Регион, в котором хранятся метаданные учетной записи, никак не влияет на производительность, безопасность и другие аспекты использования учетной записи Azure Cosmos DB.

Для миграции API для NoSQL почти нулевого времени простоя требуется использование канала изменений или средства, использующего его.

Ниже показано, как перенести учетную запись Azure Cosmos DB для API для NoSQL и ее данные из одного региона в другой:

  1. Создайте новую учетную запись Azure Cosmos DB в нужном регионе.

    Сведения о создании новой учетной записи с помощью портала Azure, PowerShell или Azure CLI см. в разделе Создание учетной записи Azure Cosmos DB.

  2. Создайте базу данных и контейнер.

    Сведения о создании базы данных и контейнера см. в статье "Создание контейнера Azure Cosmos DB".

  3. Перенос данных с помощью примера динамической миграции соединителя Spark Для Azure Cosmos DB.

    Сведения о переносе данных с почти нулевым временем простоя см. в статье Live Migrate Azure Cosmos DB— контейнеры API SQL с помощью соединителя Spark.

  4. Обновите строку подключения приложения.

    При выполнении примера динамической миграции данных обновите сведения о подключении в новом развертывании приложения. Вы можете получить конечные точки и ключи для приложения на портале Azure.

    Управление доступом на портале Azure: демонстрация безопасности базы данных NoSQL.

  5. Перенаправьте запросы в новое приложение.

    После подключения нового приложения к Azure Cosmos DB можно перенаправить клиентские запросы в новый экземпляр.

  6. Удалите все ресурсы, которые больше не нужны.

    Теперь запросы полностью перенаправляются на новый экземпляр, можно удалить старую учетную запись Azure Cosmos DB и остановить пример миграции динамических данных.

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

Дополнительные сведения и примеры управления учетной записью Azure Cosmos DB, а также базами данных и контейнерами см. в следующих статьях: