创建 Bigtable 实例

Cloud Bigtable 实例是用来存放集群的容器,最多可容纳 4 个 Bigtable 集群。使用复制功能的实例具有两个或两个以上集群,而不使用复制功能的实例只有一个集群。

本页面介绍了如何创建使用或不使用复制功能的实例。 在阅读本页内容之前,您应先熟悉 Bigtable 概览。还应阅读实例、集群和节点概览

准备工作

开始之前,您需要准备好您的环境并进行一些初步规划:

  1. 选择或创建 GCP 项目。

    转到项目选择器页面

  2. 确保您的 Google Cloud 项目已启用结算功能。了解如何确认您的项目是否已启用结算功能

  3. 启用 Bigtable API 和 Bigtable Admin API。

    启用 API

  4. 点击转到凭据

  5. 凭据页面上,您需要回答以下问题:

    1. 在回答“您使用的是哪个 API?”这个问题时,请选择 Cloud Bigtable API
    2. 在回答“您要访问哪些数据?”这个问题时,请选择应用数据
    3. 回答与 App Engine 或 Compute Engine 有关的问题。在本快速入门中,您并不会用到这些产品。
    4. 点击我需要哪些凭据?
    5. 如果系统提示您创建服务帐号,请提供以下信息:
      1. 为您的服务帐号选择一个名称。
      2. 角色部分,选择 Cloud Bigtable > Bigtable Administrator
      3. 点击完成以完成服务帐号的创建过程。
      4. 点击您创建的服务帐号的电子邮件地址。
      5. 点击密钥
      6. 依次点击添加密钥创建新密钥
      7. 密钥类型部分,选择 JSON
      8. 点击创建
      9. 点击关闭
      10. 将新创建的服务帐号 JSON 文件保存到您的本地 HOME 目录或您偏好的位置。
    6. 如果系统未提示您创建新的服务帐号,请点击完成
  6. 如果您想要针对 Bigtable 使用命令行工具,请安装 Cloud SDKcbt 命令行工具(如果还没有安装)。

  7. 如果您打算启用复制功能,请执行以下操作:

  8. 如果您想使用客户管理的加密密钥 (CMEK),而不是默认的 Google 管理的加密,请完成创建启用 CMEK 的实例中的任务,并在创建新实例之前准备好 CMEK 密钥 ID。创建实例后,您无法向实例添加 CMEK 保护,也无法修改或替换 CMEK 密钥。

创建实例

要创建 Bigtable 实例,请执行以下操作:

控制台

  1. 在 Cloud Console 中打开“创建实例”页面。

    打开“创建实例”页面

  2. 输入实例的名称。

    Cloud Console 会显示此名称来标识您的实例。

  3. 输入实例 ID。

    此实例 ID 是实例的永久性标识符。

  4. 点击继续

  5. 选择是使用 SSD 还是 HDD 磁盘来存储您的集群。在大多数情况下,最好选择 SSD。一旦选择便无法更改。了解详情

  6. 点击继续

  7. 输入第一个集群的集群 ID。

    此集群 ID 是集群的永久性标识符。

  8. 选择将运行第一个集群的区域和地区

    如果您打算在单个区域内使用复制功能,请确保该区域至少还有一个其他可用区提供 Bigtable。查看地区列表

  9. 为第一个集群选择 Bigtable 节点数。如果您不确定需要多少个节点,请使用默认值。您可以稍后添加更多节点。了解详情

  10. 如果要使用 CMEK 而非默认的 Google 管理的加密来保护您的实例,请完成以下操作:

    1. 点击显示加密选项
    2. 选中使用客户管理的加密密钥 (CMEK) 旁边的复选框。
    3. 选择或输入要用于实例的 CMEK 密钥的资源 ID。您无法在之后添加。
    4. 如果系统提示您向 CMEK 密钥的服务帐号授予权限,请点击授予。您的用户帐号必须获得 Cloud KMS Admin 角色才能完成此任务。
    5. 点击保存
  11. 如需立即启用复制功能,请点击添加集群,输入第二个集群的设置,然后点击添加。重复此步骤,直至在实例中创建 4 个集群。也可以稍后通过添加集群来启用复制功能。

    一个实例的各个集群必须位于不同地区中。您可以在提供 Bigtable 的任何可用区中创建其他集群。如果添加集群按钮不可用,请更改第一个集群所在的地区。

  12. 点击创建以创建实例。

  13. 接下来,查看默认应用配置文件中的复制功能设置,确认这些设置是否适用于您的复制功能使用场景。您可能需要更新默认应用配置文件创建自定义应用配置文件

gcloud

  1. 首先创建一个单集群实例。使用 bigtable instances create 命令创建一个实例:

    gcloud bigtable instances create INSTANCE_ID \
        --display-name=DISPLAY_NAME \
        [--cluster-config=id=CLUSTER_ID,zone=CLUSTER_ZONE,[nodes=CLUSTER_NUM_NODES,kms-key=KMS_KEY]] \
        [--cluster-storage-type=CLUSTER_STORAGE_TYPE] \
    

    提供以下信息:

    • INSTANCE_ID:实例的永久性标识符。
    • DISPLAY_NAME:在 Cloud Console 中用于识别实例的简单易懂的名称。
    • CLUSTER_ID:集群的永久性标识符。
    • CLUSTER_ZONE:运行集群的地区

      如果您打算在单个区域内使用复制功能,请确保该区域至少还有一个其他可用区提供 Bigtable。查看地区列表

    此命令接受以下可选标志:

    • --cluster-config=nodes=CLUSTER_NUM_NODES:集群中的节点数。实例中的每个集群都必须有 1 个或多个节点。默认值为 1。 如果您不确定需要多少个节点,请使用默认值。您可以稍后添加更多节点。了解详情
    • --cluster-config=kms-key=KMS_KEY:CMEK 密钥 ID。如果您要使用 CMEK 保护实例,请使用此标志。您无法在之后添加。了解详情

    • --cluster-storage-type=CLUSTER_STORAGE_TYPE:要供集群使用的存储空间类型。实例中的每个集群都必须使用相同类型的存储设备。接受的值为 SSDHDD。 默认值为 SSD

      在大多数情况下,最好使用默认值。一旦选择便无法更改。了解详情

  2. 如需为生产实例启用复制功能,请使用 bigtable clusters create 命令添加集群:

    gcloud bigtable clusters create CLUSTER_ID \
        --instance=INSTANCE_ID \
        --zone=ZONE \
        [--num-nodes=NUM_NODES] \
        [--kms-key=KMS_KEY] \
        [--project=PROJECT]
    

    提供以下信息:

    • CLUSTER_ID:集群的永久性标识符。
    • INSTANCE_ID:您刚刚创建的实例的永久性标识符。
    • ZONE:运行集群的地区

      一个实例的各个集群必须位于不同地区中。您可以在提供 Bigtable 的任何可用区中创建其他集群。例如,如果第一个集群位于 us-east1-b,则您可以选择同一区域中的其他地区(例如 us-east1-c),或其他区域中的一个地区(例如 europe-west2-a)。

      例外:如果实例受 CMEK 保护,则可用区必须与 CMEK 密钥位于同一区域。了解详情

    此命令接受以下可选标志:

    • --num-nodes=NUM_NODES:集群中的节点数。实例中的每个集群都必须有 1 个或多个节点。

      在许多情况下,实例中每个集群的节点数量应当相同,但也存在例外情况。了解节点和复制功能

    • --kms-key=KMS_KEY:实例正在使用的 CMEK 密钥。您只能将 CMEK 集群添加到受 CMEK 保护的实例。

    • --project=PROJECT:要在其中创建集群的项目(如果与当前项目不同)。

  3. 重复执行上一步,直至在实例中创建 4 个集群。

  4. 接下来,查看默认应用配置文件中的复制功能设置,确认这些设置是否适用于您的复制功能使用场景。您可能需要更新默认应用配置文件创建自定义应用配置文件

cbt

  1. 首先创建一个单集群实例。使用 createinstance 命令创建一个实例:

    cbt createinstance INSTANCE_ID DISPLAY_NAME CLUSTER_ID CLUSTER_ZONE \
        CLUSTER_NUM_NODES CLUSTER_STORAGE_TYPE
    

    提供以下信息:

    • INSTANCE_ID:实例的永久性标识符。
    • DISPLAY_NAME:在 Cloud Console 中用于识别实例的简单易懂的名称。
    • CLUSTER_ID:集群的永久性标识符。
    • CLUSTER_ZONE:运行集群的地区

      如果您打算在单个区域内使用复制功能,请确保该区域至少还有一个其他可用区提供 Bigtable。查看地区列表

    • CLUSTER_NUM_NODES:集群中的节点数。实例中的每个集群都必须有 1 个或多个节点。如果您不确定需要多少个节点,请使用默认值。您可以稍后添加更多节点。了解详情

    • CLUSTER_STORAGE_TYPE:供集群使用的存储设备类型。实例中的每个集群都必须使用相同类型的存储设备。接受的值为 SSDHDD。 在大多数情况下,最好选择 SSD。一旦选择便无法更改。了解详情

  2. 如需启用复制功能,请使用 createcluster 命令添加集群:

    
    cbt -instance=INSTANCE_ID createcluster CLUSTER_ID ZONE NUM_NODES STORAGE_TYPE
    
    

    提供以下信息:

    • INSTANCE_ID:您刚刚创建的实例的永久性标识符。
    • CLUSTER_ID:集群的永久性标识符。
    • ZONE:运行集群的地区

      一个实例的各个集群必须位于不同地区中。您可以在提供 Bigtable 的任何可用区中创建其他集群。例如,如果第一个集群位于 us-east1-b,则您可以选择同一区域中的其他地区(例如 us-east1-c),或其他区域中的一个地区(例如 europe-west2-a)。

    • NUM_NODES:集群中的节点数。实例中的每个集群都必须有 1 个或多个节点。

      在许多情况下,实例中每个集群的节点数量应当相同,但也存在例外情况。了解节点和复制功能

    • STORAGE_TYPE:要供集群使用的存储空间类型。实例中的每个集群都必须使用相同类型的存储设备。接受的值为 SSDHDD

  3. 接下来,查看默认应用配置文件中的复制功能设置,确认这些设置是否适用于您的复制功能使用场景。您可能需要更新默认应用配置文件创建自定义应用配置文件

后续步骤