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

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

Enterprise plan feature

This feature is available in the Enterprise plan. To upgrade, visit the plans page in the cloud console.

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

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

Примечание

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

Требования

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

AWS

  1. Endpoint AWS S3 в формате:
s3://<имя_корзины>.s3.amazonaws.com/<каталог>

Например:

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 для использования конечной точки S3 для получения дополнительной информации.

Резервное копирование и восстановление в 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')