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

- 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:

Настройка ARN роли AWS IAM и параметров S3 бакета
На следующем экране укажите ARN только что созданной роли AWS IAM и URL 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-консоли вновь созданного сервиса, чтобы восстановить резервную копию.
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, чтобы завершить создание сервисного аккаунта.
- 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:
Change external backup
На странице Settings нажмите Change external backup

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

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

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

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

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

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

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