Перемещение кэша Azure для экземпляров Redis в другие регионы

В этой статье мы рассмотрим перемещение кэша Azure для экземпляров Redis в другой регион Azure. Вы можете переместить ресурсы в другой регион по многим причинам:

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

Инструкции по миграции в кэш Azure для Redis из локальных, облачных виртуальных машин или другой службы размещения, см. в разделе Миграция в кэш Azure для Redis.

Используемый уровень кэша Azure для Redis определяет оптимальный для вас вариант.

Уровень кэша Параметры
Premium Георепликация, создание нового кэша, двойная запись в два кэша, экспорт и импорт данных посредством файла RDB или программная миграция
«Базовый» или «Стандартный» Создание нового кэша, двойная запись в два кэша или программная миграция
Enterprise или Enterprise Flash Создание нового кэша, экспорт и импорт данных с помощью RDB-файла или программная миграция

Пассивное гео-реплика tion (Премиум)

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

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

  • Оба кэша должны относиться к уровню "Премиум".
  • Оба кэша должны относиться к одной подписке Azure.
  • Размер дополнительного связанного кэша должен быть не меньше (или равен) размеру основного кэша.
  • Оба кэша уже существуют и выполняются.

Подготовить

Чтобы переместить экземпляр кэша в другой регион, необходимо создать второй экземпляр кэша уровня «Премиум» в нужном регионе. После запуска обоих кэшей можно настроить георепликацию между двумя экземплярами кэша.

Примечание.

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

Для георепликации некоторые функции не поддерживаются:

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

Условия поддержки георепликации:

После настройки георепликации в отношении вашей пары связанных кэшей применяются следующие ограничения.

  • Дополнительный связанный кэш доступен только для чтения. Вы можете выполнять чтение из него, но не можете записывать в него данные.
    • Если вы решили прочитать из экземпляра Geo-Secondary, когда выполняется полная синхронизация данных между гео-первичной и гео-вторичной, например при обновлении гео-первичного или географического вторичного экземпляра, а также при выполнении некоторых сценариев перезагрузки экземпляр гео-вторичных создает ошибки для любой операции Redis, пока не завершится полная синхронизация данных между гео-первичным и геоторичным.
    • Приложения, считывающие из дополнительного экземпляра геореплики, должны быть построены для возврата к основному экземпляру геореплики при возникновении ошибок в дополнительном экземпляре геореплики.
  • Любые данные, которые были в дополнительном связанном кэше до добавления связи, удаляются. Однако, если георепликация впоследствии удаляется, то реплицированные данные остаются в дополнительном связанном кэше.
  • Невозможно масштабировать любой кэш, пока не будут связаны кэши.
  • Невозможно изменить число сегментов, если в кэше включена кластеризация.
  • Ни на одном из кэше не удастся включить сохраняемость.
  • Экспорт можно выполнить из любого кэша.
  • Невозможно импортировать во вторичный связанный кэш.
  • Невозможно удалить ни один из связанных кэшей или группу ресурсов, в которую они входят, пока не удалена связь с кэшами. Дополнительные сведения см. в разделе Почему произошел сбой операции, когда я попытался удалить связанный кэш?
  • Если кэши находятся в разных регионах, затраты на исходящий трафик сети применяются к данным, перемещаемым по регионам. Дополнительные сведения см. в разделе Сколько стоит реплицировать мои данные между регионами Azure?
  • Отработка отказа не является автоматической. Необходимо запустить отработку отказа из первичного в дополнительный рукописный кэш. Дополнительные сведения о том, как выполнить отработку отказа клиентского приложения, см. в разделе "Запуск отработки отказа с гео-первичного на гео-вторичный".

Передвинуть

  1. Чтобы связать два кэша для гео-реплика tion, сначала выберите geo-реплика tion в меню ресурсов кэша, который вы планируете быть основным связанным кэшем. Затем выберите Добавить связь для репликации кэша в колонке Георепликация слева.

    Снимок экрана: меню geo-реплика tion кэша.

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

    Снимок экрана: совместимые кэши для связывания с гео-реплика tion.

    Для запуска процесса связывания или просмотра сведений о дополнительном кэше можно также использовать контекстное меню.

    Снимок экрана: контекстное меню geo-реплика tion.

  3. Чтобы связывать два кэша друг с другом и начать процесс репликации, нажмите кнопку Связать.

    Снимок экрана, показывающий, как связать кэши для гео-реплика tion.

Проверка

  1. Ход выполнения процесса репликации можно просмотреть в колонке Георепликация слева.

    Снимок экрана: текущее состояние связывания.

    Состояние связывания также можно просмотреть в колонке Обзор слева как для основного кэша, так и для дополнительного.

    Снимок экрана: способ просмотра состояния связывания для основного и дополнительного кэшей.

    По завершении процесса репликации Состояние связи изменится на Успешно.

    Снимок экрана: состояние связывания кэша по мере успешного выполнения.

    Основной связанный кэш остается доступным для использования в процессе связывания. Дополнительный связанный кэш недоступен до завершения процесса связывания.

Очистка исходных ресурсов

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

  1. Чтобы удалить связь между двумя кэшами и приостановить георепликацию, щелкните Удалить связь кэшей в колонке Георепликация слева.

    Снимок экрана: отмена связи кэшей.

    По завершения процесса удаления связи дополнительный кэш станет доступным как для чтения, так и для записи.

Примечание.

Когда удаляется связь георепликации, реплицированные данные из основного связанного кэша остаются в дополнительном кэше.

  1. Удалите исходный экземпляр.

Создать новый кэш (все уровни)

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

Подготовить

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

Передвинуть

  1. Чтобы создать кэш, войдите на портал Azure и выберите Создать ресурс.

    Область навигации слева с выделенным элементом

  2. На странице "Начало работы" введите Кэш Azure для Redis в поле поиска. Затем выберите Создать.

    Снимок экрана: Azure Marketplace с Кэш Azure для Redis в поле поиска и создание выделено красное поле.

  3. На странице "Новый кэш Redis" настройте параметры кэша.

    Параметр Выберите значение Description
    Подписка Раскройте список и выберите нужную подписку. В этой подписке будет создан новый экземпляр кэша Redis для Azure.
    Группа ресурсов Раскройте список и выберите группу ресурсов или нажмите Создать и введите имя для новой группы ресурсов. Имя группы ресурсов, в которой будут созданы кэш и другие ресурсы. Поместив все ресурсы приложения в одну группу ресурсов, вы сможете легко управлять ими и/или удалить их вместе.
    DNS-имя Введите уникальное имя. Имя кэша должно быть строкой длиной от 1 до 63 символов и содержать только цифры, буквы и дефисы. Имя должно начинаться и заканчиваться цифрой или буквой и не может содержать более одного дефиса подряд. Имя узла экземпляра кэша <DNS-имя.redis.cache.windows.net>.
    Местонахождение Откройте список и выберите расположение. Выберите регион рядом с другими службами, используюющими кэш.
    Номер SKU кэша Раскрывающийся список и выберите номер SKU. Номер SKU определяет размер, производительность и параметры функций, доступные для кэша. Дополнительные сведения см. в обзоре предложения "Кэш Redis для Azure".
    Объем кэша Раскрывающийся список и выбор размера кэша Дополнительные сведения см. в обзоре предложения "Кэш Redis для Azure".
  4. Выберите вкладку Сети или нажмите кнопку Сети в нижней части страницы.

  5. На вкладке Сети выберите способ подключения.

  6. Нажмите кнопку "Далее" или нажмите кнопку "Далее" в нижней части страницы, чтобы просмотреть вкладку "Дополнительно".

    Снимок экрана: вкладка

    • Для кэшей "Базовый" или "Стандартный" переключите выбор порта, отличного от TLS. Вы также можете выбрать, нужно ли включить проверку подлинности Microsoft Entra.
    • Для кэша Premium настройте параметры для порта, отличного от TLS, кластеризация, управляемого удостоверения и сохраняемости данных. Вы также можете выбрать, нужно ли включить проверку подлинности Microsoft Entra.
  7. Выберите вкладку Next: Tags (Далее: теги) или нажмите в нижней части страницы кнопку Next: Tags (Далее: теги).

  8. При необходимости на вкладке Теги введите имя и значение, чтобы классифицировать ресурс.

  9. Выберите Review + create (Просмотреть и создать). Вы будете перенаправлены на вкладку Проверка и создание, где Azure проверит вашу конфигурацию.

  10. Когда отобразится сообщение "Проверка пройдена" зеленого цвета, выберите Создать.

Для создания кэша требуется некоторое время. Вы можете отслеживать ход выполнения на странице обзорных сведений кэша Azure для Redis. Когда Состояние примет значение Running (Выполняется), кэш будет готов к использованию.

Наконец, обновите приложение, чтобы использовать новый экземпляр.

Очистка исходных ресурсов

После запуска нового кэша в целевом регионе удалите исходный экземпляр.

Экспорт и импорт данных с помощью RDB-файла (цен. категории «Премиум», «Корпоративный», «Enterprise Flash»)

Redis с открытым исходным кодом определяет стандартный механизм создания моментального снимка набора данных в памяти кэша и его сохранения в файле. Этот файл, называемый RDB, может быть прочитан другим кэшем Redis. Кэш Azure для Redis уровня «Премиум» и «Корпоративный» поддерживает импорт данных в экземпляр кэша посредством файлов RDB. Файл RDB можно использовать для перемещения данных из существующего кэша в кэш Azure для Redis.

Внимание

Формат файлов RDB может отличаться в разных версиях Redis и не поддерживать обратную совместимость. Версия Redis кэша, из которой выполняется экспорт, должна быть такой же или более ранней версией нового экземпляра кэша.

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

Подготовить

Чтобы переместить экземпляр кэша в другой регион, необходимо создать второй экземпляр кэша цен. категории «Премиум» или второй экземпляр кэша цен. категории «Корпоративный» в нужном регионе.

Передвинуть

  1. Дополнительные сведения о импорте и экспорте данных в Кэш Azure для Redis. См. раздел "Импорт и экспорт данных" в Кэш Azure для Redis.

  2. Обновите приложение, чтобы использовать новый экземпляр кэша.

Проверка

Ход выполнения операции импорта можно отслеживать, выбирая уведомления на портале Azure или просматривая события в журнале аудита.

Очистка исходных ресурсов

После запуска нового кэша в целевом регионе удалите исходный экземпляр.

Двойная запись в два кэша (цен. категория «Базовый», «Стандартный» и «Премиум»)

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

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

  • Второй кэш имеет тот же или больший размер, чем исходный кэш.

Подготовить

Чтобы переместить экземпляр кэша в другой регион, необходимо создать второй экземпляр кэша в нужном регионе.

Передвинуть

Ниже приведены общие действия для реализации этого варианта.

  1. Измените код приложения, чтобы вести запись как в новый, так и в исходный экземпляр.

  2. Продолжайте считывать данные из исходного экземпляра, пока в новом экземпляре не накопится достаточно данных.

  3. Обновите код приложения, чтобы производить считывание и запись только с использованием нового экземпляра.

Очистка исходных ресурсов

После запуска нового кэша в целевом регионе удалите исходный экземпляр.

Программная миграция (все уровни)

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

Примечание.

Это средство официально не поддерживается корпорацией Майкрософт.

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

  • Второй кэш имеет тот же или больший размер, чем исходный кэш.

Подготовить

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

Передвинуть

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

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

    Внимание

    Будьте внимательны, НЕ УДАЛЯЙТЕ данные из исходного кэша.

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

Очистка исходных ресурсов

После запуска нового кэша в целевом регионе удалите исходный экземпляр.

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

Узнайте больше о функциях Кэша Azure для Redis.