2013-09-18 2 views
7

Я тестирую новый кластер Redis (большие первичные/подчиненные узлы AWS) в AWS Elasticache Redis.Как сохранить данные AWS Elasticache Redis?

Как я могу сделать резервную копию или экспортировать свои данные из кластера Redis?

Другие размещенные службы redis автоматически создают файл дампа Redis RDB и сохраняют его на S3. Я хотел бы сделать что-то подобное с ElastiCache.

ответ

15

EDIT: Новый AWS Особенность от 4/24/2014

Amazon has added internal backup support as of 4/24. Это позволяет снимок Redis данные ежедневно и восстановить его в кластере ElastiCache. В настоящее время он не позволяет экспортировать/загружать. Решение, приведенное ниже, по-прежнему требуется, если вы хотите сохранить свои собственные архивы/резервные копии данных redis.

Большинство людей должны иметь возможность использовать встроенную резервную систему, доступную сейчас.

Оригинал ответа

Похоже, что единственный способ сделать это, чтобы сделать следующее.

  • раскрутить новый экземпляр EC2
  • Установка Redis
  • Настройка локальной реплики, прикрепленной к ElastiCache REDIS первичной
  • Дождитесь данными для синхронизации локально
  • выдает команду Redis SAVE для генерации локального дампа
  • Местные языки dump.rdb по S3

Мне понравилось бы более простое решение или что-то встроенное в ElastiCache.

EDIT: Разработка

Я в конечном итоге на самом деле строить это, используя Рубин камень/утилиту "Redis-подпорку" (https://github.com/josegonzalez/ruby-redis-backup) с кронтаб, выполнив следующую команду оболочки:

sudo -u redis /usr/bin/env S3_SAVE=true redis-backup -s /var/lib/redis/dump.rdb -B YOUR_S3_BUCKET_FOR_BACKUPS -A S3_ACCESS_KEY_ID -S S3_ACCESS_SECRET_KEY 
3

It не похоже, что это возможно больше. Согласно документам AWS,

«Начиная с Redis 2.8.22, ElastiCache больше не поддерживает внешние считываемые реплики».

Смежные вопросы