Создание Redis-кластера

Redis-кластер — это один или несколько хостов базы данных, между которыми можно настроить репликацию. Репликация работает по умолчанию в любом кластере из более чем 1 хоста: хост-мастер принимает запросы на запись, асинхронно дублируя изменения в репликах.

Количество хостов, которые можно создать вместе с Redis-кластером, зависит от выбранного типа хоста:

  • В кластере с типом хостов high-memory можно создать неограниченное число хостов (от 1 до пределов текущей квоты).

  • В кластере с типом хостов burstable можно создать только один хост.

Как создать кластер Redis

  1. В консоли управления выберите каталог, в котором нужно создать кластер БД.

  2. Выберите сервис Managed Service for Redis.

  3. Нажмите кнопку Создать кластер.

  4. Введите имя кластера в поле Имя кластера. Имя кластера должно быть уникальным в Облаке.

  5. Выберите окружение, в котором нужно создать кластер (после создания кластера окружение изменить невозможно):

    • production — для стабильных версий ваших приложений.
    • prestable — для тестирования, в том числе самого сервиса Managed Service for Redis. Prestable-окружение обновляется чаще, из-за чего в нем раньше исправляются уже известные проблемы, но могут происходить обратно несовместимые изменения.
  6. Выберите версию СУБД.

  7. Если требуется, включите шардирование кластера.

    Важная информация

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

  8. В блоке Класс хоста:

    • Выберите тип хостов — он определяет уровень производительности ядер процессора. Хосты типа high-memory работают с полным использованием ядра, а burstable — с частичным.

    • Выберите объем оперативной памяти для хоста.

    • Выберите размер диска.

  9. В блоке Настройки кластера в поле Пароль укажите пароль пользователя, от 8 до 128 символов.

  10. В блоке Сеть выберите сеть, к подсетям которой будут подключены хосты.

  11. В блоке Хосты нажмите на кнопку Добавить хост и выберите зону доступности и подсеть, к которой будет подключен хост. Создайте необходимое количество хостов. Для изменения зоны доступности и добавленного хоста нажмите на значок карандаша в строке хоста.

    Если вы включили шардирование, укажите названия шардов.

  12. Нажмите кнопку Создать кластер.

Если у вас еще нет интерфейса командной строки Яндекс.Облака, установите и инициализируйте его.

По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name или --folder-id.

Чтобы создать кластер:

  1. Проверьте, есть ли в каталоге подсети для хостов кластера:

    $ yc vpc subnet list
    

    Если ни одной подсети в каталоге нет, создайте нужные подсети в сервисе VPC.

  2. Посмотрите описание команды CLI для создания кластера:

    $ yc managed-redis cluster create --help
    
  3. Посмотрите доступные классы хостов:

    $ yc managed-redis resource-preset list
    
  4. Укажите параметры кластера в команде создания (в примере приведены не все флаги):

    $ yc managed-redis cluster create \
       --name <имя кластера> \
       --environment <окружение, prestable или production> \
       --network-name <имя сети> \
       --host zone-id=<зона доступности>,subnet-id=<идентификатор подсети> \
       --resource-preset <класс хоста> \
       --disk-size <размер хранилища в гигабайтах> \
       --password=<пароль пользователя> \
       --backup-window-start <время начала резервного копирования в формате ЧЧ:ММ:СС>
    

    Идентификатор подсети subnet-id необходимо указывать, если в выбранной зоне доступности создано 2 и больше подсетей.

Примеры

Создание кластера с одним хостом

Чтобы создать кластер с одним хостом, следует передать один параметр --host.

Допустим, нужно создать Redis-кластер со следующими характеристиками:

  • С именем myredis.
  • В окружении production.
  • В сети default.
  • С одним хостом класса b1.nano в подсети b0rcctk2rvtr8efcch64, в зоне доступности ru-central1-c.
  • С хранилищем объемом 20 ГБ.
  • C паролем user1user1.

Запустите следующую команду:

$ yc managed-redis cluster create \
     --name myredis \
     --environment production \
     --network-name default \
     --resource-preset b1.nano \
     --host zone-id=ru-central1-c,subnet-id=b0rcctk2rvtr8efcch64 \
     --disk-size 20 \
     --password=user1user1