Резервное копирование и восстановление с помощью пользовательского интерфейса
AWS
Создание резервных копий в AWS
1. Действия в AWS
Эти действия аналогичны настройке безопасного доступа к S3, описанной в разделе «Безопасный доступ к данным S3», однако для разрешений роли требуются дополнительные действия
Выполните следующие действия в вашей учетной записи AWS:
Создайте корзину AWS S3
Создайте корзину AWS S3 в вашей учетной записи для экспорта резервных копий.
Создайте роль IAM
AWS использует аутентификацию на основе ролей, поэтому создайте роль IAM, которую сможет принять сервис ClickHouse Cloud для записи в эту корзину.
- a. Получите ARN на странице настроек сервиса ClickHouse Cloud в разделе информации о сетевой безопасности, который выглядит примерно так:

- b. Для этой роли создайте политику доверия следующим образом:
Обновите разрешения для роли
Вам также необходимо настроить разрешения для этой роли, чтобы сервис ClickHouse Cloud мог записывать данные в корзину S3. Для этого создайте политику разрешений для роли с JSON, аналогичным приведенному ниже, подставив ARN вашей корзины в качестве ресурса в обоих местах.
2. Действия в ClickHouse Cloud
Выполните следующие действия в консоли ClickHouse Cloud для настройки внешней корзины:
Настройте ARN роли AWS IAM и параметры корзины S3
На следующем экране укажите ARN роли AWS IAM, которую вы только что создали, и URL корзины S3 в следующем формате:

Сохраните изменения
Нажмите «Сохранить внешнюю корзину» для сохранения настроек
Изменение расписания резервного копирования
Внешние резервные копии теперь будут создаваться в вашей корзине по расписанию по умолчанию. Также вы можете настроить расписание резервного копирования на странице «Настройки». При использовании пользовательского расписания оно применяется для записи резервных копий в вашу корзину, а расписание по умолчанию (резервные копии каждые 24 часа) используется для резервных копий в корзине, принадлежащей ClickHouse Cloud.
Просмотр резервных копий, хранящихся в вашей корзине
На странице резервных копий эти резервные копии из вашей корзины будут отображаться в отдельной таблице, как показано ниже:

Восстановление резервных копий из AWS
Выполните следующие действия для восстановления резервных копий из AWS:
Создайте новый сервис для восстановления
Создайте новый сервис для восстановления резервной копии.
Добавление ARN сервиса
Добавьте ARN нового сервиса (со страницы настроек сервиса в консоли ClickHouse Cloud) в политику доверия для роли IAM. Это аналогично второму шагу в разделе шагов AWS выше. Это необходимо, чтобы новый сервис мог получить доступ к корзине S3.
Получение SQL-команды для восстановления резервной копии
Нажмите на ссылку «access or restore a backup» над списком резервных копий в интерфейсе, чтобы получить SQL-команду для восстановления резервной копии. Команда будет выглядеть следующим образом:

Если вы переместите резервные копии в другое расположение, необходимо будет изменить команду восстановления, указав новое расположение.
Для команды восстановления можно дополнительно добавить команду ASYNC в конце при больших объемах восстановления.
Это позволяет выполнять восстановление асинхронно, так что при потере соединения восстановление продолжит выполняться.
Важно отметить, что команда ASYNC немедленно возвращает статус успеха.
Это не означает, что восстановление было успешным.
Необходимо отслеживать таблицу system.backups, чтобы узнать, завершилось ли восстановление и было ли оно успешным или неудачным.
Выполнение команды восстановления
Выполните команду восстановления из SQL-консоли в новом сервисе для восстановления резервной копии.
GCP
Создание резервных копий в GCP
Выполните следующие шаги для создания резервных копий в GCP:
Шаги, которые необходимо выполнить в GCP
Создайте бакет хранилища GCP
Создайте бакет хранилища в вашей учетной записи GCP для экспорта резервных копий.
Сгенерируйте HMAC-ключ и секрет
Сгенерируйте HMAC-ключ и секрет, которые необходимы для аутентификации на основе пароля. Выполните следующие шаги для генерации ключей:
-
a. Создайте сервисную учетную запись
- I. Перейдите в раздел IAM & Admin в Google Cloud Console и выберите
Service Accounts. - II. Нажмите
Create Service Account, укажите имя и идентификатор. НажмитеCreate and Continue. - III. Назначьте роль Storage Object User этой сервисной учетной записи.
- IV. Нажмите
Doneдля завершения создания сервисной учетной записи.
- I. Перейдите в раздел IAM & Admin в Google Cloud Console и выберите
-
b. Сгенерируйте HMAC-ключ
- I. Перейдите в Cloud Storage в Google Cloud Console и выберите
Settings - II. Перейдите на вкладку Interoperability.
- III. В разделе
Service account HMACнажмитеCreate a key for a service account. - IV. Выберите сервисную учетную запись, созданную на предыдущем шаге, из выпадающего меню.
- V. Нажмите
Create key.
- I. Перейдите в Cloud Storage в Google Cloud Console и выберите
-
c. Безопасно сохраните учетные данные:
- I. Система отобразит Access ID (ваш HMAC-ключ) и Secret (ваш HMAC-секрет). Сохраните эти значения, так как секрет не будет отображаться повторно после закрытия этого окна.
Шаги, которые необходимо выполнить в ClickHouse Cloud
Выполните следующие шаги в консоли ClickHouse Cloud для настройки внешнего бакета:
Измените настройки внешнего резервного копирования
На странице Settings нажмите Change external backup

Настройте HMAC-ключ и секрет GCP
В диалоговом окне укажите путь к бакету GCP, HMAC-ключ и секрет, созданные в предыдущем разделе.

Сохраните внешний бакет
Нажмите Save External Bucket для сохранения настроек.
Изменение расписания резервного копирования
Внешние резервные копии теперь будут создаваться в вашем бакете по расписанию по умолчанию.
Также вы можете настроить расписание резервного копирования на странице Settings.
При использовании пользовательского расписания оно применяется для записи резервных копий в ваш
бакет, а расписание по умолчанию (резервные копии каждые 24 часа) используется для резервных копий в
бакете, принадлежащем ClickHouse Cloud.
Просмотр резервных копий, хранящихся в вашем бакете
Страница Backups должна отображать эти резервные копии из вашего бакета в отдельной таблице, как показано ниже:

Восстановление резервных копий из GCP
Выполните следующие шаги для восстановления резервных копий из GCP:
Создайте новый сервис для восстановления
Создайте новый сервис, в который будет восстановлена резервная копия.
Получите SQL-команду для восстановления резервной копии
Нажмите на ссылку access or restore a backup над списком резервных копий в
интерфейсе, чтобы получить SQL-команду для восстановления резервной копии. Команда должна выглядеть следующим образом,
и вы можете выбрать нужную резервную копию из выпадающего списка, чтобы получить команду восстановления
для конкретной резервной копии. Вам потребуется добавить ваш секретный ключ доступа
в команду:

Если вы переместите резервные копии в другое расположение, вам потребуется изменить команду восстановления, указав новое расположение.
Для команды Restore можно дополнительно добавить команду ASYNC в конце при восстановлении больших объемов данных.
Это позволяет выполнять восстановление асинхронно, благодаря чему при потере соединения процесс восстановления продолжит выполняться.
Важно отметить, что команда ASYNC немедленно возвращает статус успешного выполнения.
Это не означает, что само восстановление завершилось успешно.
Для проверки завершения восстановления и его результата необходимо отслеживать таблицу system.backups.
Выполните SQL-команду для восстановления резервной копии
Выполните команду восстановления из SQL-консоли в созданном сервисе для восстановления резервной копии.
Azure
Создание резервных копий в Azure
Выполните следующие шаги, чтобы создать резервные копии в Azure:
Шаги, которые нужно выполнить в Azure
Создайте учетную запись хранения
Создайте учетную запись хранения или выберите существующую учетную запись хранения в портале Azure, в которой вы хотите хранить резервные копии.
Получите строку подключения
- a. На обзорной странице учетной записи хранения найдите раздел
Security + networkingи нажмитеAccess keys. - b. Здесь вы увидите
key1иkey2. Под каждым ключом находится полеConnection string. - c. Нажмите
Show, чтобы отобразить строку подключения. Скопируйте строку подключения, которую вы будете использовать для настройки в ClickHouse Cloud.
Шаги, которые нужно выполнить в ClickHouse Cloud
Выполните следующие шаги в консоли ClickHouse Cloud, чтобы настроить внешний бакет:
Укажите строку подключения и имя контейнера для вашей учетной записи хранения Azure
На следующем экране укажите Connection String и Container Name для вашей учетной записи хранения Azure, созданной в предыдущем разделе:

Сохраните внешний бакет
Нажмите Save External Bucket, чтобы сохранить настройки.
Изменение расписания резервного копирования по умолчанию
Внешние резервные копии теперь будут создаваться в вашем бакете по расписанию по умолчанию. Также
вы можете настроить расписание резервного копирования на странице Settings. Если задано иное расписание,
то для записи резервных копий в ваш бакет используется пользовательское расписание, а расписание по умолчанию
(резервное копирование каждые 24 часа) используется для резервных копий во внутреннем бакете ClickHouse Cloud.
Просмотр резервных копий, сохраненных в вашем бакете
Страница Backups должна отображать эти резервные копии в вашем бакете в отдельной таблице,
как показано ниже:

Восстановление резервных копий из Azure
Чтобы восстановить резервные копии из Azure, выполните следующие шаги:
Создайте новый сервис для восстановления
Создайте новый сервис, в который будет восстановлена резервная копия. В настоящее время поддерживается только восстановление резервной копии в новый сервис.
Получите SQL-команду для восстановления резервной копии
Над списком резервных копий в UI нажмите ссылку access or restore a backup,
чтобы получить SQL-команду для восстановления резервной копии. Команда должна
выглядеть примерно так. Вы можете выбрать нужную резервную копию из выпадающего списка,
чтобы получить команду восстановления для этой конкретной резервной копии. Вам нужно будет добавить строку подключения
вашей учетной записи хранения Azure в эту команду.

Если вы перемещаете резервные копии в другое место, вам нужно изменить команду восстановления так, чтобы она ссылалась на новое расположение.
Для команды Restore вы также можете необязательно добавить в конец модификатор ASYNC для крупных восстановлений.
Это позволяет выполнять восстановление асинхронно, так что при обрыве соединения восстановление продолжит выполняться.
Важно отметить, что команда ASYNC немедленно возвращает статус успеха.
Это не означает, что восстановление прошло успешно.
Вам нужно отслеживать таблицу system.backups, чтобы увидеть, завершилось ли восстановление и прошло ли оно успешно или завершилось с ошибкой.
Выполните SQL-команду для восстановления резервной копии
Выполните команду восстановления из SQL-консоли в созданном сервисе, чтобы восстановить резервную копию.