Перейти к основному содержимому
Перейти к основному содержимому

Экспорт резервных копий в вашу облачную учётную запись

ClickHouse Cloud поддерживает создание резервных копий в вашу собственную учётную запись облачного провайдера (CSP) (AWS S3, Google Cloud Storage или Azure Blob Storage). Подробную информацию о том, как работают резервные копии ClickHouse Cloud, включая «полные» и «инкрементальные» резервные копии, см. в документации по резервному копированию.

В этом руководстве мы приведём примеры того, как создавать полные и инкрементальные резервные копии в объектное хранилище AWS, GCP и Azure, а также как восстанавливать данные из этих резервных копий.

Примечание

При любом сценарии, когда резервные копии экспортируются в другой регион того же облачного провайдера, будет взиматься плата за передачу данных. В настоящий момент мы не поддерживаем резервное копирование между разными облачными провайдерами.

Требования

Для экспорта и восстановления резервных копий в собственный бакет в хранилище CSP вам потребуются следующие параметры.

AWS

  1. Endpoint AWS S3 в формате:
  s3://<bucket_name>.s3.amazonaws.com/<directory>

Например:

  s3://testchbackups.s3.amazonaws.com/backups/

Где:

  • testchbackups — имя S3‑бакета, в который будут экспортироваться бэкапы.
    • backups — необязательный подкаталог.
  1. Ключ доступа AWS и секретный ключ. Также поддерживается аутентификация на основе роли AWS, которую можно использовать вместо ключа доступа и секретного ключа.
Примечание

Чтобы использовать аутентификацию на основе роли, следуйте инструкции по безопасной настройке S3 (setup). Кроме того, вам потребуется добавить разрешения s3:PutObject и s3:DeleteObject к IAM‑политике, описанной здесь.

Azure

  1. Строка подключения к хранилищу Azure.
  2. Имя контейнера Azure в учетной записи хранилища.
  3. Объект (blob) Azure внутри контейнера.

Google Cloud Storage (GCS)

  1. Endpoint GCS в формате:

    https://storage.googleapis.com/<bucket_name>/
    
  2. HMAC‑ключ и HMAC‑секрет для доступа.


Резервное копирование / Восстановление

Резервное копирование в бакет AWS S3 и восстановление из него

Создание резервной копии БД

Полная резервная копия

BACKUP DATABASE test_backups 
TO S3('https://testchbackups.s3.amazonaws.com/backups/<uuid>', '<key id>', '<key secret>')

Где uuid — уникальный идентификатор, используемый для различения набора бэкапов.

Примечание

Вам необходимо использовать отдельный UUID для каждого нового бэкапа в этом подкаталоге, иначе вы получите ошибку BACKUP_ALREADY_EXISTS. Например, если вы делаете ежедневные бэкапы, нужно использовать новый UUID каждый день.

Инкрементальный бэкап

BACKUP DATABASE test_backups 
TO S3('https://testchbackups.s3.amazonaws.com/backups/<uuid>', '<key id>', '<key secret>') 
SETTINGS base_backup = S3('https://testchbackups.s3.amazonaws.com/backups/<base-backup-uuid>', '<key id>', '<key secret>')

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

RESTORE DATABASE test_backups 
AS test_backups_restored 
FROM S3('https://testchbackups.s3.amazonaws.com/backups/<uuid>', '<key id>', '<key secret>')

См. раздел Настройка BACKUP/RESTORE для использования конечной точки S3 для получения дополнительной информации.

Резервное копирование и восстановление в Azure Blob Storage

Создание резервной копии базы данных

Полная резервная копия

BACKUP DATABASE test_backups 
TO AzureBlobStorage('<AzureBlobStorage endpoint connection string>', '<container>', '<blob>/<uuid>');

Где uuid — уникальный идентификатор, используемый для различения набора резервных копий.

Инкрементное резервное копирование

BACKUP DATABASE test_backups 
TO AzureBlobStorage('<AzureBlobStorage endpoint connection string>', '<container>', '<blob>/<uuid>/my_incremental') 
SETTINGS base_backup = AzureBlobStorage('<AzureBlobStorage endpoint connection string>', '<container>', '<blob>/<uuid>')

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

RESTORE DATABASE test_backups 
AS test_backups_restored_azure 
FROM AzureBlobStorage('<AzureBlobStorage endpoint connection string>', '<container>', '<blob>/<uuid>')

См. раздел Настройка BACKUP/RESTORE для использования конечной точки AzureBlobStorage для получения дополнительной информации.

Резервное копирование и восстановление в Google Cloud Storage (GCS)

Создание резервной копии базы данных

Полная резервная копия

BACKUP DATABASE test_backups 
TO S3('https://storage.googleapis.com/<bucket>/<uuid>', <hmac-key>', <hmac-secret>)

Где uuid — уникальный идентификатор, используемый для различения набора резервных копий.

Инкрементная резервная копия

BACKUP DATABASE test_backups 
TO S3('https://storage.googleapis.com/test_gcs_backups/<uuid>/my_incremental', 'key', 'secret')
SETTINGS base_backup = S3('https://storage.googleapis.com/test_gcs_backups/<uuid>', 'key', 'secret')

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

RESTORE DATABASE test_backups 
AS test_backups_restored_gcs 
FROM S3('https://storage.googleapis.com/test_gcs_backups/<uuid>', 'key', 'secret')