Управление резервными копиями в Yandex Managed Service for Valkey™
Вы можете создавать резервные копии и восстанавливать кластеры из имеющихся резервных копий.
Также Yandex Managed Service for Valkey™ ежедневно создает автоматическую резервную копию. Вы можете задать время начала резервного копирования для нее.
Восстановить кластер из резервной копии
Восстанавливая кластер из резервной копии, вы создаете новый кластер с данными из резервной копии. Если в каталоге не хватает ресурсов для создания такого кластера, восстановиться из резервной копии не получится. Средняя скорость восстановления из резервной копии — 10 МБайт/с.
Если при восстановлении кластера из резервной копии вы выбрали тип диска local-ssd, добавьте не менее двух хостов на шард.
Перед началом работы назначьте вашему аккаунту в Yandex Cloud роль managed-redis.restorer или выше на каталог размещения резервной копии и каталог, где будет развернут новый кластер.
Чтобы восстановить из резервной копии существующий кластер:
- В консоли управления
перейдите в каталог, в котором нужно восстановить кластер. - Перейдите в сервис Yandex Managed Service for Valkey™.
- Нажмите на имя нужного кластера и выберите вкладку Резервные копии.
- В строке нужной резервной копии нажмите значок
и выберите Восстановить кластер. - Задайте настройки нового кластера. В списке Каталог можно выбрать каталог для нового кластера.
- Нажмите кнопку Восстановить кластер.
Чтобы восстановить из резервной копии удаленный ранее кластер:
- В консоли управления
перейдите в каталог, в котором нужно восстановить кластер. - Перейдите в сервис Yandex Managed Service for Valkey™.
- На панели слева выберите
Резервные копии. - Найдите нужную резервную копию по времени создания и идентификатору кластера. В колонке Идентификатор содержатся идентификаторы в формате
<идентификатор_кластера>:<идентификатор_резервной_копии>. - В строке нужной резервной копии нажмите значок
и выберите Восстановить кластер. - Задайте настройки нового кластера. В списке Каталог можно выбрать каталог для нового кластера.
- Нажмите кнопку Восстановить кластер.
Yandex Managed Service for Valkey™ запустит операцию создания кластера из резервной копии.
Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.
По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id.
Чтобы восстановить кластер из резервной копии:
-
Посмотрите описание команды CLI для восстановления кластера Valkey™:
yc managed-redis cluster restore --help -
Получите список доступных резервных копий кластеров Valkey™:
yc managed-redis backup listРезультат:
+--------------------------+---------------------+----------------------+---------------------+ | ID | CREATED AT | SOURCE CLUSTER ID | STARTED AT | +--------------------------+---------------------+----------------------+---------------------+ | c9qlk4v13uq7********:... | 2020-08-10 12:00:00 | c9qlk4v13uq7******** | 2020-08-10 11:55:17 | | ... | +--------------------------+---------------------+----------------------+---------------------+ -
Запросите создание кластера из резервной копии:
yc managed-redis cluster restore \ --backup-id c9q287aqv5rf********:20181113T133617 \ --name mynewrd \ --environment=PRODUCTION \ --network-name default \ --host zone-id=ru-central1-a,subnet-id=b0rcctk2rvtr********,assign-public-ip=true,replica-priority=50 \ --password P@ssWord \ --disk-size 20В результате будет создан кластер Valkey™ со следующими характеристиками:
- С именем
mynewrd. - В окружении
PRODUCTION. - В сети
default. - С одним хостом класса
hm1.nanoв подсетиb0rcctk2rvtr********, в зоне доступностиru-central1-a, публичным доступом и приоритетом реплики50. - С паролем
P@ssWord. - С хранилищем на сетевых SSD-дисках (
network-ssd) размером 20 ГБ.
Допустимая длина пароля — от 8 до 128 символов. Пароль должен удовлетворять регулярному выражению
[a-zA-Z0-9@=+?*.,!&#$^<>_-]*. - С именем
-
Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:
export IAM_TOKEN="<IAM-токен>" -
Воспользуйтесь методом Cluster.Restore и выполните запрос, например, с помощью cURL
:curl \ --request POST \ --header "Authorization: Bearer $IAM_TOKEN" \ --header "Content-Type: application/json" \ --url 'https://mdb.api.cloud.yandex.net/managed-redis/v1/clusters:restore' \ --data '{ "backupId": "<идентификатор_резервной_копии>", "name": "<имя_кластера>", "environment": "<окружение>", "configSpec": { "redis": { "password": "<пароль_пользователя>" } }, "hostSpecs": [ { "zoneId": "<зона_доступности>", "subnetId": "<идентификатор_подсети>", "replicaPriority": "<приоритет_хоста>", "assignPublicIp": <публичный_доступ_к_хосту_кластера> }, { <аналогичный_набор_настроек_для_хоста_2> }, { ... }, { <аналогичный_набор_настроек_для_хоста_N> } ], "networkId": "<идентификатор_сети>", "tlsEnabled": <поддержка_шифрованных_TLS-соединений> }'Где:
-
backupId— идентификатор резервной копии. Чтобы узнать идентификатор, получите список резервных копий в каталоге. -
name— имя кластера. -
environment— окружение:PRESTABLEилиPRODUCTION. -
configSpec.redis.password— пароль пользователя. -
hostSpecs— параметры хоста:zoneId— зона доступности.subnetId— идентификатор подсети. Необходимо указывать, если в выбранной зоне доступности создано две или больше подсетей.replicaPriority— приоритет назначения хоста мастером при выходе из строя основного мастера.assignPublicIp— доступность хоста из интернета по публичному IP-адресу:trueилиfalse. Включить публичный доступ можно, только если для параметраtlsEnabledуказано значениеtrue.
-
networkId— идентификатор сети, в которой будет размещен кластер. -
tlsEnabled— поддержка шифрованных TLS-соединений с кластером:trueилиfalse.Важно
Включить шифрование соединений можно только при создании нового кластера. Отключить шифрование в кластере, для которого оно включено, невозможно.
-
-
Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.
-
Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:
export IAM_TOKEN="<IAM-токен>" -
Клонируйте репозиторий cloudapi
:cd ~/ && git clone --depth=1 https://github.com/yandex-cloud/cloudapiДалее предполагается, что содержимое репозитория находится в директории
~/cloudapi/. -
Воспользуйтесь вызовом Cluster.Restore и выполните запрос, например, с помощью gRPCurl
:grpcurl \ -format json \ -import-path ~/cloudapi/ \ -import-path ~/cloudapi/third_party/googleapis/ \ -proto ~/cloudapi/yandex/cloud/mdb/redis/v1/cluster_service.proto \ -rpc-header "Authorization: Bearer $IAM_TOKEN" \ -d '{ "backup_id": "<идентификатор_резервной_копии>", "name": "<имя_кластера>", "environment": "<окружение>", "config_spec": { "redis": { "password": "<пароль_пользователя>" } }, "host_specs": [ { "zone_id": "<зона_доступности>", "subnet_id": "<идентификатор_подсети>", "replica_priority": "<приоритет_хоста>", "assign_public_ip": <публичный_доступ_к_хосту_кластера> }, { <аналогичный_набор_настроек_для_хоста_2> }, { ... }, { <аналогичный_набор_настроек_для_хоста_N> } ], "network_id": "<идентификатор_сети>", "tls_enabled": <поддержка_шифрованных_TLS-соединений> }' \ mdb.api.cloud.yandex.net:443 \ yandex.cloud.mdb.redis.v1.ClusterService.RestoreГде:
-
backup_id— идентификатор резервной копии. Чтобы узнать идентификатор, получите список резервных копий в каталоге. -
name— имя кластера. -
environment— окружение:PRESTABLEилиPRODUCTION. -
config_spec.redis.password— пароль пользователя. -
host_specs— параметры хоста:zone_id— зона доступности.subnet_id— идентификатор подсети. Необходимо указывать, если в выбранной зоне доступности создано две или больше подсетей.replica_priority— приоритет назначения хоста мастером при выходе из строя основного мастера.assign_public_ip— доступность хоста из интернета по публичному IP-адресу:trueилиfalse. Включить публичный доступ можно, только если для параметраtlsEnabledуказано значениеtrue.
-
network_id— идентификатор сети, в которой будет размещен кластер. -
tls_enabled— поддержка шифрованных TLS-соединений с кластером:trueилиfalse.Важно
Включить шифрование соединений можно только при создании нового кластера. Отключить шифрование в кластере, для которого оно включено, невозможно.
-
-
Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.
Создать резервную копию
- В консоли управления
перейдите в каталог, где нужно создать резервную копию. - Перейдите в сервис Yandex Managed Service for Valkey™.
- Нажмите на имя нужного кластера и выберите вкладку Резервные копии.
- Нажмите кнопку Создать резервную копию.
Сервис начнет создавать резервную копию без дополнительного подтверждения.
Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.
По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id.
Чтобы создать резервную копию кластера:
-
Посмотрите описание команды CLI для создания резервной копии Valkey™:
yc managed-redis cluster backup --help -
Запросите создание резервной копии, указав имя или идентификатор кластера:
yc managed-redis cluster backup my-rd-clusterИмя и идентификатор кластера можно получить со списком кластеров.
-
Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:
export IAM_TOKEN="<IAM-токен>" -
Воспользуйтесь методом Cluster.Backup и выполните запрос, например, с помощью cURL
:curl \ --request POST \ --header "Authorization: Bearer $IAM_TOKEN" \ --url 'https://mdb.api.cloud.yandex.net/managed-redis/v1/clusters/<идентификатор_кластера>:backup'Идентификатор кластера можно запросить со списком кластеров в каталоге.
-
Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.
-
Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:
export IAM_TOKEN="<IAM-токен>" -
Клонируйте репозиторий cloudapi
:cd ~/ && git clone --depth=1 https://github.com/yandex-cloud/cloudapiДалее предполагается, что содержимое репозитория находится в директории
~/cloudapi/. -
Воспользуйтесь вызовом ClusterService.Backup и выполните запрос, например, с помощью gRPCurl
:grpcurl \ -format json \ -import-path ~/cloudapi/ \ -import-path ~/cloudapi/third_party/googleapis/ \ -proto ~/cloudapi/yandex/cloud/mdb/redis/v1/cluster_service.proto \ -rpc-header "Authorization: Bearer $IAM_TOKEN" \ -d '{ "cluster_id": "<идентификатор_кластера>" }' \ mdb.api.cloud.yandex.net:443 \ yandex.cloud.mdb.redis.v1.ClusterService.BackupИдентификатор кластера можно запросить со списком кластеров в каталоге.
-
Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.
Важно
Во время создания резервной копии производительность кластера может снижаться.
Получить список резервных копий
Чтобы получить список резервных копий кластера:
- В консоли управления
перейдите в нужный каталог. - Перейдите в сервис Yandex Managed Service for Valkey™.
- Нажмите на имя нужного кластера и выберите вкладку Резервные копии.
Чтобы получить список всех резервных копий в каталоге:
- В консоли управления
перейдите в нужный каталог. - Перейдите в сервис Yandex Managed Service for Valkey™.
- На панели слева выберите
Резервные копии.
Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.
По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id.
Чтобы получить список резервных копий кластеров Valkey™, доступных в каталоге по умолчанию, выполните команду:
yc managed-redis backup list
Результат:
+--------------------------+---------------------+----------------------+---------------------+
| ID | CREATED AT | SOURCE CLUSTER ID | STARTED AT |
+--------------------------+---------------------+----------------------+---------------------+
| c9qlk4v13uq7********:... | 2020-08-10 12:00:00 | c9qlk4v13uq7******** | 2020-08-10 11:55:17 |
| c9qpm90p3pcg********:... | 2020-08-09 22:01:04 | c9qpm90p3pcg******** | 2020-08-09 21:30:00 |
+--------------------------+---------------------+----------------------+---------------------+
-
Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:
export IAM_TOKEN="<IAM-токен>" -
Чтобы получить список резервных копий кластера:
-
Воспользуйтесь методом Cluster.ListBackups и выполните запрос, например, с помощью cURL
:curl \ --request GET \ --header "Authorization: Bearer $IAM_TOKEN" \ --url 'https://mdb.api.cloud.yandex.net/managed-redis/v1/clusters/<идентификатор_кластера>/backups'Идентификатор кластера можно запросить со списком кластеров в каталоге.
-
Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.
-
-
Чтобы получить список резервных копий всех кластеров в каталоге:
-
Воспользуйтесь методом Backup.List и выполните запрос, например, с помощью cURL
:curl \ --request GET \ --header "Authorization: Bearer $IAM_TOKEN" \ --url 'https://mdb.api.cloud.yandex.net/managed-redis/v1/backups' \ --url-query folderId=<идентификатор_каталога>Идентификатор каталога можно запросить со списком каталогов в облаке.
-
Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.
-
-
Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:
export IAM_TOKEN="<IAM-токен>" -
Клонируйте репозиторий cloudapi
:cd ~/ && git clone --depth=1 https://github.com/yandex-cloud/cloudapiДалее предполагается, что содержимое репозитория находится в директории
~/cloudapi/. -
Чтобы получить список резервных копий кластера:
-
Воспользуйтесь вызовом ClusterService.ListBackups и выполните запрос, например, с помощью gRPCurl
:grpcurl \ -format json \ -import-path ~/cloudapi/ \ -import-path ~/cloudapi/third_party/googleapis/ \ -proto ~/cloudapi/yandex/cloud/mdb/redis/v1/cluster_service.proto \ -rpc-header "Authorization: Bearer $IAM_TOKEN" \ -d '{ "cluster_id": "<идентификатор_кластера>" }' \ mdb.api.cloud.yandex.net:443 \ yandex.cloud.mdb.redis.v1.ClusterService.ListBackupsИдентификатор кластера можно запросить со списком кластеров в каталоге.
-
Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.
-
-
Чтобы получить список резервных копий всех кластеров в каталоге:
-
Воспользуйтесь вызовом BackupService.List и выполните запрос, например, с помощью gRPCurl
:grpcurl \ -format json \ -import-path ~/cloudapi/ \ -import-path ~/cloudapi/third_party/googleapis/ \ -proto ~/cloudapi/yandex/cloud/mdb/redis/v1/backup_service.proto \ -rpc-header "Authorization: Bearer $IAM_TOKEN" \ -d '{ "folder_id": "<идентификатор_каталога>" }' \ mdb.api.cloud.yandex.net:443 \ yandex.cloud.mdb.redis.v1.BackupService.ListИдентификатор каталога можно запросить со списком каталогов в облаке.
-
Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.
-
Получить информацию о резервной копии
Чтобы получить информацию о резервной копии существующего кластера:
- В консоли управления
перейдите в каталог с кластером, информацию о копии которого нужно получить. - Перейдите в сервис Yandex Managed Service for Valkey™.
- Нажмите на имя нужного кластера и выберите вкладку Резервные копии.
Чтобы получить информацию о резервной копии удаленного ранее кластера:
- В консоли управления
перейдите в каталог, в котором располагался удаленный кластер. - Перейдите в сервис Yandex Managed Service for Valkey™.
- На панели слева выберите
Резервные копии.
Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.
По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id.
Чтобы получить данные о резервной копии кластера Valkey™, выполните команду:
yc managed-redis backup get <идентификатор_резервной_копии>
Идентификатор резервной копии можно получить со списком резервных копий.
-
Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:
export IAM_TOKEN="<IAM-токен>" -
Воспользуйтесь методом Backup.Get и выполните запрос, например, с помощью cURL
:curl \ --request GET \ --header "Authorization: Bearer $IAM_TOKEN" \ --url 'https://mdb.api.cloud.yandex.net/managed-redis/v1/backups/<идентификатор_резервной_копии>'Идентификатор резервной копии можно запросить со списком резервных копий.
-
Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.
-
Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:
export IAM_TOKEN="<IAM-токен>" -
Клонируйте репозиторий cloudapi
:cd ~/ && git clone --depth=1 https://github.com/yandex-cloud/cloudapiДалее предполагается, что содержимое репозитория находится в директории
~/cloudapi/. -
Воспользуйтесь вызовом BackupService.Get и выполните запрос, например, с помощью gRPCurl
:grpcurl \ -format json \ -import-path ~/cloudapi/ \ -import-path ~/cloudapi/third_party/googleapis/ \ -proto ~/cloudapi/yandex/cloud/mdb/redis/v1/backup_service.proto \ -rpc-header "Authorization: Bearer $IAM_TOKEN" \ -d '{ "backup_id": "<идентификатор_резервной_копии>" }' \ mdb.api.cloud.yandex.net:443 \ yandex.cloud.mdb.redis.v1.BackupService.GetИдентификатор резервной копии можно запросить со списком резервных копий.
-
Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.
Задать время начала резервного копирования
Время начала резервного копирования можно задать при создании или изменении кластера в блоке Дополнительные настройки.
Чтобы задать время начала резервного копирования, используйте параметр --backup-window-start. Время задается в формате ЧЧ:ММ:СС.
yc managed-redis cluster create \
--name <имя_кластера> \
--environment <окружение> \
--network-name <имя_сети> \
--host zone-id=<зона_доступности>,subnet-id=<идентификатор_подсети> \
--backup-window-start 10:25:00
Где --environment — окружение: prestable или production.
Изменить время начала резервного копирования в существующем кластере можно с помощью команды update:
yc managed-redis cluster update \
--name <имя_кластера> \
--backup-window-start 11:25:00
-
Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:
export IAM_TOKEN="<IAM-токен>" -
Воспользуйтесь методом Cluster.Update и выполните запрос, например, с помощью cURL
:Важно
Метод API переопределит все параметры изменяемого объекта, которые не были явно переданы в запросе, на значения по умолчанию. Чтобы избежать этого, перечислите настройки, которые вы хотите изменить, в параметре
updateMask(одной строкой через запятую).curl \ --request PATCH \ --header "Authorization: Bearer $IAM_TOKEN" \ --header "Content-Type: application/json" \ --url 'https://mdb.api.cloud.yandex.net/managed-redis/v1/clusters/<идентификатор_кластера>' \ --data '{ "updateMask": "configSpec.backupWindowStart", "configSpec": { "backupWindowStart": { "hours": "<часы>", "minutes": "<минуты>", "seconds": "<секунды>", "nanos": "<наносекунды>" } } }'Где:
-
updateMask— перечень изменяемых параметров в одну строку через запятую.В данном случае передается только один параметр.
-
configSpec.backupWindowStart— настройки окна резервного копирования.В параметре укажите время, когда начинать резервное копирование:
hours— от0до23часов;minutes— от0до59минут;seconds— от0до59секунд;nanos— от0до999999999наносекунд.
Идентификатор кластера можно запросить со списком кластеров в каталоге.
-
-
Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.
-
Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:
export IAM_TOKEN="<IAM-токен>" -
Клонируйте репозиторий cloudapi
:cd ~/ && git clone --depth=1 https://github.com/yandex-cloud/cloudapiДалее предполагается, что содержимое репозитория находится в директории
~/cloudapi/. -
Воспользуйтесь вызовом ClusterService.Update и выполните запрос, например, с помощью gRPCurl
:Важно
Метод API переопределит все параметры изменяемого объекта, которые не были явно переданы в запросе, на значения по умолчанию. Чтобы избежать этого, перечислите настройки, которые вы хотите изменить, в параметре
update_mask(в виде массива строкpaths[]).Формат перечисления настроек
"update_mask": { "paths": [ "<настройка_1>", "<настройка_2>", ... "<настройка_N>" ] }grpcurl \ -format json \ -import-path ~/cloudapi/ \ -import-path ~/cloudapi/third_party/googleapis/ \ -proto ~/cloudapi/yandex/cloud/mdb/redis/v1/cluster_service.proto \ -rpc-header "Authorization: Bearer $IAM_TOKEN" \ -d '{ "cluster_id": "<идентификатор_кластера>", "update_mask": { "paths": [ "config_spec.backup_window_start" ] }, "config_spec": { "backup_window_start": { "hours": "<часы>", "minutes": "<минуты>", "seconds": "<секунды>", "nanos": "<наносекунды>" } } }' \ mdb.api.cloud.yandex.net:443 \ yandex.cloud.mdb.redis.v1.ClusterService.UpdateГде:
-
update_mask— перечень изменяемых параметров в виде массива строкpaths[].В данном случае передается только один параметр.
-
config_spec.backup_window_start— настройки окна резервного копирования.В параметре укажите время, когда начинать резервное копирование:
hours— от0до23часов;minutes— от0до59минут;seconds— от0до59секунд;nanos— от0до999999999наносекунд.
Идентификатор кластера можно запросить со списком кластеров в каталоге.
-
-
Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.