Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

通过用户界面备份 / 恢复

AWS

将备份存储到 AWS

1. 在 AWS 中执行的步骤

请在你的 AWS 账户中按以下步骤操作:

创建 AWS S3 存储桶

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

创建 IAM 角色

AWS 使用基于角色的身份验证,因此请创建一个 IAM 角色,使 ClickHouse Cloud 服务能够 assume 该角色,以便写入此 S3 存储桶。

  • a. 在 ClickHouse Cloud 服务设置页面的 Network security 信息下获取 ARN,格式类似如下:
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 可参考如下,并将其中两处 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:

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

保存更改

点击“Save External Bucket”保存设置

更改默认备份计划

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

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

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

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

从 AWS 恢复备份

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

创建用于恢复的新服务

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

添加服务 ARN

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

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

点击 UI 中备份列表上方的“访问或恢复备份”链接,以获取用于恢复备份的 SQL 命令。该命令类似如下:

获取用于恢复备份的 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 完成服务账号创建。
  • 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 控制台中配置外部存储桶:

更改外部备份

Settings 页面中,点击 Change external backup

更改外部备份

配置 GCP HMAC Key 和 Secret

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

配置 GCP HMAC Key 和 Secret

保存外部存储桶

点击 Save External Bucket 以保存设置。

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

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

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

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

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

从 GCP 恢复备份

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

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

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

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

在 UI 中,点击备份列表上方的 访问或恢复备份 链接,以获取用于恢复备份的 SQL 命令。该命令应类似如下, 你也可以从下拉列表中选择相应的备份,以获取该特定备份的恢复 命令。你需要将你的秘密访问密钥 添加到该命令中:

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

运行 SQL 命令以恢复备份

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

Azure

将备份存储到 Azure

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

在 Azure 中执行以下步骤

创建存储账户

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

获取连接字符串

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

在 ClickHouse Cloud 中执行的步骤

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

更改外部备份

Settings 页面中,点击 Change external backup

更改外部备份

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

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

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

保存外部存储桶

点击 Save External Bucket 保存设置。

更改默认备份计划

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

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

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

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

从 Azure 恢复备份

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

创建用于恢复的新服务

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

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

在 UI 中,点击备份列表上方的 访问或恢复备份 链接,获取用于恢复备份的 SQL 命令。该命令应类似于下面这样,你还可以从下拉列表中选择相应的备份,以获取该特定备份的恢复命令。你需要将 Azure 存储账户连接字符串添加到该命令中。

在 Azure 中恢复备份

运行 SQL 命令以恢复备份

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

Navigation