修改執行個體

建立 Bigtable 執行個體後,您不需停機,即可更新下列設定:

  • 自動調度資源

    您可以為執行個體的叢集啟用或停用自動調度資源功能,也可以為已啟用自動調度資源功能的叢集設定相關設定。

  • 手動調度叢集中的節點數量

    新增或移除節點後,Bigtable 通常需要幾分鐘的時間,才能在負載下最佳化叢集效能。

  • 執行個體的叢集

    新增叢集後,Bigtable 需要一段時間將您的資料複製到新叢集。系統會從執行個體中地理位置最近的叢集複製新叢集。一般來說,距離越遠,複製處理時間就越長。

  • 執行個體的應用程式設定檔,其中包含複製功能設定

  • 資料所在位置

  • 執行個體的標籤,其中提供有關執行個體的中繼資料

  • 執行個體的顯示名稱

如要變更叢集 ID,只能刪除並重新建立叢集。

如要變更下列任何設定,請使用偏好的設定建立新的執行個體,接著從舊的執行個體匯出資料,並匯入資料到新的執行個體,最後刪除舊的執行個體

  • 執行個體 ID

  • 儲存空間類型 (SSD 或 HDD)

  • 設定客戶自行管理的加密金鑰 (CMEK)

事前準備

如要使用 Bigtable 的指令列介面,請安裝 Google Cloud CLI cbt CLI (如果尚未安裝)。

設定自動調度資源功能

您可以為任何現有叢集啟用或停用自動調度資源功能。您也可以變更叢集的 CPU 使用率目標、節點數量下限和節點數量上限。如需如何選擇自動調度資源設定的指引,請參閱自動調度資源。您無法使用 cbt CLI 設定自動調度資源。

啟用自動調度資源

主控台

  1. 在 Google Cloud 控制台中開啟 Bigtable 執行個體清單。

    開啟執行個體清單

  2. 按一下要變更的執行個體,然後點選「編輯執行個體」

  3. 在「Configure clusters」(設定叢集) 下方,按一下要更新叢集的「Edit」(編輯)

  4. 選取「Autoscaling」(自動調度資源)

  5. 輸入下列值:

    • 節點數量下限
    • 節點數量上限
    • CPU 使用率目標
    • 儲存空間使用率目標
  6. 按一下 [儲存]

gcloud

  1. 如果您不知道執行個體 ID,請使用 bigtable instances list 指令查看專案的執行個體清單:

    gcloud bigtable instances list
    
  2. 如果您不知道執行個體的叢集 ID,請使用 bigtable clusters list 指令查看執行個體的叢集清單:

    gcloud bigtable clusters list --instances=INSTANCE_ID
    

    INSTANCE_ID 替換為執行個體的永久 ID。

  3. 使用 bigtable clusters update 指令啟用自動調度資源功能:

    gcloud bigtable clusters update CLUSTER_ID \
        --instance=INSTANCE_ID \
        --autoscaling-max-nodes=AUTOSCALING_MAX_NODES \
        --autoscaling-min-nodes=AUTOSCALING_MIN_NODES \
        --autoscaling-cpu-target=AUTOSCALING_CPU_TARGET \
        --autoscaling-storage-target=AUTOSCALING_STORAGE_TARGET
    

    請提供下列資訊:

    • CLUSTER_ID: 叢集的永久 ID。
    • INSTANCE_ID: 執行個體的永久 ID。
    • AUTOSCALING_MAX_NODES:節點數量下限
    • AUTOSCALING_MIN_NODES:節點數量上限
    • AUTOSCALING_CPU_TARGET:Bigtable 透過新增或移除節點,維持的 CPU 使用率目標百分比。這個值必須介於 10 到 80 之間。
    • AUTOSCALING_STORAGE_TARGET:Bigtable 透過新增或移除節點,維持每個節點的儲存空間使用率目標 (以 GiB 為單位)

      在許多情況下,執行個體中的每個叢集應有相同數量的節點,但也有例外情形。瞭解節點及複製功能

停用自動調度資源功能

主控台

  1. 在 Google Cloud 控制台中開啟 Bigtable 執行個體清單。

    開啟執行個體清單

  2. 按一下要變更的執行個體,然後點選「編輯執行個體」

  3. 在「設定叢集」下方,按一下要更新的叢集

  4. 選取「手動分配節點」

  5. 在「數量」欄位中,輸入叢集的節點數量。

    在許多情況下,執行個體中的每個叢集應有相同數量的節點,但也有例外情形。瞭解節點及複製功能

  6. 按一下 [儲存]

gcloud

  1. 如果您不知道執行個體 ID,請使用 bigtable instances list 指令查看專案的執行個體清單:

    gcloud bigtable instances list
    
  2. 如果您不知道執行個體的叢集 ID,請使用 bigtable clusters list 指令查看執行個體的叢集清單:

    gcloud bigtable clusters list --instances=INSTANCE_ID
    

    INSTANCE_ID 替換為執行個體的永久 ID。

  3. 使用 bigtable clusters update 指令停用自動調整功能,並設定固定數量的節點:

    gcloud bigtable clusters update CLUSTER_ID \
        --instance=INSTANCE_ID \
        --num-nodes=NUM_NODES --disable-autoscaling
    

    請提供下列資訊:

    • CLUSTER_ID: 叢集的永久 ID。
    • INSTANCE_ID: 執行個體的永久 ID。
    • NUM_NODES: 這是選填欄位。如未設定任何值,Bigtable 會根據資料足跡自動分配節點,並將儲存空間使用率最佳化為 50%。如要控管叢集中的節點數,請更新 NUM_NODES 值。確認節點數量已設為非零值。

      在許多情況下,執行個體中的每個叢集應有相同數量的節點,但也有例外情形。瞭解節點及複製功能

變更自動調度資源設定

主控台

  1. 在 Google Cloud 控制台中開啟 Bigtable 執行個體清單。

    開啟執行個體清單

  2. 按一下要變更的執行個體,然後點選「編輯執行個體」

  3. 在「設定叢集」下方,按一下要更新的叢集

  4. 為要變更的下列任一項目輸入新值:

    • 節點數量下限
    • 節點數量上限
    • CPU 使用率目標
    • 儲存空間使用率目標
  5. 按一下 [儲存]

gcloud

  1. 如果您不知道執行個體 ID,請使用 bigtable instances list 指令查看專案的執行個體清單:

    gcloud bigtable instances list
    
  2. 如果您不知道執行個體的叢集 ID,請使用 bigtable clusters list 指令查看執行個體的叢集清單:

    gcloud bigtable clusters list --instances=INSTANCE_ID
    

    INSTANCE_ID 替換為執行個體的永久 ID。

  3. 使用 bigtable clusters update 指令更新自動調度資源設定:

    gcloud bigtable clusters update CLUSTER_ID \
        --instance=INSTANCE_ID \
        --autoscaling-max-nodes=AUTOSCALING_MAX_NODES \
        --autoscaling-min-nodes=AUTOSCALING_MIN_NODES \
        --autoscaling-cpu-target=AUTOSCALING_CPU_TARGET \
        --autoscaling-storage-target=AUTOSCALING_STORAGE_TARGET
    

    請提供下列資訊:

    • CLUSTER_ID: 叢集的永久 ID。
    • INSTANCE_ID: 執行個體的永久 ID。

    這項指令支援選用的自動調度資源旗標。您可以一併使用所有標記,也可以只使用要變更值的標記。

    • AUTOSCALING_MAX_NODES:節點數量下限。
    • AUTOSCALING_MIN_NODES:節點數量上限。
    • AUTOSCALING_CPU_TARGET:Bigtable 透過新增或移除節點,維持的 CPU 使用率目標百分比。這個值必須介於 10 到 80 之間。
    • AUTOSCALING_STORAGE_TARGET:Bigtable 透過新增或移除節點來維持的每個節點儲存空間使用率目標 (以 GiB 為單位)。

      在許多情況下,執行個體中的每個叢集應有相同數量的節點,但也有例外情形。瞭解節點及複製功能

手動新增或移除節點

在大多數情況下,建議您啟用自動調度資源功能。如果您選擇不這麼做,且叢集的節點調整模式手動,則可以新增或移除節點,節點數量會維持不變,直到您再次變更為止。如要查看每個專案在每個可用區的預設節點配額,請參閱「節點配額」。 Google Cloud 如果要佈建的節點數超出預設限制,可以申請提高上限

如要變更使用手動調整資源配置的叢集節點數量,請按照下列步驟操作:

主控台

  1. 在 Google Cloud 控制台中開啟 Bigtable 執行個體清單。

    開啟執行個體清單

  2. 按一下要變更的執行個體,然後點選「編輯執行個體」

  3. 在「Configure clusters」(設定叢集) 下方,按一下要更新叢集的「Edit」(編輯)

  4. 在「手動節點分配」部分中,於「數量」欄位輸入叢集的節點數量。

    在許多情況下,執行個體中的每個叢集應有相同數量的節點,但也有例外情形。瞭解節點及複製功能

  5. 按一下 [儲存]

gcloud

  1. 如果您不知道執行個體 ID,請使用 bigtable instances list 指令查看專案的執行個體清單:

    gcloud bigtable instances list
    
  2. 如果您不知道執行個體的叢集 ID,請使用 bigtable clusters list 指令查看執行個體的叢集清單:

    gcloud bigtable clusters list --instances=INSTANCE_ID
    

    INSTANCE_ID 替換為執行個體的永久 ID。

  3. 使用 bigtable clusters update 指令變更節點數量:

    gcloud bigtable clusters update CLUSTER_ID \
        --instance=INSTANCE_ID \
        --num-nodes=NUM_NODES
    

    請提供下列資訊:

    • CLUSTER_ID: 叢集的永久 ID。
    • INSTANCE_ID: 執行個體的永久 ID。
    • NUM_NODES: 這是選填欄位。如未設定任何值,Bigtable 會根據資料足跡自動分配節點,並將儲存空間使用率最佳化為 50%。如要控管叢集中的節點數,請更新 NUM_NODES 值。確認節點數量已設為非零值。

      在許多情況下,執行個體中的每個叢集應有相同數量的節點,但也有例外情形。瞭解節點及複製功能

cbt

  1. 如果您不知道執行個體 ID,請使用 listinstances 指令查看專案的執行個體清單:

    cbt listinstances
    
  2. 如果您不知道執行個體的叢集 ID,請使用 listclusters 指令查看執行個體的叢集清單:

    cbt -instance=INSTANCE_ID listclusters
    

    INSTANCE_ID 替換為執行個體的永久 ID。

  3. 使用 updatecluster 指令變更節點數量:

    cbt -instance=INSTANCE_ID updatecluster CLUSTER_ID NUM_NODES
    

    請提供下列資訊:

    • INSTANCE_ID: 執行個體的永久 ID。
    • CLUSTER_ID: 叢集的永久 ID。
    • NUM_NODES: 這是選填欄位。如未設定任何值,Bigtable 會根據資料足跡自動分配節點,並將儲存空間使用率最佳化為 50%。如要控管叢集中的節點數,請更新 NUM_NODES 值。確認節點數量已設為非零值。

      在許多情況下,執行個體中的每個叢集應有相同數量的節點,但也有例外情形。瞭解節點及複製功能

新增叢集

您可以將叢集新增至現有執行個體。執行個體中的叢集最多可以分布於 8 個 Bigtable 適用區域。 地區中的每個區域只能包含一個叢集。 額外叢集的理想位置取決於您的用途。

如果執行個體受到 CMEK 保護,每個新叢集都必須使用與叢集位於相同區域的 CMEK 金鑰。將新叢集新增至受 CMEK 保護的執行個體前,請先找出或建立 CMEK 金鑰,並將叢集放在該金鑰所在的區域。

在您將叢集新增到單叢集執行個體之前,請參閱更改複製表上的垃圾收集政策時適用的限制。然後查看複製功能範例以瞭解建議做法。

如何將叢集新增至執行個體:

主控台

  1. 在 Google Cloud 控制台中開啟 Bigtable 執行個體清單。

    開啟執行個體清單

  2. 按一下要變更的執行個體,然後點選「編輯執行個體」

  3. 按一下「Configure clusters」(設定叢集) 底下的「Add cluster」(新增叢集)

    如果這個按鈕無法使用,表示執行個體已達叢集數量上限。

  4. 對第一個叢集輸入叢集 ID。

    叢集 ID 是叢集的永久識別碼。

  5. 請選擇第一個叢集執行的地區及區域

  6. 選用:如要將叢集設定為一律以兩個節點為增量進行資源調度,請選取「啟用 2 倍節點資源調度功能」。詳情請參閱節點縮放比例

  7. 為叢集選擇節點資源調度模式。在大多數情況下,建議您選擇自動調整大小。如需資源調度指南,請參閱「自動調度資源」。

    1. 在「手動節點分配」中,輸入第一個叢集的 Bigtable 節點數量。 如果您不確定需要多少個節點,請使用預設值。您之後可以新增更多節點。
    2. 在「Autoscaling」(自動調度資源) 中,輸入下列值:
      • 節點數量下限
      • 節點數量上限
      • CPU 使用率目標
      • 儲存空間使用率目標
  8. 選用:如要使用 CMEK 保護執行個體,而非預設的 Google 代管加密機制,請完成下列步驟:

    1. 按一下「顯示加密選項」
    2. 選取「客戶管理的加密金鑰 (CMEK)」旁邊的圓形按鈕。
    3. 選取或輸入要用於叢集的 CMEK 金鑰資源名稱。選定後即無法變更。
    4. 如果系統提示您授予 CMEK 金鑰服務帳戶權限,請按一下「授予」。您的使用者帳戶必須獲派 Cloud KMS 管理員角色,才能完成這項工作。
    5. 按一下 [儲存]
  9. 輸入叢集的節點數。

    在許多情況下,執行個體中的每個叢集應有相同數量的節點,但也有例外情形。瞭解節點及複製功能

  10. 如果執行個體受 CMEK 保護,請選取或輸入客戶管理的金鑰。CMEK 金鑰必須與叢集位於相同區域。

  11. 按一下「新增」

  12. 針對每個其他叢集重複上述步驟,然後按一下「儲存」。 Bigtable 會建立叢集,並開始將資料複製到新叢集。開始複製時,您可能會看到 CPU 使用率增加了。

  13. 查看預設應用程式設定檔中的複製功能設定,確認這些設定是否適用於您的複製功能用途。您可能需要更新預設的應用程式設定檔,或是建立自訂應用程式設定檔

gcloud

  1. 如果您不知道執行個體 ID,請使用 bigtable instances list 指令查看專案的執行個體清單:

    gcloud bigtable instances list
    
  2. 如果您不知道執行個體的叢集 ID,請使用 bigtable clusters list 指令查看執行個體的叢集清單:

    gcloud bigtable clusters list --instances=INSTANCE_ID
    

    INSTANCE_ID 替換為執行個體的永久 ID。

  3. 使用 bigtable clusters create 指令新增叢集:

    gcloud bigtable clusters create CLUSTER_ID \
        --async \
        --instance=INSTANCE_ID \
        --zone=ZONE \
        [--num-nodes=NUM_NODES] \
        [--autoscaling-min-nodes=AUTOSCALING_MIN_NODES, \
        --autoscaling-max-nodes=AUTOSCALING_MAX_NODES, \
        --autoscaling-cpu-target=AUTOSCALING_CPU_TARGET \
        --autoscaling-storage-target=AUTOSCALING_STORAGE_TARGET] \
        [--kms-key=KMS_KEY --kms-keyring=KMS_KEYRING \
        --kms-location=KMS_LOCATION --kms-project=KMS_PROJECT] \
    

    請提供下列資訊:

    • CLUSTER_ID: 叢集的永久 ID。
    • INSTANCE_ID: 執行個體的永久 ID。
    • ZONE: 執行叢集的區域

      地區中的每個區域只能包含一個叢集。 舉例來說,如果執行個體在 us-east1-b 中有叢集,您可以在同一個地區的不同區域 (例如 us-east1-c) 中新增叢集,也可以在不同地區的區域 (例如 europe-west2-a) 中新增叢集。 查看區域列表

    --async 標記並非必要,但強烈建議使用。如果沒有這個旗標,指令可能會在作業完成前逾時。Bigtable 會繼續在背景建立叢集。

    該指令接受下列選用標記:

    • --kms-key=KMS_KEY:叢集使用的 CMEK 金鑰。您只能將 CMEK 叢集新增至已受 CMEK 保護的執行個體。
    • --kms-keyring=KMS_KEYRING:金鑰的 KMS 金鑰環 ID。
    • --kms-location=KMS_LOCATION:金鑰的 Google Cloud 位置。
    • --kms-project=KMS_PROJECT:金鑰的 Google Cloud 專案 ID。
    • --storage-type=STORAGE_TYPE: 叢集所使用的儲存類型。執行個體中的每一個叢集必須使用相同的儲存空間類型。可接受的值為 SSDHDD。 預設值為 SSD
    • --node-scaling-factor=node-scaling-factor-2x:啟用節點擴展 2 倍的標記。無論是手動或自動調度資源,都可以啟用這項功能。

    如要查看不適用於 2 倍節點資源調度的 Bigtable 區域清單,請參閱節點資源調度係數限制

    如果沒有為 --num-nodes 選項設定值,Bigtable 會根據資料足跡自動為叢集分配節點,並將儲存空間使用率最佳化為 50%。節點的自動分配作業會影響價格。如要控管叢集中的節點數量,請更新 NUM_NODES 值。確認節點數量已設為非零值。 在許多情況下,執行個體中的每個叢集應有相同數量的節點,但也有例外情形。瞭解節點及複製功能

    如要自動調度資源,請提供所有 autoscaling- 標記,且不要使用 num-nodes。如要瞭解如何選擇自動調度設定的值,請參閱自動調度。更改下列內容:

    • AUTOSCALING_MIN_NODES:叢集的節點數量下限。
    • AUTOSCALING_MAX_NODES:叢集的節點數量上限。
    • AUTOSCALING_CPU_TARGET:叢集的目標 CPU 使用率。 這個值必須介於 10 至 80 之間。
    • AUTOSCALING_STORAGE_TARGET:Bigtable 透過新增或移除節點來維持的儲存空間使用率目標 (以 GiB 為單位)。
  4. 查看預設應用程式設定檔中的複製功能設定,確認這些設定是否適用於您的複製功能用途。您可能需要更新預設的應用程式設定檔,或是建立自訂應用程式設定檔

cbt

  1. 如果您不知道執行個體 ID,請使用 listinstances 指令查看專案的執行個體清單:

    cbt listinstances
    
  2. 如果您不知道執行個體的叢集 ID,請使用 listclusters 指令查看執行個體的叢集清單:

    cbt -instance=INSTANCE_ID listclusters
    

    INSTANCE_ID 替換為執行個體的永久 ID。

  3. 使用 createcluster 指令新增叢集:

    
    cbt -instance=INSTANCE_ID \
    createcluster CLUSTER_ID \
    ZONE \
    NUM_NODES \
    STORAGE_TYPE
    
    

    請提供下列資訊:

    • INSTANCE_ID: 執行個體的永久 ID。
    • CLUSTER_ID: 叢集的永久 ID。
    • ZONE: 執行叢集的區域

      地區中的每個區域只能包含一個叢集。 舉例來說,如果執行個體在 us-east1-b 中有叢集,您可以在同一個地區的不同區域 (例如 us-east1-c) 中新增叢集,也可以在不同地區的區域 (例如 europe-west2-a) 中新增叢集。 查看區域列表

    • NUM_NODES: 這是選填欄位。如未設定任何值,Bigtable 會根據資料足跡自動分配節點,並將儲存空間使用率最佳化為 50%。如要控管叢集中的節點數,請更新 NUM_NODES 值。確認節點數量已設為非零值。

      在許多情況下,執行個體中的每個叢集應有相同數量的節點,但也有例外情形。瞭解節點及複製功能

    • STORAGE_TYPE: 叢集所使用的儲存類型。執行個體中的每一個叢集必須使用相同的儲存空間類型。可接受的值為 SSDHDD

  4. 查看預設應用程式設定檔中的複製功能設定,確認這些設定是否適用於您的複製功能用途。您可能需要更新預設的應用程式設定檔,或是建立自訂應用程式設定檔

刪除叢集

如果執行個體有多個叢集,您可以只留下一個並刪除其餘所有叢集。如果只留下一個並刪除其餘所有叢集,系統會自動停用複製功能。

在某些情況下,Bigtable 不允許您刪除叢集:

  • 如果應用程式設定檔將所有流量轉送至單一叢集,Bigtable 就不會允許您刪除該叢集。您必須先編輯或刪除應用程式設定檔,才能刪除該叢集。
  • 如果您要新增叢集到現有執行個體,就必須等到將初始資料複製到新叢集的作業都完成後,才能刪除該執行個體中的叢集。

如何刪除執行個體中的叢集:

主控台

  1. 在 Google Cloud 控制台中開啟 Bigtable 執行個體清單。

    開啟執行個體清單

  2. 按一下要變更的執行個體,然後點選「編輯執行個體」

  3. 在「設定叢集」下方,按一下要刪除的叢集旁的「刪除叢集」

  4. 如要取消刪除作業,請按一下「復原」。在按一下「儲存」前,您都可以復原。如不需要傳回,請點按「儲存」。

gcloud

  1. 如果您不知道執行個體 ID,請使用 bigtable instances list 指令查看專案的執行個體清單:

    gcloud bigtable instances list
    
  2. 如果您不知道執行個體的叢集 ID,請使用 bigtable clusters list 指令查看執行個體的叢集清單:

    gcloud bigtable clusters list --instances=INSTANCE_ID
    

    INSTANCE_ID 替換為執行個體的永久 ID。

  3. 使用 bigtable clusters delete 指令刪除叢集:

    gcloud bigtable clusters delete CLUSTER_ID \
        --instance=INSTANCE_ID
    

    請提供下列資訊:

    • CLUSTER_ID: 叢集的永久 ID。
    • INSTANCE_ID: 執行個體的永久 ID。

cbt

  1. 如果您不知道執行個體 ID,請使用 listinstances 指令查看專案的執行個體清單:

    cbt listinstances
    
  2. 如果您不知道執行個體的叢集 ID,請使用 listclusters 指令查看執行個體的叢集清單:

    cbt -instance=INSTANCE_ID listclusters
    

    INSTANCE_ID 替換為執行個體的永久 ID。

  3. 使用 deletecluster 指令刪除叢集:

    cbt -instance=INSTANCE_ID deletecluster CLUSTER_ID
    

    請提供下列資訊:

    • INSTANCE_ID: 執行個體的永久 ID。
    • CLUSTER_ID: 叢集的永久 ID。

將資料移到新位置

如要將 Bigtable 執行個體中的資料移至新的區域或地區,請在要移往的位置新增叢集,然後刪除要移出的位置中的叢集。在資料複製到新叢集之前,已刪除的叢集仍可使用,因此您不必擔心任何要求失敗。Bigtable 會自動將所有資料複製到新叢集。

管理應用程式設定檔

應用程式設定檔 (或應用程式設定檔) 可控管應用程式與使用複製功能的執行個體連線的方式。具有一個以上叢集的執行個體都有自己的預設應用程式設定檔。您可以針對每一個執行個體建立許多不同的自訂應用程式設定檔,讓每一種應用程式使用不同的應用程式設定檔。

如要瞭解如何設定執行個體的應用程式設定檔,請參閱「配置應用程式設定檔」。 如需常用設定範例,請參閱「複製設定範例」。

管理標籤

標籤是一組鍵/值組合,可用來將相關的執行個體分組,並儲存關於執行個體的中繼資料。

如要瞭解如何管理標籤,請參閱新增或更新執行個體的標籤從執行個體中移除標籤

變更執行個體的顯示名稱

如要變更執行個體的顯示名稱 (控制台會使用這個名稱識別執行個體),請按照下列步驟操作: Google Cloud

主控台

  1. 在 Google Cloud 控制台中開啟 Bigtable 執行個體清單。

    開啟執行個體清單

  2. 按一下要變更的執行個體,然後點選「編輯執行個體」

  3. 編輯執行個體的名稱,然後按一下 [儲存]

gcloud

  1. 如果您不知道執行個體 ID,請使用 bigtable instances list 指令查看專案的執行個體清單:

    gcloud bigtable instances list
    
  2. 使用 bigtable instances update 指令更新顯示名稱:

    gcloud bigtable instances update INSTANCE_ID \
        --display-name=DISPLAY_NAME
    

    請提供下列資訊:

    • INSTANCE_ID: 執行個體的永久 ID。
    • DISPLAY_NAME:使用者可辨識的名稱,能夠用來識別 Google Cloud 控制台中的執行個體。

cbt

cbt CLI 不支援這項功能。

後續步驟