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


Переход от Azure Cache для Redis к Azure Managed Redis

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

Предпосылки

Сравнение функций кэша Azure для Redis и Управляемого Redis в Azure

Описание компонента Базовый Стандарт Премия Сбалансированный Оптимизация памяти Оптимизировано для вычислений
Доступность Не применимо 99,9 % 99,9 % До 99.999% До 99.999% До 99,999%
Шифрование данных при передаче Да Да Да Да Да Да
Сетевая изоляция Да Да Да Да Да Да
Увеличение и увеличение масштаба Да Да Да Да Да Да
Масштабирование вниз/в Да Да Да нет нет нет
Кластеризация OSS нет нет Да Да Да Да
Сохраняемость данных нет нет Да Да Да Да
Избыточность зон нет Да (предварительная версия) Да Да Да Да
Георепликация нет нет Да (пассивный) Да (активный) Да (активный) Да (активный)
Журналы аудита подключения нет нет Да Да(на основе событий) Да(на основе событий) Да(на основе событий)
Модули Redis нет нет нет Да Да Да
Импорт и экспорт нет нет Да Да Да Да
Перезагрузка Да Да Да нет нет нет
Запланированные обновления Да Да Да нет нет нет
Проверка подлинности идентификатора Microsoft Entra Да Да Да Да Да Да
RBAC идентификатора Microsoft Entra Да Да Да нет нет нет
Уведомление о пространстве ключей Да Да Да нет нет нет
Высокий уровень доступности Не применимо нет нет Да Да Да

Ниже приведены некоторые другие различия, которые не рассматриваются предыдущим сопоставлением. Рассмотрите следующие изменения клиентского приложения:

Описание компонента Кэш Azure для Redis Управляемый Redis в Azure
DNS-суффикс (только для облака PROD) .redis.cache.windows.net <region>.redis.azure.net
ПОРТ TLS 6380 10 000
Порт, отличный от TLS 6379 Не поддерживается
Порты TLS для отдельных узлов 130XX 85xx
Отдельный порт, отличный от TLS 150XX Не поддерживается
Поддержка кластеризации Режим кластеризации OSS Режимы кластера OSS и Enterprise
Неподдерживаемые команды Неподдерживаемые команды Команды с несколькими ключами
Региональная доступность Все регионы Azure * См. список регионов после этого раздела.
Версия Redis 6 7,4
Поддерживаемые версии протокола TLS 1.2 и 1.3 1.2 и 1.3

Региональная доступность для Управляемого Redis в Azure

Управляемый Redis Azure поддерживается в следующих регионах. Этот список регулярно обновляется. В конечном итоге Управляемый Redis azure будет поддерживать все регионы в Azure. Обратитесь к контакту по продажам, чтобы привлечь запросы к регионам, где вам нужна поддержка.

  • Американский континент

    • Бразилия (Юг)
    • Юго-Восток Бразилии
    • Центральная Канада
    • Восточная Канада
    • Центральная часть США
    • Восток США
    • Восток США 2
    • Центральная Мексика
    • северо-центральная часть США
    • Южно-Центральная часть США
    • Центрально-западная часть США
    • Западная часть США
    • Западная часть США 2
    • Западная часть США 3
  • Европа

    • Южная Франция
    • Северная Германия
    • Западно-Центральная Германия
    • Италия Север
    • Восточная Норвегия
    • Западная Норвегия
    • Центральная Испания
    • Центральная Швеция
    • Южная Швеция
    • Северная Швейцария
    • Западная Швейцария
    • Юг Соединённого Королевства
    • Западная часть Великобритании
    • Западная Европа
  • Ближний Восток

    • Центральный Израиль
    • Центральная часть ОАЭ
    • Северная часть ОАЭ;
  • Африка

    • Север Южной Африки
    • Западная часть ЮАР
  • Азиатско-Тихоокеанский регион

    • Центральная Австралия
    • Центральная Австралия 2
    • Восточная Австралия
    • Юго-Восток Австралии
    • Центральная Индия
    • Восточная Азия
    • Центральная Индонезия
    • Восточная Япония
    • Западная Япония
    • Jio, Центральная Индия
    • Джио Индия Запад
    • Центральная Корея
    • Корея (юг)
    • Юго-Восточная Азия
    • Южная Индия
    • Тайвань Север
    • Тайвань Северо-Запад

Перенос экземпляра Кэш Azure для Redis в Управляемый Redis Azure

Замечание

Не забудьте обновить остальную часть приложения и связанные ресурсы Azure, чтобы использовать кэш.

Выберите кэш, который нужно переместить из портал Azure

Кэш Azure для Redis Базовый / Стандартный / Премиум некластеризованный

Замечание

Использование параметра "Высокий уровень доступности" управляемого Redis azure для миграции базовых номеров SKU

Кэш Azure для Redis Управляемый Redis в Azure Дополнительная память (%)
Базовый или стандартный — C0 Balanced — B0 50
Базовый или стандартный — C1 Balanced — B1 0
Базовый и стандартный — C2 Balanced — B3 17
Базовый или стандартный — C3 Balanced — B5 0
Базовый или стандартный — C4 Оптимизировано для памяти — M10* -8
Базовый или стандартный — C4 Оптимизировано для памяти — M20** 46
Базовый или стандартный — C5 Оптимизировано для памяти — M20* -8
Базовый или стандартный — C5 Оптимизировано для памяти — M50** 57
Базовый или стандартный — C6 Оптимизировано для памяти — M50 12
Премиум - P1 Balanced — B5 0
Премиум - P2 Сбалансированный - B10* -8
Премиум - P2 Сбалансированный - B20** 46
Премиум - P3 Balanced — B20* -8
Премиум - P3 Сбалансированный - B50** 57
Премиум - P4 Balanced — B50 12
Премиум - P5 Balanced — B100 0
  • *Этот параметр предназначен для повышения эффективности затрат. Убедитесь, что пик общего объема используемой памяти за прошлый месяц меньше, чем рекомендуемая память Управляемого Redis Azure, чтобы выбрать этот параметр.
  • ** Этот параметр предназначен для потребления большого объема памяти.

кластеризованный Кэш Azure для Redis Premium

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

Варианты переноса

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

Узнайте больше здесь:

Параметры миграции Кэш Azure для Redis в Управляемый Redis Azure

Вариант Преимущества Недостатки
Создание кэша Простейший способ реализации. Необходимо повторно заполнить данные в новом кэше, который может не работать с многими приложениями.
Экспорт и импорт данных через файл RDB Совместимость в целом с любым кэшем Redis. Некоторые данные могут быть потеряны, если они записаны в существующий кэш после создания файла RDB.
Запись данных одновременно в два кэша Не приводит к потерям данных и простоям. Непрерывные операции с существующим кэшем. Упрощенное тестирование нового кэша. Требуется два кэша на продолжительный период времени.
Программная миграция данных Полный контроль над перемещением данных. Требуется специальный код.

Создание нового кэша Azure для Redis

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

  1. Создайте экземпляр Управляемого Redis в Azure.
  2. Обновите приложение, чтобы использовать новый экземпляр.
  3. Удалите старый экземпляр Кэш Azure для Redis.

Экспорт данных в RDB-файл и импорт его в Управляемый Redis в Azure

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

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

  1. Создайте новый экземпляр Управляемого Redis Azure, который имеет тот же размер (или больше), что и существующий экземпляр Кэш Azure для Redis.
  2. Экспорт файла RDB из существующего экземпляра Кэш Azure для Redis с помощью этих инструкций по экспорту или командлета экспорта PowerShell
  3. Импорт файла RDB в новый экземпляр Управляемого Redis в Azure с помощью этих инструкций импорта или командлета импорта PowerShell
  4. Обновите приложение, чтобы использовать новый экземпляр Управляемого Redis Azure строка подключения.

Экспорт данных:

az redis export --resource-group <ResourceGroupName> --name <Azure Cache for Redis instance name> --prefix <BlobPrefix> --container <ContainerName> --file-format <FileFormat>

Импорт данных:

az redis import --resource-group <ResourceGroupName> --name <Azure Managed Redis instance name> --files <BlobUris>

Замените ResourceGroupName, CacheName, BlobPrefix, ContainerName и FileFormat определенными значениями. Файл-format_ может быть RDB или AOF.

Запись в два кэша Redis одновременно в течение периода миграции

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

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

  1. Создайте новый экземпляр Управляемого Redis Azure, который совпадает с размером (или больше) существующего экземпляра Кэш Azure для Redis.
  2. Измените код приложения, чтобы вести запись как в новую, так и в исходную инстанцию.
  3. Продолжайте считывать данные из исходного экземпляра, пока в новом экземпляре не накопится достаточно данных.
  4. Обновите код приложения, чтобы производить считывание и запись только с использованием нового экземпляра.
  5. Удалите исходный экземпляр.

Миграция программными средствами

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

  • Redis-copy
    • С помощью этого средства с открытым кодом можно копировать данные из одного экземпляра кэша Azure для Redis в другой. Это средство полезно для переноса данных между экземплярами кэша в разных регионах кэширования Azure. Также доступна скомпилированная версия. Исходный код также можно найти в качестве полезного руководства по написанию собственного средства миграции.
  • БУНТ
    • RIOT — это еще один популярный инструмент миграции, проверенный сообществом Redis. Это программа командной строки, предназначенная для получения данных и выхода из Redis.

Замечание

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

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

  1. Создайте виртуальную машину в регионе, где находится существующий кэш. Если набор данных большой, выберите относительно мощную виртуальную машину, чтобы сократить время копирования.
  2. Создайте экземпляр Управляемого Redis в Azure.
  3. Очистите новый кэш, чтобы убедиться, что он пуст. Этот шаг является обязательным, поскольку само средство копирования не перезаписывает существующий ключ в целевом кэше. Важно: не сбрасывайте данные из исходного кэша.
  4. Используйте приложение, например инструмент с открытым исходным кодом, упомянутый ранее, для автоматизации копирования данных из исходного кэша в целевой объект. Помните, что процесс копирования может занять некоторое время в зависимости от размера набора данных.