Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

Резервное копирование / восстановление через интерфейс

AWS

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

1. Шаги, которые нужно выполнить в AWS

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

Создайте S3 бакет в AWS

Создайте в своей учетной записи AWS S3 бакет, в который вы хотите экспортировать резервные копии.

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

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

  • a. Получите ARN на странице настроек сервиса ClickHouse Cloud в разделе Network security information. Он выглядит примерно так:
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 ресурса на 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

На странице Settings нажмите Set up external backup:

Change external backup

Настройка ARN роли AWS IAM и параметров S3 бакета

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

Настройка ARN роли AWS IAM и параметров S3 бакета

Сохранение изменений

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

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

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

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

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

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

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

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

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

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

Добавьте ARN сервиса

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

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

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

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

Выполните команду восстановления

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

GCP

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

Чтобы создать резервные копии в GCP, выполните следующие действия:

Шаги в GCP

Создайте бакет хранилища в GCP

Создайте бакет хранилища в своей учетной записи GCP, чтобы экспортировать в него резервные копии.

Сгенерируйте ключ HMAC и Secret

Сгенерируйте ключ HMAC и Secret, которые требуются для аутентификации по паролю. Чтобы сгенерировать ключи, выполните следующие действия:

  • a. Создайте сервисный аккаунт

    • I. Перейдите в раздел IAM & Admin в Google Cloud Console и выберите Service Accounts.
    • II. Нажмите Create Service Account, укажите имя и ID, затем нажмите 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:

Change external backup

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

Change external backup

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

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

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

Save External Bucket

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

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

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

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

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

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

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

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

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

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

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

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

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

Выполните 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:

Change external backup

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

Change external backup

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

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

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

Save External Bucket

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Navigation