Управление резервными копиями в Yandex Managed Service for Sharded PostgreSQL
Примечание
Сервис находится на стадии Preview.
Вы можете создавать резервные копии и восстанавливать кластеры из существующих резервных копий.
Также Managed Service for Sharded PostgreSQL ежедневно создает автоматическую резервную копию. Вы можете задать время начала резервного копирования и установить срок хранения автоматических резервных копий.
Восстановить кластер из резервной копии
Важно
Для кластеров с неподдерживаемой версией СУБД восстановление из резервных копий недоступно.
Чтобы восстановить из резервной копии существующий кластер:
-
Перейдите на страницу каталога
и выберите сервис Yandex Managed Service for Sharded PostgreSQL. -
Нажмите на имя нужного кластера и выберите вкладку
Резервные копии. -
Нажмите на значок
в строке нужной резервной копии и выберите пункт Восстановить кластер. -
Задайте настройки нового кластера.
В поле Каталог можно выбрать каталог для нового кластера.
-
Нажмите кнопку Восстановить кластер.
Чтобы восстановить из резервной копии удаленный кластер:
-
Перейдите на страницу каталога
и выберите сервис Yandex Managed Service for Sharded PostgreSQL. -
На панели слева выберите
Резервные копии. -
Нажмите на значок
в строке нужной резервной копии и выберите пункт Восстановить кластер. -
Задайте настройки нового кластера.
В поле Каталог можно выбрать каталог для нового кластера.
-
Нажмите кнопку Восстановить кластер.
Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.
По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id.
Чтобы восстановить кластер из резервной копии:
-
Посмотрите описание команды CLI для восстановления кластера:
yc managed-sharded-postgresql cluster restore --help -
Создайте кластер из резервной копии (в примере приведены не все доступные флаги):
yc managed-sharded-postgresql cluster restore \ --backup-id <идентификатор_резервной_копии> \ --time <момент_времени_для_восстановления> \ --name <имя_кластера> \ --description <описание_кластера> \ --environment <окружение> \ --network-id <идентификатор_сети> \ --host zone-id=<зона_доступности>,` `subnet-id=<идентификатор_подсети>,` `assign-public-ip=<публичный_доступ_к_хосту>,` `type=<тип_хоста> \ --router-resource-preset <класс_хостов_роутера> \ --router-disk-size <размер_хранилища_ГБ> \ --router-disk-type <тип_диска> \ --coordinator-resource-preset <класс_хостов_координатора> \ --coordinator-disk-size <размер_хранилища_ГБ> \ --coordinator-disk-type <тип_диска> \ --infra-resource-preset <класс_хостов_INFRA> \ --infra-disk-size <размер_хранилища_ГБ> \ --infra-disk-type <тип_диска> \ --backup-window-start <время_начала_резервного_копирования> \ --backup-retain-period-days <срок_хранения_резервных_копий> \ --security-group-ids <идентификаторы_групп_безопасности> \ --deletion-protectionГде:
-
--backup-id— идентификатор резервной копии.Идентификатор резервной копии можно получить со списком резервных копий.
-
--time— момент времени, на который нужно восстановить состояние кластера, в форматеyyyy-mm-ddThh:mm:ssZ. -
--name— имя кластера. -
--description— описание кластера. -
--environment— окружение кластера:PRODUCTIONилиPRESTABLE. -
--network-id— идентификатор сети, в которой будет размещен кластер. -
--host— параметры хоста:-
zone-id— зона доступности. -
subnet-id— идентификатор подсети. -
assign-public-ip— разрешить подключение к хосту из интернета:trueилиfalse. -
type— тип хоста. Возможные значения:ROUTER— роутер в кластере с расширенным шардированием;COORDINATOR— координатор в кластере с расширенным шардированием;INFRA— хостINFRAв кластере со стандартным шардированием.
-
-
--router-resource-preset— класс хостов роутера. -
--router-disk-size— размер хранилища для хостов роутера в гигабайтах. -
--router-disk-type— тип диска для хостов роутера. -
--coordinator-resource-preset— класс хостов координатора. -
--coordinator-disk-size— размер хранилища для хостов координатора в гигабайтах. -
--coordinator-disk-type— тип диска для хостов координатора. -
--infra-resource-preset— класс хостовINFRA. -
--infra-disk-size— размер хранилищаINFRAв гигабайтах. -
--infra-disk-type— тип диска для хостовINFRA. -
--backup-window-start— время начала ежедневного резервного копирования по UTC в форматеHH:MM:SS. -
--backup-retain-period-days— срок хранения автоматических резервных копий кластера. Возможные значения: от7до60дней. По умолчанию —7. -
--security-group-ids— идентификаторы групп безопасности.Важно
Чтобы роутер мог подключаться к хостам шарда, кластер Managed Service for Sharded PostgreSQL и шарды должны находиться в одной группе безопасности, разрешающей входящие и исходящие TCP-подключения на порт
6432. -
--deletion-protection— включает защиту кластера от удаления.
-
-
Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:
export IAM_TOKEN="<IAM-токен>" -
Создайте файл
body.jsonи добавьте в него следующее содержимое:{ "backupId": "<идентификатор_резервной_копии>", "name": "<имя_кластера>", "description": "<описание_кластера>", "environment": "<окружение>", "configSpec": { "spqrSpec": { "router": { "resources": { "resourcePresetId": "<класс_хостов_роутера>", "diskSize": "<размер_хранилища_в_байтах>", "diskTypeId": "<тип_диска>" } }, "coordinator": { "resources": { "resourcePresetId": "<класс_хостов_координатора>", "diskSize": "<размер_хранилища_в_байтах>", "diskTypeId": "<тип_диска>" } }, "infra": { "resources": { "resourcePresetId": "<класс_хостов_INFRA>", "diskSize": "<размер_хранилища_в_байтах>", "diskTypeId": "<тип_диска>" } }, "consolePassword": "<пароль_консоли_Sharded_PostgreSQL>", "logLevel": "<уровень_логирования>" }, "backupWindowStart": { "hours": <часы>, "minutes": <минуты>, "seconds": <секунды>, "nanos": <наносекунды> }, "backupRetainPeriodDays": "<количество_дней>" }, "hostSpecs": [ { "zoneId": "<зона_доступности>", "subnetId": "<идентификатор_подсети>", "assignPublicIp": <разрешить_публичный_доступ_к_хосту>, "type": "<тип_хоста>", "shardName": "<имя_шарда>", "mdbPostgresql": { "clusterId": "<идентификатор_кластера_PostgreSQL>" } }, { <аналогичный_набор_настроек_для_хоста_2> }, { ... }, { <аналогичный_набор_настроек_для_хоста_N> } ], "networkId": "<идентификатор_сети>", "folderId": "<идентификатор_каталога>", "securityGroupIds": [ "<идентификатор_группы_безопасности_1>", "<идентификатор_группы_безопасности_2>", ... "<идентификатор_группы_безопасности_N>" ], "deletionProtection": <защитить_кластер_от_удаления>, "time": "<момент_времени_для_восстановления>", "timeInclusive": <восстановить_после_указанного_времени> }Где:
-
backupId— идентификатор резервной копии.Идентификатор резервной копии можно получить со списком резервных копий.
-
name— имя кластера. -
description— описание кластера. -
environment— окружение кластера:PRODUCTIONилиPRESTABLE. -
configSpec.spqrSpec.router.resources— параметры ресурсов хостов роутера:resourcePresetId— класс хостов;diskSize— размер диска в байтах;diskTypeId— тип диска.
-
configSpec.spqrSpec.coordinator.resources— параметры ресурсов хостов координатора:resourcePresetId— класс хостов;diskSize— размер диска в байтах;diskTypeId— тип диска.
-
configSpec.spqrSpec.infra.resources— параметры ресурсов хостовINFRA:resourcePresetId— класс хостов;diskSize— размер диска в байтах;diskTypeId— тип диска.
-
configSpec.spqrSpec.consolePassword— пароль консоли Sharded PostgreSQL. -
configSpec.spqrSpec.logLevel— уровень логирования запросов:DEBUG,INFO,WARNING,ERROR,FATAL. -
configSpec.backupWindowStart— настройки окна резервного копирования.В параметре укажите время, когда начинать резервное копирование. Возможные значения параметров:
hours— от0до23часов;minutes— от0до59минут;seconds— от0до59секунд;nanos— от0до999999999наносекунд.
-
configSpec.backupRetainPeriodDays— срок хранения автоматических резервных копий кластера. Возможные значения: от7до60дней. По умолчанию —7. -
hostSpecs— настройки хостов кластера в виде массива элементов. Каждый элемент соответствует отдельному хосту и имеет следующую структуру:-
zoneId— зона доступности; -
subnetId— идентификатор подсети; -
assignPublicIp— разрешить подключение к хосту из интернета:trueилиfalse; -
type— тип хоста. Возможные значения:ROUTER— роутер в кластере с расширенным шардированием;COORDINATOR— координатор в кластере с расширенным шардированием;INFRA— хостINFRAв кластере со стандартным шардированием.
-
shardName— имя шарда. -
mdbPostgresql.clusterId— идентификатор кластера Managed Service for PostgreSQL.Идентификатор кластера Managed Service for PostgreSQL можно получить со списком кластеров в каталоге.
-
-
networkId— идентификатор сети, в которой будет размещен кластер. -
folderId— идентификатор каталога.Идентификатор каталога можно получить со списком каталогов в облаке.
-
securityGroupIds— идентификаторы групп безопасности.Важно
Чтобы роутер мог подключаться к хостам шарда, кластер Managed Service for Sharded PostgreSQL и шарды должны находиться в одной группе безопасности, разрешающей входящие и исходящие TCP-подключения на порт
6432. -
deletionProtection— защита кластера от удаления:trueилиfalse. -
time— момент времени, на который нужно восстановить состояние кластера, в форматеyyyy-mm-ddThh:mm:ssZ. -
timeInclusive— восстановить кластер после указанного времени:trueилиfalse.
-
-
Воспользуйтесь методом Cluster.Restore и выполните запрос, например с помощью cURL
:curl \ --request POST \ --header "Authorization: Bearer $IAM_TOKEN" \ --header "Content-Type: application/json" \ --url 'https://mdb.api.cloud.yandex.net/managed-spqr/v1/clusters:restore' \ --data "@body.json" -
Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.
-
Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:
export IAM_TOKEN="<IAM-токен>" -
Клонируйте репозиторий cloudapi
:cd ~/ && git clone --depth=1 https://github.com/yandex-cloud/cloudapiДалее предполагается, что содержимое репозитория находится в директории
~/cloudapi/. -
Создайте файл
body.jsonи добавьте в него следующее содержимое:{ "backup_id": "<идентификатор_резервной_копии>", "name": "<имя_кластера>", "description": "<описание_кластера>", "environment": "<окружение>", "config_spec": { "spqr_spec": { "router": { "resources": { "resource_preset_id": "<класс_хостов_роутера>", "disk_size": <размер_хранилища_в_байтах>, "disk_type_id": "<тип_диска>" } }, "coordinator": { "resources": { "resource_preset_id": "<класс_хостов_координатора>", "disk_size": <размер_хранилища_в_байтах>, "disk_type_id": "<тип_диска>" } }, "infra": { "resources": { "resource_preset_id": "<класс_хостов_INFRA>", "disk_size": <размер_хранилища_в_байтах>, "disk_type_id": "<тип_диска>" } }, "console_password": "<пароль_консоли_Sharded_PostgreSQL>", "log_level": "<уровень_логирования>" }, "backup_window_start": { "hours": <часы>, "minutes": <минуты>, "seconds": <секунды>, "nanos": <наносекунды> }, "backup_retain_period_days": <количество_дней> }, "host_specs": [ { "zone_id": "<зона_доступности>", "subnet_id": "<идентификатор_подсети>", "assign_public_ip": <разрешить_публичный_доступ_к_хосту>, "type": "<тип_хоста>", "shard_name": "<имя_шарда>", "mdb_postgresql": { "cluster_id": "<идентификатор_кластера_PostgreSQL>" } }, { <аналогичный_набор_настроек_для_хоста_2> }, { ... }, { <аналогичный_набор_настроек_для_хоста_N> } ], "network_id": "<идентификатор_сети>", "folder_id": "<идентификатор_каталога>", "security_group_ids": [ "<идентификатор_группы_безопасности_1>", "<идентификатор_группы_безопасности_2>", ... "<идентификатор_группы_безопасности_N>" ], "deletion_protection": <защитить_кластер_от_удаления>, "time": "<момент_времени_для_восстановления>", "time_inclusive": <восстановить_после_указанного_времени> }Где:
-
backup_id— идентификатор резервной копии.Идентификатор резервной копии можно получить со списком резервных копий.
-
name— имя кластера. -
description— описание кластера. -
environment— окружение кластера:PRODUCTIONилиPRESTABLE. -
config_spec.spqr_spec.router.resources— параметры ресурсов хостов роутера:resource_preset_id— класс хостов;disk_size— размер диска в байтах;disk_type_id— тип диска.
-
config_spec.spqr_spec.coordinator.resources— параметры ресурсов хостов координатора:resource_preset_id— класс хостов;disk_size— размер диска в байтах;disk_type_id— тип диска.
-
config_spec.spqr_spec.infra.resources— параметры ресурсов хостовINFRA:resource_preset_id— класс хостов;disk_size— размер диска в байтах;disk_type_id— тип диска.
-
config_spec.spqr_spec.console_password— пароль консоли Sharded PostgreSQL. -
config_spec.spqr_spec.log_level— уровень логирования запросов:DEBUG,INFO,WARNING,ERROR,FATAL. -
config_spec.backup_window_start— настройки окна резервного копирования.В параметре укажите время, когда начинать резервное копирование. Возможные значения параметров:
hours— от0до23часов;minutes— от0до59минут;seconds— от0до59секунд;nanos— от0до999999999наносекунд.
-
config_spec.backup_retain_period_days— срок хранения автоматических резервных копий кластера. Возможные значения: от7до60дней. -
host_specs— настройки хостов кластера в виде массива элементов. Каждый элемент соответствует отдельному хосту и имеет следующую структуру:-
zone_id— зона доступности; -
subnet_id— идентификатор подсети; -
assign_public_ip— разрешить подключение к хосту из интернета:trueилиfalse; -
type— тип хоста. Возможные значения:ROUTER— роутер в кластере с расширенным шардированием;COORDINATOR— координатор в кластере с расширенным шардированием;INFRA— хостINFRAв кластере со стандартным шардированием.
-
shard_name— имя шарда. -
mdb_postgresql.cluster_id— идентификатор кластера Managed Service for PostgreSQL.Идентификатор кластера Managed Service for PostgreSQL можно получить со списком кластеров в каталоге.
-
-
network_id— идентификатор сети, в которой будет размещен кластер. -
folder_id— идентификатор каталога.Идентификатор каталога можно получить со списком каталогов в облаке.
-
security_group_ids— идентификаторы групп безопасности.Важно
Чтобы роутер мог подключаться к хостам шарда, кластер Managed Service for Sharded PostgreSQL и шарды должны находиться в одной группе безопасности, разрешающей входящие и исходящие TCP-подключения на порт
6432. -
deletion_protection— защита кластера от удаления:trueилиfalse. -
time— момент времени, на который нужно восстановить состояние кластера, в форматеyyyy-mm-ddThh:mm:ssZ. -
time_inclusive— восстановить кластер после указанного времени:trueилиfalse.
-
-
Воспользуйтесь вызовом ClusterService.Restore и выполните запрос, например с помощью gRPCurl
:grpcurl \ -format json \ -import-path ~/cloudapi/ \ -import-path ~/cloudapi/third_party/googleapis/ \ -proto ~/cloudapi/yandex/cloud/mdb/spqr/v1/cluster_service.proto \ -rpc-header "Authorization: Bearer $IAM_TOKEN" \ -d @ \ mdb.api.cloud.yandex.net:443 \ yandex.cloud.mdb.spqr.v1.ClusterService.Restore \ < body.json -
Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.
Создать резервную копию
- Перейдите на страницу каталога
и выберите сервис Yandex Managed Service for Sharded PostgreSQL. - Нажмите на имя нужного кластера и выберите вкладку
Резервные копии. - В правом верхнем углу страницы нажмите кнопку Создать резервную копию.
- Подтвердите создание резервной копии.
Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.
По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id.
Чтобы создать резервную копию кластера:
-
Посмотрите описание команды CLI для создания резервной копии кластера:
yc managed-sharded-postgresql cluster backup --help -
Создайте резервную копию кластера:
yc managed-sharded-postgresql cluster backup <имя_или_идентификатор_кластера>
-
Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:
export IAM_TOKEN="<IAM-токен>" -
Воспользуйтесь методом Cluster.Backup и выполните запрос, например с помощью cURL
:curl \ --request POST \ --header "Authorization: Bearer $IAM_TOKEN" \ --header "Content-Type: application/json" \ --url 'https://mdb.api.cloud.yandex.net/managed-spqr/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/spqr/v1/cluster_service.proto \ -rpc-header "Authorization: Bearer $IAM_TOKEN" \ -d '{ "cluster_id": "<идентификатор_кластера>" }' \ mdb.api.cloud.yandex.net:443 \ yandex.cloud.mdb.spqr.v1.ClusterService.Backup -
Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.
Получить список резервных копий
Чтобы получить список резервных копий конкретного кластера:
- Перейдите на страницу каталога
и выберите сервис Yandex Managed Service for Sharded PostgreSQL. - Нажмите на имя нужного кластера и выберите вкладку
Резервные копии.
Чтобы получить список резервных копий всех кластеров Managed Service for Sharded PostgreSQL в каталоге:
- Перейдите на страницу каталога
и выберите сервис Yandex Managed Service for Sharded PostgreSQL. - На панели слева выберите
Резервные копии.
Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.
По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id.
Чтобы получить список резервных копий конкретного кластера:
-
Посмотрите описание команды CLI для получения списка резервных копий кластера:
yc managed-sharded-postgresql cluster list-backups --help -
Получите список резервных копий кластера:
yc managed-sharded-postgresql cluster list-backups <имя_или_идентификатор_кластера>
Чтобы получить список резервных копий всех кластеров Managed Service for Sharded PostgreSQL в каталоге:
-
Посмотрите описание команды CLI для получения списка резервных копий:
yc managed-sharded-postgresql backup list --help -
Получите список резервных копий:
yc managed-sharded-postgresql backup list
-
Получите 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-spqr/v1/clusters/<идентификатор_кластера>/backups' -
Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.
-
-
Чтобы получить список резервных копий всех кластеров Managed Service for Sharded PostgreSQL в каталоге:
-
Воспользуйтесь методом Backup.List и выполните запрос, например с помощью cURL
:curl \ --request GET \ --header "Authorization: Bearer $IAM_TOKEN" \ --url 'https://mdb.api.cloud.yandex.net/managed-spqr/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/spqr/v1/cluster_service.proto \ -rpc-header "Authorization: Bearer $IAM_TOKEN" \ -d '{ "cluster_id": "<идентификатор_кластера>" }' \ mdb.api.cloud.yandex.net:443 \ yandex.cloud.mdb.spqr.v1.ClusterService.ListBackups -
Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.
-
-
Чтобы получить список резервных копий всех кластеров Managed Service for Sharded PostgreSQL в каталоге:
-
Воспользуйтесь вызовом BackupService.List и выполните запрос, например с помощью gRPCurl
:grpcurl \ -format json \ -import-path ~/cloudapi/ \ -import-path ~/cloudapi/third_party/googleapis/ \ -proto ~/cloudapi/yandex/cloud/mdb/spqr/v1/backup_service.proto \ -rpc-header "Authorization: Bearer $IAM_TOKEN" \ -d '{ "folder_id": "<идентификатор_каталога>" }' \ mdb.api.cloud.yandex.net:443 \ yandex.cloud.mdb.spqr.v1.BackupService.ListИдентификатор каталога можно получить со списком каталогов в облаке.
-
Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.
-
Получить информацию о резервной копии
Чтобы получить информацию о резервной копии существующего кластера:
- Перейдите на страницу каталога
и выберите сервис Yandex Managed Service for Sharded PostgreSQL. - Нажмите на имя нужного кластера и выберите вкладку
Резервные копии.
Чтобы получить информацию о резервной копии удаленного кластера:
- Перейдите на страницу каталога
и выберите сервис Yandex Managed Service for Sharded PostgreSQL. - На панели слева выберите
Резервные копии.
Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.
По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id.
Чтобы получить информацию о конкретной резервной копии:
-
Посмотрите описание команды CLI для получения информации о резервной копии:
yc managed-sharded-postgresql backup get --help -
Получите информацию о резервной копии:
yc managed-sharded-postgresql 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-spqr/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/spqr/v1/backup_service.proto \ -rpc-header "Authorization: Bearer $IAM_TOKEN" \ -d '{ "backup_id": "<идентификатор_резервной_копии>" }' \ mdb.api.cloud.yandex.net:443 \ yandex.cloud.mdb.spqr.v1.BackupService.GetИдентификатор резервной копии можно получить со списком резервных копий.
-
Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.
Задать время начала резервного копирования
В консоли управления задать время начала резервного копирования можно при создании или изменении кластера.
Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.
По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id.
Чтобы задать время начала резервного копирования:
-
Посмотрите описание команды CLI для изменения кластера:
yc managed-sharded-postgresql cluster update --help -
Задайте время начала резервного копирования:
yc managed-sharded-postgresql cluster update <имя_или_идентификатор_кластера> \ --backup-window-start <время_начала_резервного_копирования>Где
--backup-window-start— время начала ежедневного резервного копирования по UTC в форматеHH:MM:SS.
-
Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:
export IAM_TOKEN="<IAM-токен>" -
Создайте файл
body.jsonи добавьте в него следующее содержимое:{ "updateMask": "configSpec.backupWindowStart", "configSpec": { "backupWindowStart": { "hours": <часы>, "minutes": <минуты>, "seconds": <секунды>, "nanos": <наносекунды> } } }Где:
-
updateMask— перечень изменяемых параметров в строку через запятую.В этом примере передается только один параметр
configSpec.backupWindowStart.Важно
При изменении кластера все параметры изменяемого объекта, которые не были явно переданы в запросе, будут переопределены на значения по умолчанию. Чтобы избежать этого, перечислите настройки, которые вы хотите изменить, в параметре
updateMask. -
configSpec.backupWindowStart— настройки окна резервного копирования.В параметре укажите время, когда начинать резервное копирование. Возможные значения параметров:
hours— от0до23часов;minutes— от0до59минут;seconds— от0до59секунд;nanos— от0до999999999наносекунд.
-
-
Воспользуйтесь методом Cluster.Update и выполните запрос, например с помощью cURL
:curl \ --request PATCH \ --header "Authorization: Bearer $IAM_TOKEN" \ --header "Content-Type: application/json" \ --url 'https://mdb.api.cloud.yandex.net/managed-spqr/v1/clusters/<идентификатор_кластера>' \ --data "@body.json" -
Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.
-
Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:
export IAM_TOKEN="<IAM-токен>" -
Клонируйте репозиторий cloudapi
:cd ~/ && git clone --depth=1 https://github.com/yandex-cloud/cloudapiДалее предполагается, что содержимое репозитория находится в директории
~/cloudapi/. -
Создайте файл
body.jsonи добавьте в него следующее содержимое:{ "update_mask": { "paths": [ "config_spec.backup_window_start" ] }, "config_spec": { "backup_window_start": { "hours": <часы>, "minutes": <минуты>, "seconds": <секунды>, "nanos": <наносекунды> } } }Где:
-
update_mask— перечень изменяемых параметров в виде массива строкpaths[].Формат перечисления настроек
"update_mask": { "paths": [ "<настройка_1>", "<настройка_2>", ... "<настройка_N>" ] }В этом примере передается только один параметр
config_spec.backup_window_start.Важно
При изменении кластера все параметры изменяемого объекта, которые не были явно переданы в запросе, будут переопределены на значения по умолчанию. Чтобы избежать этого, перечислите настройки, которые вы хотите изменить, в параметре
update_mask. -
config_spec.backup_window_start— настройки окна резервного копирования.В параметре укажите время, когда начинать резервное копирование. Возможные значения параметров:
hours— от0до23часов;minutes— от0до59минут;seconds— от0до59секунд;nanos— от0до999999999наносекунд.
-
-
Воспользуйтесь вызовом ClusterService.Update и выполните запрос, например с помощью gRPCurl
:grpcurl \ -format json \ -import-path ~/cloudapi/ \ -import-path ~/cloudapi/third_party/googleapis/ \ -proto ~/cloudapi/yandex/cloud/mdb/spqr/v1/cluster_service.proto \ -rpc-header "Authorization: Bearer $IAM_TOKEN" \ -d @ \ mdb.api.cloud.yandex.net:443 \ yandex.cloud.mdb.spqr.v1.ClusterService.Update \ < body.json -
Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.
Задать срок хранения автоматических резервных копий
В консоли управления задать срок хранения автоматических резервных копий можно при создании или изменении кластера.
Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.
По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id.
Чтобы задать срок хранения автоматических резервных копий:
-
Посмотрите описание команды CLI для изменения кластера:
yc managed-sharded-postgresql cluster update --help -
Задайте срок хранения автоматических резервных копий:
yc managed-sharded-postgresql cluster update <имя_или_идентификатор_кластера> \ --backup-retain-period-days <количество_дней>Где
--backup-retain-period-days— срок хранения автоматических резервных копий кластера. Возможные значения: от7до60дней. По умолчанию —7.
-
Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:
export IAM_TOKEN="<IAM-токен>" -
Создайте файл
body.jsonи добавьте в него следующее содержимое:{ "updateMask": "configSpec.backupRetainPeriodDays", "configSpec": { "backupRetainPeriodDays": "<количество_дней>" } }Где:
-
updateMask— перечень изменяемых параметров в строку через запятую.В этом примере передается только один параметр
configSpec.backupRetainPeriodDays.Важно
При изменении кластера все параметры изменяемого объекта, которые не были явно переданы в запросе, будут переопределены на значения по умолчанию. Чтобы избежать этого, перечислите настройки, которые вы хотите изменить, в параметре
updateMask. -
backupRetainPeriodDays— срок хранения автоматических резервных копий кластера. Возможные значения: от7до60дней. По умолчанию —7.
-
-
Воспользуйтесь методом Cluster.Update и выполните запрос, например с помощью cURL
:curl \ --request PATCH \ --header "Authorization: Bearer $IAM_TOKEN" \ --header "Content-Type: application/json" \ --url 'https://mdb.api.cloud.yandex.net/managed-spqr/v1/clusters/<идентификатор_кластера>' \ --data "@body.json" -
Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.
-
Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:
export IAM_TOKEN="<IAM-токен>" -
Клонируйте репозиторий cloudapi
:cd ~/ && git clone --depth=1 https://github.com/yandex-cloud/cloudapiДалее предполагается, что содержимое репозитория находится в директории
~/cloudapi/. -
Создайте файл
body.jsonи добавьте в него следующее содержимое:{ "update_mask": { "paths": [ "config_spec.backup_retain_period_days" ] }, "config_spec": { "backup_retain_period_days": <количество_дней> } }Где:
-
update_mask— перечень изменяемых параметров в виде массива строкpaths[].Формат перечисления настроек
"update_mask": { "paths": [ "<настройка_1>", "<настройка_2>", ... "<настройка_N>" ] }В этом примере передается только один параметр
config_spec.backup_retain_period_days.Важно
При изменении кластера все параметры изменяемого объекта, которые не были явно переданы в запросе, будут переопределены на значения по умолчанию. Чтобы избежать этого, перечислите настройки, которые вы хотите изменить, в параметре
update_mask. -
config_spec.backup_retain_period_days— срок хранения автоматических резервных копий кластера. Возможные значения: от7до60дней. По умолчанию —7.
-
-
Воспользуйтесь вызовом ClusterService.Update и выполните запрос, например с помощью gRPCurl
:grpcurl \ -format json \ -import-path ~/cloudapi/ \ -import-path ~/cloudapi/third_party/googleapis/ \ -proto ~/cloudapi/yandex/cloud/mdb/spqr/v1/cluster_service.proto \ -rpc-header "Authorization: Bearer $IAM_TOKEN" \ -d @ \ mdb.api.cloud.yandex.net:443 \ yandex.cloud.mdb.spqr.v1.ClusterService.Update \ < body.json -
Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.
Удалить резервную копию
Удалить можно только резервные копии, созданные вручную.
- Перейдите на страницу каталога
и выберите сервис Yandex Managed Service for Sharded PostgreSQL. - Нажмите на имя нужного кластера и выберите вкладку
Резервные копии. - В строке резервной копии, которую вы хотите удалить, нажмите на значок
и выберите пункт Удалить резервную копию. - Подтвердите удаление резервной копии.
Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.
По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id.
Чтобы удалить резервную копию:
-
Посмотрите описание команды CLI для удаления резервной копии:
yc managed-sharded-postgresql backup delete --help -
Удалите резервную копию:
yc managed-sharded-postgresql backup delete <идентификатор_резервной_копии>Идентификатор резервной копии можно получить со списком резервных копий.
-
Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:
export IAM_TOKEN="<IAM-токен>" -
Воспользуйтесь методом Backup.Delete и выполните запрос, например с помощью cURL
:curl \ --request DELETE \ --header "Authorization: Bearer $IAM_TOKEN" \ --header "Content-Type: application/json" \ --url 'https://mdb.api.cloud.yandex.net/managed-spqr/v1/backups/<идентификатор_резервной_копии>'Идентификатор резервной копии можно получить со списком резервных копий.
-
Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.
-
Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:
export IAM_TOKEN="<IAM-токен>" -
Клонируйте репозиторий cloudapi
:cd ~/ && git clone --depth=1 https://github.com/yandex-cloud/cloudapiДалее предполагается, что содержимое репозитория находится в директории
~/cloudapi/. -
Воспользуйтесь вызовом BackupService.Delete и выполните запрос, например с помощью gRPCurl
:grpcurl \ -format json \ -import-path ~/cloudapi/ \ -import-path ~/cloudapi/third_party/googleapis/ \ -proto ~/cloudapi/yandex/cloud/mdb/spqr/v1/backup_service.proto \ -rpc-header "Authorization: Bearer $IAM_TOKEN" \ -d '{ "backup_id": "<идентификатор_резервной_копии>" }' \ mdb.api.cloud.yandex.net:443 \ yandex.cloud.mdb.spqr.v1.BackupService.DeleteИдентификатор резервной копии можно получить со списком резервных копий.
-
Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.