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

Резервное копирование и восстановление с помощью пользовательского интерфейса

AWS

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

1. Действия в AWS

Примечание

Эти действия аналогичны настройке безопасного доступа к S3, описанной в разделе «Безопасный доступ к данным S3», однако для разрешений роли требуются дополнительные действия

Выполните следующие действия в вашей учетной записи AWS:

Создайте корзину AWS S3

Создайте корзину AWS S3 в вашей учетной записи для экспорта резервных копий.

Создайте роль IAM

AWS использует аутентификацию на основе ролей, поэтому создайте роль IAM, которую сможет принять сервис ClickHouse Cloud для записи в эту корзину.

  • a. Получите ARN на странице настроек сервиса ClickHouse Cloud в разделе информации о сетевой безопасности, который выглядит примерно так:
AWS S3 ARN
  • b. Для этой роли создайте политику доверия следующим образом:
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "backup service",
      "Effect": "Allow",
      "Principal": {
        "AWS": "arn:aws:iam::463754717262:role/CH-S3-bordeaux-ar-90-ue2-29-Role"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}
Обновите разрешения для роли

Вам также необходимо настроить разрешения для этой роли, чтобы сервис ClickHouse Cloud мог записывать данные в корзину S3. Для этого создайте политику разрешений для роли с JSON, аналогичным приведенному ниже, подставив ARN вашей корзины в качестве ресурса в обоих местах.

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Action": ["s3:GetBucketLocation", "s3:ListBucket"],
      "Resource": ["arn:aws:s3:::byob-ui"],
      "Effect": "Allow"
    },
    {
      "Action": ["s3:Get*", "s3:List*", "s3:PutObject"],
      "Resource": ["arn:aws:s3:::byob-ui/*"],
      "Effect": "Allow"
    },
    {
      "Action": ["s3:DeleteObject"],
      "Resource": ["arn:aws:s3:::byob-ui/*/.lock"],
      "Effect": "Allow"
    }
  ]
}

2. Действия в ClickHouse Cloud

Выполните следующие действия в консоли ClickHouse Cloud для настройки внешней корзины:

Настройка внешней резервной копии

На странице настроек нажмите «Настроить внешнюю резервную копию»:

Change external backup
Настройте ARN роли AWS IAM и параметры корзины S3

На следующем экране укажите ARN роли AWS IAM, которую вы только что создали, и URL корзины S3 в следующем формате:

Configure AWS IAM Role ARN and S3 bucket details
Сохраните изменения

Нажмите «Сохранить внешнюю корзину» для сохранения настроек

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

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

Просмотр резервных копий, хранящихся в вашей корзине

На странице резервных копий эти резервные копии из вашей корзины будут отображаться в отдельной таблице, как показано ниже:

View backups stored in your bucket

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

Выполните следующие действия для восстановления резервных копий из AWS:

Создайте новый сервис для восстановления

Создайте новый сервис для восстановления резервной копии.

Добавление ARN сервиса

Добавьте ARN нового сервиса (со страницы настроек сервиса в консоли ClickHouse Cloud) в политику доверия для роли IAM. Это аналогично второму шагу в разделе шагов AWS выше. Это необходимо, чтобы новый сервис мог получить доступ к корзине S3.

Получение SQL-команды для восстановления резервной копии

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

Получение SQL-команды для восстановления резервной копии
Перемещение резервных копий в другое расположение

Если вы переместите резервные копии в другое расположение, необходимо будет изменить команду восстановления, указав новое расположение.

Команда ASYNC

Для команды восстановления можно дополнительно добавить команду 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 для завершения создания сервисной учетной записи.
  • 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.
  • c. Безопасно сохраните учетные данные:

    • I. Система отобразит Access ID (ваш HMAC-ключ) и Secret (ваш HMAC-секрет). Сохраните эти значения, так как секрет не будет отображаться повторно после закрытия этого окна.

Шаги, которые необходимо выполнить в ClickHouse Cloud

Выполните следующие шаги в консоли ClickHouse Cloud для настройки внешнего бакета:

Измените настройки внешнего резервного копирования

На странице Settings нажмите Change external backup

Change external backup
Настройте HMAC-ключ и секрет GCP

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

Configure GCP HMAC Key and Secret
Сохраните внешний бакет

Нажмите Save External Bucket для сохранения настроек.

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

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

Просмотр резервных копий, хранящихся в вашем бакете

Страница Backups должна отображать эти резервные копии из вашего бакета в отдельной таблице, как показано ниже:

View backups stored in your bucket

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

Выполните следующие шаги для восстановления резервных копий из GCP:

Создайте новый сервис для восстановления

Создайте новый сервис, в который будет восстановлена резервная копия.

Получите SQL-команду для восстановления резервной копии

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

Get SQL command used to restore backup
Перемещение резервных копий в другое расположение

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

Команда ASYNC

Для команды 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, чтобы настроить внешний бакет:

Измените внешний бэкап

На странице Settings нажмите Change external backup.

Change external backup
Укажите строку подключения и имя контейнера для вашей учетной записи хранения Azure

На следующем экране укажите Connection String и Container Name для вашей учетной записи хранения Azure, созданной в предыдущем разделе:

Provide connection string and container name for your Azure storage account
Сохраните внешний бакет

Нажмите Save External Bucket, чтобы сохранить настройки.

Изменение расписания резервного копирования по умолчанию

Внешние резервные копии теперь будут создаваться в вашем бакете по расписанию по умолчанию. Также вы можете настроить расписание резервного копирования на странице Settings. Если задано иное расписание, то для записи резервных копий в ваш бакет используется пользовательское расписание, а расписание по умолчанию (резервное копирование каждые 24 часа) используется для резервных копий во внутреннем бакете ClickHouse Cloud.

Просмотр резервных копий, сохраненных в вашем бакете

Страница Backups должна отображать эти резервные копии в вашем бакете в отдельной таблице, как показано ниже:

View backups stored in your bucket

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

Чтобы восстановить резервные копии из Azure, выполните следующие шаги:

Создайте новый сервис для восстановления

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

Получите SQL-команду для восстановления резервной копии

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

Restore backups in Azure
Перемещение резервных копий в другое место

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

Команда ASYNC

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

Выполните SQL-команду для восстановления резервной копии

Выполните команду восстановления из SQL-консоли в созданном сервисе, чтобы восстановить резервную копию.