Skip to main content
系统已配置为每 24 小时向您的外部存储桶执行一次“完整”自动备份,且该频率无法配置。

AWS

将备份存储到 AWS

1. 在 AWS 中执行的步骤

这些步骤与”安全访问 S3 数据”中介绍的安全 S3 配置类似,但在角色权限方面还需要执行一些额外操作。
请在你的 AWS 账户中按以下步骤操作:
1

创建 AWS S3 存储桶

在你的账户中创建一个 AWS S3 存储桶,用于导出备份。
2

创建 IAM 角色

AWS 使用基于角色的身份验证,因此请创建一个 IAM 角色,使 ClickHouse Cloud 服务能够 assume 该角色,以便写入此 S3 存储桶。
  • a. 在 ClickHouse Cloud 服务设置页面的 Network security 信息下获取 ARN,格式类似如下:
  • b. 为此角色按如下方式创建信任策略:
3

更新角色权限

你还需要为此角色设置权限,以便该 ClickHouse Cloud 服务能够写入 S3 存储桶。 具体做法是为该角色创建一条权限策略,JSON 可参考如下,并将其中两处 Resource 替换为你的存储桶 ARN。

2. 在 ClickHouse Cloud 中执行的步骤

按照以下步骤,在 ClickHouse Cloud 控制台中配置外部存储桶:
1

更改外部备份

在 “Settings” 页面上,点击 Set up external backup:
2

配置 AWS IAM Role ARN 和 S3 存储桶详细信息

在下一页中,填写你刚刚创建的 AWS IAM Role ARN,以及以下格式的 S3 存储桶 URL:
3

保存更改

点击“Save External Bucket”保存设置
4

更改默认备份计划

外部备份现在会按默认计划写入你的存储桶。 你也可以在 “Settings” 页面中配置备份计划。 如果配置了不同的计划,则会按自定义计划将备份写入你的 存储桶,而默认计划 (每 24 小时备份一次) 仍用于备份到 ClickHouse Cloud 拥有的存储桶。
5

查看存储在你的存储桶中的备份

Backups 页面会在单独的表中显示存储在你的存储桶中的这些备份, 如下所示:

从 AWS 恢复备份

按照以下步骤从 AWS 恢复备份:
1

创建用于恢复的新服务

创建一个新的服务,作为备份恢复的目标。
2

添加服务 ARN

将新创建服务的 ARN (来自 ClickHouse Cloud 控制台中服务设置页面) 添加到 IAM 角色的信任策略中。这与上文 AWS 步骤部分中的第二步相同。这样新服务才能访问 S3 存储桶。
3

获取用于恢复备份的 SQL 命令

点击 UI 中备份列表上方的“访问或恢复备份”链接,以获取用于恢复备份的 SQL 命令。该命令类似如下:
将备份移动到其他位置如果你将备份移动到其他位置,则需要自定义恢复命令,使其引用新位置。
ASYNC 命令对于 Restore 命令,你也可以选择在末尾添加 ASYNC 命令,以用于大型恢复。 这样恢复将以异步方式进行,因此即使连接丢失,恢复也会继续运行。 需要特别注意的是,ASYNC 命令会立即返回成功状态。 这并不意味着恢复已成功完成。 你需要监控 system.backups 表,以查看恢复是否已完成,以及是成功还是失败。
4

运行恢复命令

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

GCP

将备份保存到 GCP

按照以下步骤将备份保存到 GCP:

在 GCP 中执行以下步骤

1

创建 GCP 存储桶

在您的 GCP 账号中创建一个存储桶,用于导出备份。
2

生成 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 完成服务账号创建。
  • 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
  • c. 安全存储凭据:
    • I. 系统将显示 Access ID (您的 HMAC key) 和 Secret (您的 HMAC secret) 。请保存这些值,因为关闭此窗口后,secret 将不会再次显示。

在 ClickHouse Cloud 中执行以下步骤

按照以下步骤在 ClickHouse Cloud 控制台中配置外部存储桶:
1

更改外部备份

Settings 页面中,点击 Change external backup
2

配置 GCP HMAC Key 和 Secret

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

保存外部存储桶

点击 Save External Bucket 以保存设置。
4

将备份计划从默认计划改为自定义计划

现在,外部备份将按默认计划写入你的存储桶。 你也可以在 Settings 页面中配置备份计划。 如果配置了不同的计划,则会使用自定义计划将备份写入你的 存储桶,而默认计划 (每 24 小时备份一次) 仍将用于备份到 ClickHouse Cloud 拥有的存储桶中。
5

查看存储在你的存储桶中的备份

Backups 页面应会在单独的表中显示存储在你的存储桶中的这些备份,如下所示:

从 GCP 恢复备份

按照以下步骤从 GCP 恢复备份:
1

创建新的服务作为恢复目标

创建一个新的服务,用作备份恢复的目标。
2

获取用于恢复备份的 SQL 命令

在 UI 中,点击备份列表上方的 访问或恢复备份 链接,以获取用于恢复备份的 SQL 命令。该命令应类似如下, 你也可以从下拉列表中选择相应的备份,以获取该特定备份的恢复 命令。你需要将你的秘密访问密钥 添加到该命令中:
将备份移动到其他位置如果你将备份移动到其他位置,则需要修改恢复命令,使其引用新位置。
ASYNC 命令对于恢复命令,在大规模恢复时,你也可以选择在末尾添加 ASYNC 命令。 这样可以让恢复过程异步执行,因此即使连接丢失,恢复也会继续运行。 需要特别注意的是,ASYNC 命令会立即返回成功状态。 但这并不表示恢复已经成功。 你需要监控 system.backups 表,以查看恢复是否已完成,以及恢复是成功还是失败。
3

运行 SQL 命令以恢复备份

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

Azure

将备份存储到 Azure

按照以下步骤将备份存储到 Azure:

在 Azure 中执行以下步骤

1

创建存储账户

在 Azure 门户中创建一个存储账户,或选择一个现有的存储账户作为备份存储位置。
2

获取连接字符串

  • a. 在存储账户的概览页面中,找到名为 Security + networking 的部分,然后点击 Access keys
  • b. 在这里,您会看到 key1key2。在每个 key 下,您都可以找到 Connection string 字段。
  • c. 点击 Show 以显示连接字符串。复制该连接字符串,您将在 ClickHouse Cloud 中配置时使用它。

在 ClickHouse Cloud 中执行的步骤

按照以下步骤在 ClickHouse Cloud 控制台中配置外部存储桶:
1

更改外部备份

Settings 页面中,点击 Change external backup
2

提供 Azure 存储账户的连接字符串和容器名称

在下一页中,输入上一节创建的 Azure 存储账户的 Connection String 和 Container Name:
3

保存外部存储桶

点击 Save External Bucket 保存设置。
4

更改默认备份计划

此后,外部备份会按默认计划保存到你的存储桶中。你也可以在 Settings 页面配置备份计划。如果配置了不同的计划,则会按照自定义计划将备份写入你的存储桶,而默认计划 (每 24 小时备份一次) 则用于 ClickHouse Cloud 拥有的存储桶中的备份。
5

查看存储在你的存储桶中的备份

Backups 页面会在单独的表中显示存储在你的存储桶中的这些备份,如下所示:

从 Azure 恢复备份

要从 Azure 恢复备份,请按照以下步骤操作:
1

创建用于恢复的新服务

创建一个新的服务,作为备份的恢复目标。目前,我们仅支持将备份恢复到新服务中。
2

获取用于恢复备份的 SQL 命令

在 UI 中,点击备份列表上方的 访问或恢复备份 链接,获取用于恢复备份的 SQL 命令。该命令应类似于下面这样,你还可以从下拉列表中选择相应的备份,以获取该特定备份的恢复命令。你需要将 Azure 存储账户连接字符串添加到该命令中。
将备份移动到其他位置如果你将备份移动到其他位置,则需要自定义恢复命令,使其引用新位置。
ASYNC 命令对于 Restore 命令,在执行大型恢复时,你也可以选择在末尾添加 ASYNC 命令。 这样可使恢复操作异步进行,因此即使连接中断,恢复也会继续运行。 需要特别注意的是,ASYNC 命令会立即返回成功状态。 但这并不意味着恢复已经成功。 你需要监控 system.backups 表,以查看恢复是否已完成,以及最终是成功还是失败。
3

运行 SQL 命令以恢复备份

在新创建服务的 SQL 控制台中运行恢复命令,以恢复该备份。
最后修改于 2026年7月23日