AWS
将备份存储到 AWS
1. 在 AWS 中执行的步骤
请在你的 AWS 账户中按以下步骤操作:
创建 AWS S3 存储桶
在你的账户中创建一个 AWS S3 存储桶,用于导出备份。
创建 IAM 角色
AWS 使用基于角色的身份验证,因此请创建一个 IAM 角色,使 ClickHouse Cloud 服务能够 assume 该角色,以便写入此 S3 存储桶。
- a. 在 ClickHouse Cloud 服务设置页面的 Network security 信息下获取 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 可参考如下,并将其中两处 Resource 替换为你的存储桶 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 控制台中配置外部存储桶:
更改外部备份
在 “Settings” 页面上,点击 Set up external backup:

配置 AWS IAM Role ARN 和 S3 存储桶详细信息
在下一页中,填写你刚刚创建的 AWS IAM Role ARN,以及以下格式的 S3 存储桶 URL:

保存更改
点击“Save External Bucket”保存设置
更改默认备份计划
外部备份现在会按默认计划写入你的存储桶。 你也可以在 “Settings” 页面中配置备份计划。 如果配置了不同的计划,则会按自定义计划将备份写入你的 存储桶,而默认计划 (每 24 小时备份一次) 仍用于备份到 ClickHouse Cloud 拥有的存储桶。
查看存储在你的存储桶中的备份
Backups 页面会在单独的表中显示存储在你的存储桶中的这些备份, 如下所示:

从 AWS 恢复备份
按照以下步骤从 AWS 恢复备份:
创建用于恢复的新服务
创建一个新的服务,作为备份恢复的目标。
添加服务 ARN
将新创建服务的 ARN (来自 ClickHouse Cloud 控制台中服务设置页面) 添加到 IAM 角色的信任策略中。这与上文 AWS 步骤部分中的第二步相同。这样新服务才能访问 S3 存储桶。
获取用于恢复备份的 SQL 命令
点击 UI 中备份列表上方的“访问或恢复备份”链接,以获取用于恢复备份的 SQL 命令。该命令类似如下:

运行恢复命令
在新创建服务的 SQL 控制台中运行恢复命令,以恢复备份。
GCP
将备份保存到 GCP
按照以下步骤将备份保存到 GCP:
在 GCP 中执行以下步骤
创建 GCP 存储桶
在您的 GCP 账号中创建一个存储桶,用于导出备份。
生成 HMAC Key 和 Secret
生成 HMAC Key 和 Secret,这是基于密码的身份验证所必需的。请按照以下步骤生成密钥:
-
a. 创建服务账号
- I. 前往 Google Cloud Console 中的 IAM & Admin 部分,然后选择
Service Accounts。 - II. 点击
Create Service Account,填写名称和 ID,然后点击Create and Continue。 - III. 为该服务账号授予 Storage Object User 角色。
- IV. 点击
Done完成服务账号创建。
- I. 前往 Google Cloud Console 中的 IAM & Admin 部分,然后选择
-
b. 生成 HMAC key
- I. 前往 Google Cloud Console 中的 Cloud Storage,然后选择
Settings - II. 前往 Interoperability 选项卡。
- III. 在
Service account HMAC部分,点击Create a key for a service account。 - IV. 从下拉列表中选择您在上一步创建的服务账号。
- V. 点击
Create key。
- I. 前往 Google Cloud Console 中的 Cloud Storage,然后选择
-
c. 安全存储凭据:
- I. 系统将显示 Access ID (您的 HMAC key) 和 Secret (您的 HMAC secret) 。请保存这些值,因为关闭此窗口后,secret 将不会再次显示。
在 ClickHouse Cloud 中执行以下步骤
按照以下步骤在 ClickHouse Cloud 控制台中配置外部存储桶:
更改外部备份
在 Settings 页面中,点击 Change external backup

配置 GCP HMAC Key 和 Secret
在弹出的对话框中,填写上一节中创建的 GCP 存储桶路径、HMAC key 和 Secret。

保存外部存储桶
点击 Save External Bucket 以保存设置。
将备份计划从默认计划改为自定义计划
现在,外部备份将按默认计划写入你的存储桶。
你也可以在 Settings 页面中配置备份计划。
如果配置了不同的计划,则会使用自定义计划将备份写入你的
存储桶,而默认计划 (每 24 小时备份一次) 仍将用于备份到
ClickHouse Cloud 拥有的存储桶中。
查看存储在你的存储桶中的备份
Backups 页面应会在单独的表中显示存储在你的存储桶中的这些备份,如下所示:

从 GCP 恢复备份
按照以下步骤从 GCP 恢复备份:
创建新的服务作为恢复目标
创建一个新的服务,用作备份恢复的目标。
获取用于恢复备份的 SQL 命令
在 UI 中,点击备份列表上方的 访问或恢复备份 链接,以获取用于恢复备份的 SQL 命令。该命令应类似如下,
你也可以从下拉列表中选择相应的备份,以获取该特定备份的恢复
命令。你需要将你的秘密访问密钥
添加到该命令中:

运行 SQL 命令以恢复备份
在新创建服务的 SQL 控制台中运行恢复命令,以 恢复备份。
Azure
将备份存储到 Azure
按照以下步骤将备份存储到 Azure:
在 Azure 中执行以下步骤
创建存储账户
在 Azure 门户中创建一个存储账户,或选择一个现有的存储账户作为备份存储位置。
获取连接字符串
- a. 在存储账户的概览页面中,找到名为
Security + networking的部分,然后点击Access keys。 - b. 在这里,您会看到
key1和key2。在每个 key 下,您都可以找到Connection string字段。 - c. 点击
Show以显示连接字符串。复制该连接字符串,您将在 ClickHouse Cloud 中配置时使用它。
在 ClickHouse Cloud 中执行的步骤
按照以下步骤在 ClickHouse Cloud 控制台中配置外部存储桶:
更改外部备份
在 Settings 页面中,点击 Change external backup。

提供 Azure 存储账户的连接字符串和容器名称
在下一页中,输入上一节创建的 Azure 存储账户的 Connection String 和 Container Name:

保存外部存储桶
点击 Save External Bucket 保存设置。
更改默认备份计划
此后,外部备份会按默认计划保存到你的存储桶中。你也可以在 Settings 页面配置备份计划。如果配置了不同的计划,则会按照自定义计划将备份写入你的存储桶,而默认计划 (每 24 小时备份一次) 则用于 ClickHouse Cloud 拥有的存储桶中的备份。
查看存储在你的存储桶中的备份
Backups 页面会在单独的表中显示存储在你的存储桶中的这些备份,如下所示:

从 Azure 恢复备份
要从 Azure 恢复备份,请按照以下步骤操作:
创建用于恢复的新服务
创建一个新的服务,作为备份的恢复目标。目前,我们仅支持将备份恢复到新服务中。
获取用于恢复备份的 SQL 命令
在 UI 中,点击备份列表上方的 访问或恢复备份 链接,获取用于恢复备份的 SQL 命令。该命令应类似于下面这样,你还可以从下拉列表中选择相应的备份,以获取该特定备份的恢复命令。你需要将 Azure 存储账户连接字符串添加到该命令中。

运行 SQL 命令以恢复备份
在新创建服务的 SQL 控制台中运行恢复命令,以恢复该备份。