PostgreSQL
September 8, 2022

Создать вручную бекап кластера и восстановить новый кластер из этого бекапа

Незаменимая часть любой отказоустойчивой системы - бекапы. Бекапы в Managed решении создаются автоматически. Но можно создать и вручную.

Поехали!

export POSTGRES=$(yc postgresql cluster get cam-postgres --format=json | jq -r ".id")
yc postgresql cluster backup $POSTGRES \
  --async

Посмотрим список имеющихся бекапов:

yc postgresql backup list

Восстановить кластер из резервной копии:

export POSTGRES=$(yc postgresql cluster get cam-postgres --format=json | jq -r ".id")
export ZONE=ru-central1-a
export SG=$(yc vpc sg get cam-db --format json | jq -r '.id')
export NETWORK_ID=$(yc vpc network get cameda-test --format json | jq -r '.id')
export SUBNET_ID=$(yc vpc subnet get subnet-a --format json | jq -r '.id')
yc postgresql cluster restore \
  --backup-id $POSTGRES:c9ql0na4r0qkjbkfgpgv \
  --time '2022-09-08T18:15:05Z' \
  --name cam-postgres2 \
  --description 'PostgreSQL restore' \
  --postgresql-version 14 \
  --environment production \
  --labels prod=postgres \
  --network-name cameda-test \
  --resource-preset s2.small \
  --host zone-id=$ZONE,subnet-id=$SUBNET_ID,assign-public-ip \
  --disk-type network-ssd \
  --disk-size 60 \
  --security-group-ids $SG \
  --backup-window-start 01:00:00 \
  --backup-retain-period-days 7 \
  --websql-access \
  --serverless-access \
  --datalens-access \
  --datatransfer-access=false \
  --deletion-protection=false \
  --async

Тут важно понять, что из бекапа создаётся совсем новый кластер. С другим именем, пресетом, размером диска.

Полезные ссылки.

Создаём сеть тут: https://teletype.in/@cameda/ZbTkF70KWK9
Про зоны доступности говорим здесь: https://teletype.in/@cameda/S34zdiTcbUM
Классы хостов PostgreSQL:
https://cloud.yandex.ru/docs/managed-postgresql/concepts/instance-types
Про создание кластера описано хорошо тут:
https://cloud.yandex.ru/docs/managed-postgresql/operations/cluster-create
Про квоты пишу здесь: https://teletype.in/@cameda/yTu0k42dbw0
SG для БД создаём тут: https://teletype.in/@cameda/RKN8F91c6Q7
Кластер создаю тут: https://teletype.in/@cameda/Lheee0sIIqV