Изменение настроек кластера Redis
После создания кластера вы можете:
-
Настроить серверы Redis согласно документации Redis
. Список поддерживаемых настроек приведен в разделе Настройки Redis и в справочнике API. -
Включить шардирование в нешардированном кластере.
-
Переместить кластер в другой каталог.
Подробнее о других изменениях кластера:
Изменить имя и описание кластера
- В консоли управления
перейдите в каталог с нужным кластером. - Выберите сервис Managed Service for Redis.
- Выберите нужный кластер.
- В верхней части страницы нажмите кнопку Редактировать.
- В блоке Базовые параметры задайте новые имя и описание кластера.
- Нажмите кнопку Сохранить изменения.
Если у вас еще нет интерфейса командной строки Yandex Cloud, установите и инициализируйте его.
По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name
или --folder-id
.
Чтобы изменить класс хостов для кластера:
-
Посмотрите описание команды CLI для изменения кластера:
yc managed-redis cluster update --help
-
Укажите новые имя и описание в команде изменения кластера:
yc managed-redis cluster update <имя_или_идентификатор_кластера> \ --new-name <новое_имя_кластера> \ --description <новое_описание_кластера>
Внимание
Не изменяйте имя кластера с помощью Terraform. Это приведет к удалению существующего кластера и созданию нового.
Чтобы изменить описание кластера:
-
Откройте актуальный конфигурационный файл Terraform с планом инфраструктуры.
О том, как создать такой файл, см. в разделе Создание кластера.
-
Измените в описании кластера Managed Service for Redis значение параметра
description
:resource "yandex_mdb_redis_cluster" "<имя_кластера>" { name = "<имя_кластера>" description = "<новое_описание_кластера>" ... }
-
Проверьте корректность настроек.
-
В командной строке перейдите в каталог, в котором расположены актуальные конфигурационные файлы Terraform с планом инфраструктуры.
-
Выполните команду:
terraform validate
Если в файлах конфигурации есть ошибки, Terraform на них укажет.
-
-
Подтвердите изменение ресурсов.
-
Выполните команду для просмотра планируемых изменений:
terraform plan
Если конфигурации ресурсов описаны верно, в терминале отобразится список изменяемых ресурсов и их параметров. Это проверочный этап: ресурсы не будут изменены.
-
Если вас устраивают планируемые изменения, внесите их:
-
Выполните команду:
terraform apply
-
Подтвердите изменение ресурсов.
-
Дождитесь завершения операции.
-
-
Подробнее см. в документации провайдера Terraform
Ограничения по времени
Провайдер Terraform ограничивает время на выполнение операций с кластером Managed Service for Redis:
- создание, в т. ч. путем восстановления из резервной копии, — 15 минут;
- изменение — 60 минут;
- удаление — 15 минут.
Операции, длящиеся дольше указанного времени, прерываются.
Как изменить эти ограничения?
Добавьте к описанию кластера блок timeouts
, например:
resource "yandex_mdb_redis_cluster" "<имя_кластера>" {
...
timeouts {
create = "1h30m" # Полтора часа
update = "2h" # 2 часа
delete = "30m" # 30 минут
}
}
Чтобы изменить имя и описание кластера, воспользуйтесь методом REST API update для ресурса Cluster или вызовом gRPC API ClusterService/Update и передайте в запросе:
- Идентификатор кластера в параметре
clusterId
. Чтобы узнать идентификатор кластера, получите список кластеров в каталоге. - Новое имя кластера в параметре
name
. - Новое описание кластера в параметре
description
. - Список полей, которые необходимо изменить (в данном случае —
name
иdescription
), в параметреupdateMask
.
Важно
Метод API переопределит все параметры изменяемого объекта, которые не были явно переданы в запросе, на значения по умолчанию. Чтобы избежать этого, перечислите настройки, которые вы хотите изменить, в параметре updateMask
(одной строкой через запятую).
Настроить использование FQDN вместо IP-адресов
Если соответствующая настройка отключена (по умолчанию), то Redis использует IP-адреса в качестве адресов хостов. Если эта настройка включена, то IP-адрес хоста будет подменяться на его FQDN. Подробнее об этой настройке и сферах ее применения см. в разделе Использование FQDN вместо IP-адресов.
Примечание
Некоторые клиенты несовместимы с этой настройкой и не смогут подключиться к хостам кластера. Такие клиенты ожидают именно IP-адрес и некорректно обрабатывают ситуацию, когда IP-адрес подменяется на FQDN.
Чтобы включить или выключить использование FQDN вместо IP-адресов:
- В консоли управления
перейдите в каталог с нужным кластером. - Выберите сервис Managed Service for Redis.
- Выберите нужный кластер.
- В верхней части страницы нажмите кнопку Редактировать.
- В блоке Базовые параметры включите или выключите опцию Использовать FQDN вместо IP-адресов.
- Нажмите кнопку Сохранить изменения.
Если у вас еще нет интерфейса командной строки Yandex Cloud, установите и инициализируйте его.
По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name
или --folder-id
.
Чтобы включить или выключить использование FQDN вместо IP-адресов:
-
Посмотрите описание команды CLI для изменения кластера:
yc managed-redis cluster update --help
-
Укажите нужное значение настройки в команде изменения кластера:
yc managed-redis cluster update <имя_или_идентификатор_кластера> \ --announce-hostnames <использование_FQDN_вместо_IP-адресов>
Где
--announce-hostnames
— настройка, определяющая, использовать ли FQDN вместо IP-адресов:true
илиfalse
.Имя и идентификатор кластера можно получить со списком кластеров в каталоге.
Чтобы включить или выключить использование FQDN вместо IP-адресов:
-
Откройте актуальный конфигурационный файл Terraform с планом инфраструктуры.
О том, как создать такой файл, см. в разделе Создание кластера.
-
Измените в описании кластера Managed Service for Redis значение параметра
announce_hostnames
:resource "yandex_mdb_redis_cluster" "<имя_кластера>" { name = "<имя_кластера>" ... announce_hostnames = <использование_FQDN_вместо_IP-адресов> ... }
Где
announce_hostnames
— настройка, определяющая, использовать ли FQDN вместо IP-адресов:true
илиfalse
. -
Проверьте корректность настроек.
-
В командной строке перейдите в каталог, в котором расположены актуальные конфигурационные файлы Terraform с планом инфраструктуры.
-
Выполните команду:
terraform validate
Если в файлах конфигурации есть ошибки, Terraform на них укажет.
-
-
Подтвердите изменение ресурсов.
-
Выполните команду для просмотра планируемых изменений:
terraform plan
Если конфигурации ресурсов описаны верно, в терминале отобразится список изменяемых ресурсов и их параметров. Это проверочный этап: ресурсы не будут изменены.
-
Если вас устраивают планируемые изменения, внесите их:
-
Выполните команду:
terraform apply
-
Подтвердите изменение ресурсов.
-
Дождитесь завершения операции.
-
-
Подробнее см. в документации провайдера Terraform
Ограничения по времени
Провайдер Terraform ограничивает время на выполнение операций с кластером Managed Service for Redis:
- создание, в т. ч. путем восстановления из резервной копии, — 15 минут;
- изменение — 60 минут;
- удаление — 15 минут.
Операции, длящиеся дольше указанного времени, прерываются.
Как изменить эти ограничения?
Добавьте к описанию кластера блок timeouts
, например:
resource "yandex_mdb_redis_cluster" "<имя_кластера>" {
...
timeouts {
create = "1h30m" # Полтора часа
update = "2h" # 2 часа
delete = "30m" # 30 минут
}
}
Чтобы включить или выключить использование FQDN вместо IP-адресов, воспользуйтесь методом REST API update для ресурса Cluster или вызовом gRPC API ClusterService/Update и передайте в запросе:
- Идентификатор кластера в параметре
clusterId
. Чтобы узнать идентификатор кластера, получите список кластеров в каталоге. - Нужное значение флага
announceHostnames
—true
илиfalse
. - Список полей, которые необходимо изменить (в данном случае —
announceHostnames
), в параметреupdateMask
.
Важно
Метод API переопределит все параметры изменяемого объекта, которые не были явно переданы в запросе, на значения по умолчанию. Чтобы избежать этого, перечислите настройки, которые вы хотите изменить, в параметре updateMask
(одной строкой через запятую).
Изменить класс хостов
При смене класса хостов:
- Кластер из одного хоста будет недоступен несколько минут, соединения с БД будут прерваны.
- В нешардированном кластере из нескольких хостов:
- Сменится мастер. Каждый хост по очереди будет остановлен и обновлен, остановленный хост будет недоступен несколько минут.
- Подключение по особому FQDN не гарантирует стабильность соединения с БД: пользовательские сессии могут быть прерваны.
- В шардированном кластере:
- В каждом шарде из нескольких хостов сменится мастер.
- Хосты в каждом шарде по очереди будут остановлены и обновлены, остановленный хост-мастер шарда будет недоступен несколько минут.
- Разрешение имени хоста-мастера может быть недоступно. Если включен публичный доступ к хосту, то подключение будет возможно только по IP-адресу хоста.
Рекомендуется изменять класс хостов только во время отсутствия рабочей нагрузки на кластер.
-
В консоли управления
перейдите в каталог с нужным кластером. -
Выберите сервис Managed Service for Redis.
-
Выберите нужный кластер.
-
В верхней части страницы нажмите кнопку Редактировать.
-
В блоке Класс хоста:
- В поле Платформа выберите платформу.
- Выберите Тип виртуальной машины, на которой разворачиваются хосты:
high-memory
— с увеличенным объемом RAM на 1 vCPU;burstable
— с неполной гарантированной долей vCPU. ВМ с гарантированной долей меньше 100% обеспечивают указанный уровень производительности с вероятностью временного повышения вплоть до 100%. Кластеры с такими хостами подходят для задач, которые не требуют постоянной гарантии производительности (например, тестирование).
- Измените конфигурацию хостов.
-
Нажмите кнопку Сохранить изменения.
Если у вас еще нет интерфейса командной строки Yandex Cloud, установите и инициализируйте его.
По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name
или --folder-id
.
Чтобы изменить класс хостов для кластера:
-
Посмотрите описание команды CLI для изменения кластера:
yc managed-redis cluster update --help
-
Запросите список доступных классов хостов (в колонке
ZONE IDS
указаны зоны доступности, в которых можно выбрать соответствующий класс):yc managed-redis resource-preset list
Результат:
+-------------+--------------------------------+----------+ | ID | ZONE IDS | MEMORY | +-------------+--------------------------------+----------+ | b1.nano | ru-central1-a, ru-central1-b, | 2.0 GB | | | ru-central1-d | | | b1.small | ru-central1-a, ru-central1-b, | 4.0 GB | | | ru-central1-d | | | hm1.nano | ru-central1-a, ru-central1-b, | 8.0 GB | | | ru-central1-d | | | hm1.micro | ru-central1-a, ru-central1-b, | 12.0 GB | | ... | +-----------+----------------------------------+----------+
-
Укажите нужный класс в команде изменения кластера:
yc managed-redis cluster update <имя_или_идентификатор_кластера> \ --resource-preset <идентификатор_класса_хостов>
Managed Service for Redis запустит операцию изменения класса хостов для кластера.
-
Откройте актуальный конфигурационный файл Terraform с планом инфраструктуры.
О том, как создать такой файл, см. в разделе Создание кластера.
-
Измените в описании кластера Managed Service for Redis значение параметра
resource_preset_id
в блокеresources
:resource "yandex_mdb_redis_cluster" "<имя_кластера>" { ... resources { resource_preset_id = "<класс_хоста>" ... } }
-
Проверьте корректность настроек.
-
В командной строке перейдите в каталог, в котором расположены актуальные конфигурационные файлы Terraform с планом инфраструктуры.
-
Выполните команду:
terraform validate
Если в файлах конфигурации есть ошибки, Terraform на них укажет.
-
-
Подтвердите изменение ресурсов.
-
Выполните команду для просмотра планируемых изменений:
terraform plan
Если конфигурации ресурсов описаны верно, в терминале отобразится список изменяемых ресурсов и их параметров. Это проверочный этап: ресурсы не будут изменены.
-
Если вас устраивают планируемые изменения, внесите их:
-
Выполните команду:
terraform apply
-
Подтвердите изменение ресурсов.
-
Дождитесь завершения операции.
-
-
Подробнее см. в документации провайдера Terraform
Ограничения по времени
Провайдер Terraform ограничивает время на выполнение операций с кластером Managed Service for Redis:
- создание, в т. ч. путем восстановления из резервной копии, — 15 минут;
- изменение — 60 минут;
- удаление — 15 минут.
Операции, длящиеся дольше указанного времени, прерываются.
Как изменить эти ограничения?
Добавьте к описанию кластера блок timeouts
, например:
resource "yandex_mdb_redis_cluster" "<имя_кластера>" {
...
timeouts {
create = "1h30m" # Полтора часа
update = "2h" # 2 часа
delete = "30m" # 30 минут
}
}
Чтобы изменить класс хостов, воспользуйтесь методом REST API update для ресурса Cluster или вызовом gRPC API ClusterService/Update и передайте в запросе:
-
Идентификатор кластера в параметре
clusterId
. Чтобы узнать идентификатор, получите список кластеров в каталоге. -
Новый класс хостов в параметре
configSpec.resources.resourcePresetId
.Чтобы получить список поддерживаемых значений, воспользуйтесь методом REST API list для ресурса ResourcePreset или вызовом gRPC API ResourcePresetService/List.
-
Список полей, которые необходимо изменить (в данном случае —
configSpec.resources.resourcePresetId
), в параметреupdateMask
.
Важно
Метод API переопределит все параметры изменяемого объекта, которые не были явно переданы в запросе, на значения по умолчанию. Чтобы избежать этого, перечислите настройки, которые вы хотите изменить, в параметре updateMask
(одной строкой через запятую).
Кластер Managed Service for Redis недоступен около пяти — семи минут после изменения класса хостов.
Увеличить размер хранилища
Проверьте, что в облаке достаточно квот для увеличения хранилища. Откройте страницу Квоты
Чтобы увеличить размер хранилища для кластера:
- В консоли управления
перейдите в каталог с нужным кластером. - Выберите сервис Managed Service for Redis.
- Выберите нужный кластер.
- В верхней части страницы нажмите кнопку Редактировать.
- Измените настройки в блоке Размер хранилища.
- Нажмите кнопку Сохранить изменения.
Если у вас еще нет интерфейса командной строки Yandex Cloud, установите и инициализируйте его.
По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name
или --folder-id
.
Чтобы увеличить размер хранилища хостов Redis:
-
Посмотрите описание команды CLI для изменения кластера:
yc managed-redis cluster update --help
-
Укажите нужный размер хранилища в команде изменения кластера. Новый размер должен быть не меньше, чем текущее значение
disk_size
в свойствах кластера.yc managed-redis cluster update <имя_или_идентификатор_кластера> \ --disk-size <размер_хранилища_ГБ>
Если все условия выполнены, Managed Service for Redis запустит операцию по увеличению размера дисков хостов Redis.
Чтобы увеличить размер хранилища для кластера:
-
Откройте актуальный конфигурационный файл Terraform с планом инфраструктуры.
О том, как создать такой файл, см. в разделе Создание кластера.
-
Измените в описании кластера Managed Service for Redis значение параметра
disk_size
в блокеresources
:resource "yandex_mdb_redis_cluster" "<имя_кластера>" { ... resources { disk_size = <размер_хранилища_ГБ> ... } }
-
Проверьте корректность настроек.
-
В командной строке перейдите в каталог, в котором расположены актуальные конфигурационные файлы Terraform с планом инфраструктуры.
-
Выполните команду:
terraform validate
Если в файлах конфигурации есть ошибки, Terraform на них укажет.
-
-
Подтвердите изменение ресурсов.
-
Выполните команду для просмотра планируемых изменений:
terraform plan
Если конфигурации ресурсов описаны верно, в терминале отобразится список изменяемых ресурсов и их параметров. Это проверочный этап: ресурсы не будут изменены.
-
Если вас устраивают планируемые изменения, внесите их:
-
Выполните команду:
terraform apply
-
Подтвердите изменение ресурсов.
-
Дождитесь завершения операции.
-
-
Подробнее см. в документации провайдера Terraform
Ограничения по времени
Провайдер Terraform ограничивает время на выполнение операций с кластером Managed Service for Redis:
- создание, в т. ч. путем восстановления из резервной копии, — 15 минут;
- изменение — 60 минут;
- удаление — 15 минут.
Операции, длящиеся дольше указанного времени, прерываются.
Как изменить эти ограничения?
Добавьте к описанию кластера блок timeouts
, например:
resource "yandex_mdb_redis_cluster" "<имя_кластера>" {
...
timeouts {
create = "1h30m" # Полтора часа
update = "2h" # 2 часа
delete = "30m" # 30 минут
}
}
Чтобы увеличить размер хранилища для кластера, воспользуйтесь методом REST API update для ресурса Cluster или вызовом gRPC API ClusterService/Update и передайте в запросе:
- Идентификатор кластера в параметре
clusterId
. Чтобы узнать идентификатор, получите список кластеров в каталоге. - Новый размер хранилища в параметре
configSpec.resources.diskSize
. - Список изменяемых полей конфигурации кластера в параметре
updateMask
(в данном случае —configSpec.resources.diskSize
).
Важно
Метод API переопределит все параметры изменяемого объекта, которые не были явно переданы в запросе, на значения по умолчанию. Чтобы избежать этого, перечислите настройки, которые вы хотите изменить, в параметре updateMask
(одной строкой через запятую).
Изменить настройки Redis
Вы можете изменить настройки СУБД для хостов вашего кластера. Все поддерживаемые настройки описаны в разделе Настройки Redis и в справочнике API.
Чтобы изменить настройки СУБД для кластера:
- В консоли управления
перейдите в каталог с нужным кластером. - Выберите сервис Managed Service for Redis.
- Выберите нужный кластер.
- В верхней части страницы нажмите кнопку Редактировать.
- В разделе Настройки СУБД нажмите кнопку Настроить.
- Настройте доступные параметры в соответствии с документацией Redis
. - Нажмите кнопку Сохранить.
Чтобы изменить настройки СУБД для кластера:
-
Откройте актуальный конфигурационный файл Terraform с планом инфраструктуры.
О том, как создать такой файл, см. в разделе Создание кластера.
-
Измените в описании кластера Managed Service for Redis значения параметров в блоке
config
:resource "yandex_mdb_redis_cluster" "<имя_кластера>" { ... config { password = "<пароль>" timeout = <время> maxmemory_policy = "<политика>" ... } }
Где:
timeout
— время в секундах перед отключением неактивных клиентов.maxmemory_policy
— политика управления памятью при ее дефиците.
Допустимая длина пароля — от 8 до 128 символов. Пароль должен удовлетворять регулярному выражению
[a-zA-Z0-9@=+?*.,!&#$^<>_-]*
. -
Проверьте корректность настроек.
-
В командной строке перейдите в каталог, в котором расположены актуальные конфигурационные файлы Terraform с планом инфраструктуры.
-
Выполните команду:
terraform validate
Если в файлах конфигурации есть ошибки, Terraform на них укажет.
-
-
Подтвердите изменение ресурсов.
-
Выполните команду для просмотра планируемых изменений:
terraform plan
Если конфигурации ресурсов описаны верно, в терминале отобразится список изменяемых ресурсов и их параметров. Это проверочный этап: ресурсы не будут изменены.
-
Если вас устраивают планируемые изменения, внесите их:
-
Выполните команду:
terraform apply
-
Подтвердите изменение ресурсов.
-
Дождитесь завершения операции.
-
-
Подробнее см. в документации провайдера Terraform
Ограничения по времени
Провайдер Terraform ограничивает время на выполнение операций с кластером Managed Service for Redis:
- создание, в т. ч. путем восстановления из резервной копии, — 15 минут;
- изменение — 60 минут;
- удаление — 15 минут.
Операции, длящиеся дольше указанного времени, прерываются.
Как изменить эти ограничения?
Добавьте к описанию кластера блок timeouts
, например:
resource "yandex_mdb_redis_cluster" "<имя_кластера>" {
...
timeouts {
create = "1h30m" # Полтора часа
update = "2h" # 2 часа
delete = "30m" # 30 минут
}
}
Чтобы изменить настройки Redis, воспользуйтесь методом REST API update для ресурса Cluster или вызовом gRPC API ClusterService/Update и передайте в запросе:
- Идентификатор кластера в параметре
clusterId
. Чтобы узнать идентификатор, получите список кластеров в каталоге. - Нужные значения настроек Redis в параметре
configSpec.redisConfig_<версия_Redis>
. - Список изменяемых полей конфигурации кластера в параметре
updateMask
.
Важно
Метод API переопределит все параметры изменяемого объекта, которые не были явно переданы в запросе, на значения по умолчанию. Чтобы избежать этого, перечислите настройки, которые вы хотите изменить, в параметре updateMask
(одной строкой через запятую).
Изменить дополнительные настройки кластера
-
В консоли управления
перейдите в каталог с нужным кластером. -
Выберите сервис Managed Service for Redis.
-
Выберите нужный кластер.
-
В верхней части страницы нажмите кнопку Редактировать.
-
Измените дополнительные настройки кластера:
-
Начало резервного копирования (UTC) — время по UTC, когда требуется начать резервное копирование кластера (в 24-часовом формате). Если время не задано, резервное копирование начнется в 22:00 UTC.
-
Окно обслуживания — настройки времени технического обслуживания:
- Чтобы разрешить проведение технического обслуживания в любое время, выберите пункт произвольное (по умолчанию).
- Чтобы указать предпочтительное время начала обслуживания, выберите пункт по расписанию и укажите нужные день недели и час дня по UTC. Например, можно выбрать время, когда кластер наименее загружен.
Операции по техническому обслуживанию проводятся для включенных и выключенных кластеров. Они могут включать в себя: обновление СУБД, применение патчей и так далее.
-
Защита от удаления — управляет защитой кластера, его баз данных и пользователей от непреднамеренного удаления.
Включенная защита от удаления не помешает подключиться вручную и удалить содержимое базы данных.
-
-
Нажмите кнопку Сохранить изменения.
Если у вас еще нет интерфейса командной строки Yandex Cloud, установите и инициализируйте его.
По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name
или --folder-id
.
Чтобы изменить дополнительные настройки кластера:
-
Посмотрите описание команды CLI для изменения кластера:
yc managed-redis cluster update --help
-
Выполните команду, передав список настроек, которые хотите изменить:
yc managed-redis cluster update <имя_или_идентификатор_кластера> \ --backup-window-start <время> \ --maintenance-window type=<тип_технического_обслуживания>,` `day=<день_недели>,` `hour=<час_дня> \ --websql-access=<true_или_false> \ --deletion-protection
Вы можете изменить следующие настройки:
--backup-window-start
— время начала резервного копирования кластера, задается по UTC в форматеHH:MM:SS
. Если время не задано, резервное копирование начнется в 22:00 UTC.
-
--maintenance-window
— настройки времени технического обслуживания (в т. ч. для выключенных кластеров), гдеtype
— тип технического обслуживания:anytime
(по умолчанию) — в любое время.weekly
— по расписанию. При задании этого значения укажите день недели и час дня:day
— день недели в форматеDDD
:MON
,TUE
,WED
,THU
,FRI
,SAT
илиSUN
.hour
— час дня по UTC в форматеHH
: от1
до24
.
-
--websql-access
— разрешает выполнять SQL-запросы к базам данных кластера из консоли управления Yandex Cloud с помощью сервиса Yandex WebSQL. Значение по умолчанию —false
. -
--deletion-protection
— защита кластера, его баз данных и пользователей от непреднамеренного удаления.Включенная защита от удаления не помешает подключиться вручную и удалить содержимое базы данных.
Имя кластера можно получить со списком кластеров в каталоге.
Чтобы изменить дополнительные настройки кластера, воспользуйтесь методом REST API update для ресурса Cluster или вызовом gRPC API ClusterService/Update и передайте в запросе:
-
Идентификатор кластера в параметре
clusterId
. Чтобы узнать идентификатор, получите список кластеров в каталоге. -
Настройки защиты от удаления кластера в параметре
deletionProtection
.Включенная защита от удаления кластера не помешает подключиться к нему вручную и удалить данные.
-
Список полей конфигурации кластера, подлежащих изменению, в параметре
updateMask
.
Важно
Метод API переопределит все параметры изменяемого объекта, которые не были явно переданы в запросе, на значения по умолчанию. Чтобы избежать этого, перечислите настройки, которые вы хотите изменить, в параметре updateMask
(одной строкой через запятую).
Включить шардирование
В нешардированном кластере можно включить шардирование, чтобы кластер стал шардированным.
Важно
Отключить шардирование в кластере, для которого оно включено, невозможно.
Если у вас еще нет интерфейса командной строки Yandex Cloud, установите и инициализируйте его.
По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name
или --folder-id
.
Чтобы включить шардирование:
-
Посмотрите описание команды CLI для включения шардирования:
yc managed-redis cluster enable-sharding --help
-
Выполните команду:
yc managed-redis cluster enable-sharding <идентификатор_кластера>
Идентификатор кластера можно получить со списком кластеров в каталоге.
После включения шардирования все существующие хосты кластера будут добавлены в единственный шард shard1
.
Чтобы включить шардирование, воспользуйтесь методом REST API enableSharding для ресурса Cluster или вызовом gRPC API ClusterService/EnableSharding и передайте в запросе идентификатор кластера в параметре clusterId
(cluster_id
для gRPC).
Идентификатор кластера можно получить со списком кластеров в каталоге.
После включения шардирования все существующие хосты кластера будут добавлены в единственный шард shard1
.
Переместить кластер
- Перейдите на страницу каталога и выберите сервис Managed Service for Redis.
- Нажмите на значок
справа в строке кластера, который вы хотите переместить. - Выберите пункт Переместить.
- Выберите каталог, в который вы хотите переместить кластер.
- Нажмите кнопку Переместить.
Если у вас еще нет интерфейса командной строки Yandex Cloud, установите и инициализируйте его.
По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name
или --folder-id
.
Чтобы переместить кластер:
-
Посмотрите описание команды CLI для перемещения кластера:
yc managed-redis cluster move --help
-
Укажите каталог назначения в команде перемещения кластера:
yc managed-redis cluster move <идентификатор_кластера> \ --destination-folder-name=<имя_каталога_назначения>
Идентификатор кластера можно получить со списком кластеров в каталоге.
Чтобы переместить кластер, воспользуйтесь методом REST API move для ресурса Cluster или вызовом gRPC API ClusterService/Move и передайте в запросе:
- Идентификатор кластера в параметре
clusterId
. Чтобы узнать идентификатор, получите список кластеров в каталоге. - Идентификатор каталога назначения в параметре
destinationFolderId
.
Изменить группы безопасности
- В консоли управления
перейдите в каталог с нужным кластером. - Выберите сервис Managed Service for Redis.
- Выберите нужный кластер.
- В верхней части страницы нажмите кнопку Редактировать.
- В блоке Сетевые настройки выберите группы безопасности для сетевого трафика кластера.
Если у вас еще нет интерфейса командной строки Yandex Cloud, установите и инициализируйте его.
По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name
или --folder-id
.
Чтобы изменить список групп безопасности для кластера:
-
Посмотрите описание команды CLI для изменения кластера:
yc managed-redis cluster update --help
-
Укажите нужные группы безопасности в команде изменения кластера:
yc managed-redis cluster update <имя_или_идентификатор_кластера> \ --security-group-ids <список_идентификаторов_групп_безопасности>
-
Откройте актуальный конфигурационный файл Terraform с планом инфраструктуры.
О том, как создать такой файл, см. в разделе Создание кластера.
-
Измените в описании кластера Managed Service for Redis значение параметра
security_group_ids
:resource "yandex_mdb_redis_cluster" "<имя_кластера>" { ... security_group_ids = [<список_идентификаторов_групп_безопасности>] }
-
Проверьте корректность настроек.
-
В командной строке перейдите в каталог, в котором расположены актуальные конфигурационные файлы Terraform с планом инфраструктуры.
-
Выполните команду:
terraform validate
Если в файлах конфигурации есть ошибки, Terraform на них укажет.
-
-
Подтвердите изменение ресурсов.
-
Выполните команду для просмотра планируемых изменений:
terraform plan
Если конфигурации ресурсов описаны верно, в терминале отобразится список изменяемых ресурсов и их параметров. Это проверочный этап: ресурсы не будут изменены.
-
Если вас устраивают планируемые изменения, внесите их:
-
Выполните команду:
terraform apply
-
Подтвердите изменение ресурсов.
-
Дождитесь завершения операции.
-
-
Подробнее см. в документации провайдера Terraform
Ограничения по времени
Провайдер Terraform ограничивает время на выполнение операций с кластером Managed Service for Redis:
- создание, в т. ч. путем восстановления из резервной копии, — 15 минут;
- изменение — 60 минут;
- удаление — 15 минут.
Операции, длящиеся дольше указанного времени, прерываются.
Как изменить эти ограничения?
Добавьте к описанию кластера блок timeouts
, например:
resource "yandex_mdb_redis_cluster" "<имя_кластера>" {
...
timeouts {
create = "1h30m" # Полтора часа
update = "2h" # 2 часа
delete = "30m" # 30 минут
}
}
Чтобы изменить группы безопасности, воспользуйтесь методом REST API update для ресурса Cluster или вызовом gRPC API ClusterService/Update и передайте в запросе:
- Идентификатор кластера в параметре
clusterId
. Чтобы узнать идентификатор, получите список кластеров в каталоге. - Список идентификаторов групп безопасности в параметре
securityGroupIds
. - Список настроек, которые необходимо изменить (в данном случае —
securityGroupIds
), в параметреupdateMask
.
Важно
Метод API переопределит все параметры изменяемого объекта, которые не были явно переданы в запросе, на значения по умолчанию. Чтобы избежать этого, перечислите настройки, которые вы хотите изменить, в параметре updateMask
(одной строкой через запятую).
Важно
Может потребоваться дополнительная настройка групп безопасности для подключения к кластеру.