建立叢集及其主要執行個體

本頁說明如何建立 AlloyDB 叢集及其主要執行個體。

事前準備

  • 您使用的 Google Cloud 專案必須啟用 AlloyDB 存取權
  • 您使用的 Google Cloud 專案中,虛擬私有雲網路必須已設定 AlloyDB 的私人服務存取權
  • 您必須在使用的Google Cloud 專案中具備下列其中一個 IAM 角色:
    • roles/alloydb.admin (AlloyDB 管理員預先定義的 IAM 角色)
    • roles/owner (擁有者基本 IAM 角色)
    • roles/editor (編輯者基本 IAM 角色)
  • 如果您不具備上述任一角色,請與機構管理員聯絡,並要求存取權。
  • 此外,您還必須在使用的Google Cloud 專案中具備 compute.networks.list 權限。如要遵循最小權限原則並取得這項權限,請要求管理員授予您「Compute 網路使用者」角色 (roles/compute.networkUser)。
  • 開發和沙箱工作負載的區域和機器類型。如要使用 1 個 vCPU 的型態,請務必選取支援該型態的區域。詳情請參閱使用 1 個 vCPU 時的注意事項

建立新叢集

主控台

  1. 前往「Clusters」(叢集) 頁面。

    前往「Clusters」(叢集)

  2. 按一下 [Create cluster] (建立叢集)

  3. 選擇叢集設定。如要進一步瞭解高可用性和基本設定之間的差異,請參閱「節點和執行個體」。

    如果不確定新叢集是否需要讀取集區執行個體,請選擇沒有讀取集區的設定。之後可以視需要將讀取集區執行個體新增至叢集。

  4. 按一下「繼續」

  5. 在「設定叢集」部分,於「叢集 ID」欄位中輸入叢集的 ID。

  6. 在「Password」(密碼) 欄位中,輸入新叢集的初始密碼。AlloyDB 會在建立叢集時,將提供的密碼指派給 postgres 資料庫使用者。

  7. 在「資料庫版本」欄位中,選取叢集資料庫伺服器要相容的 PostgreSQL 主要版本。

  8. 選取區域。對於開發和沙箱工作負載,請考慮 1 個 vCPU 的形狀 (在預先發布版中),這適用於特定區域。詳情請參閱使用 1 個 vCPU 時的考量事項

  9. 選取網路路徑。

  10. 選用:如要將特定 IP 位址範圍套用至這個叢集,而不是允許 AlloyDB 選擇 IP 位址範圍,請按照下列步驟操作:

    1. 按一下「顯示分配的 IP 範圍選項」

    2. 從「已分配的 IP 範圍」清單中選取 IP 位址範圍。

    如要進一步瞭解這個選項,請參閱「建立具有特定 IP 位址範圍的叢集」。

  11. 選用步驟:如要使用客戶自行管理的加密金鑰 (CMEK) 加密這個叢集,而非 Google 管理的加密金鑰,請按照下列額外步驟操作:

    1. 按一下「進階加密選項」

    2. 選取「客戶自行管理的加密金鑰 (CMEK)」

    3. 在隨即顯示的選單中,選取客戶管理的金鑰。

      Google Cloud 控制台會將這份清單限制為與新叢集位於 Google Cloud 相同專案和區域的金鑰。如要使用不在清單中的金鑰,請按一下「找不到您的金鑰嗎?輸入金鑰資源名稱,然後在隨即顯示的對話方塊中輸入金鑰的資源名稱。

      請注意,在 AlloyDB 中使用 CMEK 需要進行一些額外設定。詳情請參閱「搭配使用 CMEK 與 AlloyDB」。

    4. 按一下「繼續」

  12. 設定主要執行個體:

    1. 在「Instance ID」(執行個體 ID) 欄位中,輸入主要執行個體的 ID。
    2. 選取下列其中一個機器系列:

      • C4A (以 Google Axion 為基礎的機器系列) (預先發布版)
      • N2 (x86 型機器系列)。這是預設機器系列。
    3. 選取機型。

      • C4A 支援 1、4、8、16、32、48、64 和 72 種機器類型或形狀。
      • N2 支援 2、4、8、16、32、64、96 和 128 種機器類型或形狀。

      如要進一步瞭解如何使用 C4A Axion 型機器系列 (包括 1 個 vCPU 的機器類型),請參閱「使用 C4A Axion 型機器系列時的注意事項」。

    4. 選用:為執行個體設定自訂旗標。針對每個標記,請按照下列步驟操作:

      1. 按一下「新增旗標」
      2. 在「New database flag」(新增資料庫標記) 清單中,選取一個標記。
      3. 提供旗標值。
      4. 按一下 [完成]
  13. 如果您選擇的叢集類型沒有讀取集區,請按一下「建立叢集」

gcloud

如要使用 gcloud CLI,您可以安裝及初始化 Google Cloud CLI,也可以使用 Cloud Shell

  1. 如要建立啟用私人服務存取權或 Private Service Connect 的叢集,請使用 gcloud alloydb clusters create 指令。

    私人服務存取權

    gcloud alloydb clusters create CLUSTER_ID \
        --database-version=POSTGRES_VERSION \
        --password=PASSWORD \
        --region=REGION_ID \
        --project=PROJECT_ID \
        --network=NETWORK

    Private Service Connect

    gcloud alloydb clusters create CLUSTER_ID \
        --database-version=POSTGRES_VERSION \
        --password=PASSWORD \
        --region=REGION_ID \
        --project=PROJECT_ID \
        --enable-private-service-connect 

    更改下列內容:

    • CLUSTER_ID:您要建立的叢集 ID。只能使用小寫英文字母、數字和連字號,而且開頭須為小寫英文字母。

    • VERSION:叢集資料庫伺服器要相容的 PostgreSQL 主要版本。選擇下列其中一個選項:

      • 14,以便與 PostgreSQL 14 相容

      • 15,以便與 PostgreSQL 15 相容

      • 16,以便與 PostgreSQL 16 相容,這是 AlloyDB 支援的預設 PostgreSQL 版本。

      • 17,以便與 PostgreSQL 17 (預先發布版) 相容

        如要進一步瞭解使用 PostgreSQL 17 預先發布版時的限制,請參閱「PostgreSQL 17 預先發布版相容性」。

    • PASSWORD:預設 postgres 使用者的密碼。

    • NETWORK (選用):您為 AlloyDB 設定私人服務存取權的虛擬私有雲網路名稱。如果省略 --network 標記,AlloyDB 會使用 default 網路。

    如果是共用虛擬私有雲網路,請設為虛擬私有雲網路的完整路徑,例如 projects/cymbal-project/global/networks/shared-vpc-network

    • --enable-private-service-connect (選用):設為啟用 Private Service Connect,做為叢集及其執行個體的連線方法。

    • REGION_ID:您要放置叢集的區域。

    • PROJECT_ID:您要放置叢集的專案 ID。

    這個指令會啟動長期執行作業並傳回作業 ID。

  2. 選用:如要將特定 IP 位址範圍套用至這個叢集,請提供下列引數,不要讓 AlloyDB 選擇 IP 位址範圍:

    --allocated-ip-range-name=RANGE
    

    RANGE 替換為您希望這個叢集用於私人服務存取權的 IP 位址範圍名稱。

    如要進一步瞭解這個選項,請參閱建立具有特定 IP 位址範圍的叢集

  3. 選用:如要使用客戶自行管理的加密金鑰 (CMEK) 加密這個叢集,而非預設的 Google 代管加密,請提供下列引數:

    --kms-key=KEY_ID \
    --kms-keyring=KEYRING_ID \
    --kms-location=LOCATION_ID \
    --kms-project=PROJECT_ID
    

    取代下列項目:

    • KEY_ID:要使用的 CMEK 金鑰 ID。

    • KEYRING_ID:金鑰的金鑰環 ID。

    • LOCATION_ID:金鑰環所在區域的 ID,必須與叢集所在的區域相同。

    • PROJECT_ID:金鑰環專案的 ID。

  4. 確認作業是否成功。

    gcloud alloydb operations describe OPERATION_ID \
        --region=REGION_ID \
        --project=PROJECT_ID

    OPERATION_ID 替換為先前步驟傳回的作業 ID。

建立主要叢集後,您必須建立主要執行個體。

建立主要執行個體

如要建立主要執行個體,請使用 gcloud alloydb instances create 指令。

    gcloud alloydb instances create INSTANCE_ID \
        --instance-type=PRIMARY \
        --cpu-count=CPU_COUNT \
        --machine-type=MACHINE_TYPE \
        --region=REGION_ID \
        --cluster=CLUSTER_ID \
        --project=PROJECT_ID \

更改下列內容:

  • INSTANCE_ID:要建立的執行個體 ID。只能使用小寫英文字母、數字和連字號,而且開頭須為小寫英文字母。
  • CPU_COUNT:您希望執行個體擁有的 N2 vCPU 數量。預設值為 N2。有效值包括:

    • 2:2 個 vCPU,16 GB RAM
    • 4:4 個 vCPU、32 GB RAM
    • 8:8 個 vCPU,64 GB RAM
    • 16:16 個 vCPU,128 GB RAM
    • 32:32 個 vCPU,256 GB RAM
    • 64:64 個 vCPU,512 GB RAM
    • 96:96 個 vCPU、768 GB RAM
    • 128:128 個 vCPU,864 GB RAM

  • MACHINE_TYPE:部署 N2 機器時,這個參數為選用。如要部署 C4A Axion 型機器系列 (預先發布版),或在 C4A 和 N2 機器之間遷移,請選擇這個參數並使用下列值。

    同時使用 MACHINE_TYPECPU_COUNT 時,CPU_COUNTMACHINE_TYPE 中的值必須相符,否則會發生錯誤。

    如果是以 Axion 為基礎的 C4A 機型系列,請選擇具有下列值的機型:

    • c4a-highmem-1
    • c4a-highmem-4-lssd
    • c4a-highmem-8-lssd
    • c4a-highmem-16-lssd
    • c4a-highmem-32-lssd
    • c4a-highmem-48-lssd
    • c4a-highmem-64-lssd
    • c4a-highmem-72-lssd

    如要部署 C4A (4 個以上 vCPU),請使用 lssd 後置字元,啟用超快速快取。

    如要進一步瞭解如何使用 C4A Axion 型機器系列 (包括 1 個 vCPU 的機器類型),請參閱「使用 C4A Axion 型機器系列時的注意事項」。

    如為 N2 x86 架構的機器系列,請使用具有下列值的機器類型:

    • N2-highmem-2
    • N2-highmem-4
    • N2-highmem-8
    • N2-highmem-16
    • N2-highmem-32
    • N2-highmem-64
    • N2-highmem-96
    • N2-highmem-128
  • REGION_ID:您希望執行個體所在的區域。

  • CLUSTER_ID:您先前建立的叢集 ID。

  • PROJECT_ID:叢集建立所在專案的 ID。

選用:如要將特定 IP 位址範圍套用至這個執行個體,並覆寫叢集層級設定的任何 IP 位址範圍分配,請提供下列引數:

    --allocated-ip-range-override=OVERRIDE_RANGE_NAME

OVERRIDE_RANGE_NAME 替換為您希望這個執行個體用於私人服務存取權的 IP 位址範圍名稱,例如:google-managed-services-default。範圍名稱必須符合 RFC 1035。具體來說,名稱長度必須介於 1 至 63 個字元之間,且符合規則運算式 [a-z]([-a-z0-9]*[a-z0-9])?

如要進一步瞭解這個選項,請參閱「建立具有特定 IP 位址範圍的執行個體」。

您也可以建立啟用 Private Service Connect 的 AlloyDB 執行個體。如要瞭解如何為啟用 Private Service Connect 的叢集建立主要執行個體,請參閱「建立 AlloyDB 執行個體」。

Terraform

如要建立叢集,請使用 Terraform 資源

以下是根據 AlloyDB 叢集完整範例建立叢集的程式碼片段:

resource "google_alloydb_cluster" "cluster_abc" {
  cluster_id = "alloydb-cluster"
  location   = "us-central1"
  network_config {
    network = google_compute_network.default.id
  }
  database_version = "POSTGRES_16"

  initial_user {
    user     = "postgres"
    password = "postgres"
  }

  continuous_backup_config {
    enabled              = true
    recovery_window_days = 14
  }

  automated_backup_policy {
    location      = "us-central1"
    backup_window = "1800s"
    enabled       = true

    weekly_schedule {
      days_of_week = ["MONDAY"]

      start_times {
        hours   = 23
        minutes = 0
        seconds = 0
        nanos   = 0
      }
    }

    quantity_based_retention {
      count = 1
    }

    labels = {
      test = "alloydb-cluster-backup-policy-labels"
    }
  }

  labels = {
    test = "alloydb-cluster-labels"
  }
}

data "google_project" "project" {}

resource "google_compute_network" "default" {
  name = "alloydb-cluster-network"
}

準備 Cloud Shell

如要在 Google Cloud 專案中套用 Terraform 設定,請準備 Cloud Shell,步驟如下:

  1. 啟動 Cloud Shell
  2. 設定要套用 Terraform 設定的預設 Google Cloud 專案。

    每項專案只需要執行一次這個指令,且可以在任何目錄中執行。

    export GOOGLE_CLOUD_PROJECT=PROJECT_ID

    如果您在 Terraform 設定檔中設定明確值,環境變數就會遭到覆寫。

準備目錄

每個 Terraform 設定檔都必須有自己的目錄,也稱為「根模組」

  1. Cloud Shell 中建立目錄,並在該目錄中建立新檔案。檔案名稱必須是 TF 檔案,例如 main.tf。在本文件中,這個檔案稱為 main.tf
    mkdir DIRECTORY && cd DIRECTORY && touch main.tf
  2. 將範例程式碼複製到新建立的 main.tf。 視需要從 GitHub 複製程式碼。如果 Terraform 代码片段是端對端解決方案的一部分,建議使用這個方法。
  3. 查看 main.tf 檔案,並修改範例參數,套用至您的環境。
  4. 儲存變更。
  5. 初始化 Terraform。每個目錄只需執行一次這項操作。
    terraform init
    選用:如要使用最新版 Google 供應商,請加入 -upgrade 選項:
    terraform init -upgrade

套用變更

  1. 檢查設定,確認 Terraform 更新符合您的預期:
    terraform plan
    視需要修正設定。
  2. 執行下列指令,並在提示中輸入 yes,即可套用 Terraform 設定:
    terraform apply
    等待 Terraform 顯示 Apply complete! 訊息。
  3. 開啟 Google Cloud 專案即可查看結果。在 Google Cloud 控制台中,前往 UI 中的資源,確認 Terraform 已建立或更新這些資源。

REST v1

建立叢集

這個範例會建立叢集。 如需此呼叫的完整參數清單,請參閱「方法:projects.locations.clusters.create」。如需叢集設定的相關資訊,請參閱「查看叢集和執行個體設定」。

請勿在叢集 ID 中加入敏感資訊或個人識別資訊,因為外部使用者可以看見此 ID。 叢集名稱不需要包含專案 ID。系統會在適當地方 (例如在記錄檔中) 自動加入。

如要傳送要求,請將要求主體儲存在名為 cluster_request.json 的檔案中:

{
  "databaseVersion": "DATABASE_VERSION",
  "initialUser": {
    "user": "INITIAL_USERNAME",
    "password": "INITIAL_USER_PASSWORD"
  },
  "labels": {
    "test": "alloydb-cluster-full"
  }
}

請將下列項目改為對應的值:

  • DATABASE_VERSION:資料庫版本的列舉字串,例如 POSTGRES_16
  • INITIAL_USERNAME:您用於預設 postgres 使用者的使用者名稱。
  • INITIAL_USER_PASSWORD:您用於預設 postgres 使用者的密碼。

請使用下列 HTTP 方法和網址:

POST https://alloydb.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/clusters?cluster_id=CLUSTER_ID

請將下列項目改為對應的值:

  • PROJECT_ID:要讓叢集所在的專案 ID。
  • LOCATION_ID:叢集所在區域的 ID。
  • CLUSTER_ID:您建立的叢集 ID。 叢集 ID 開頭必須為小寫英文字母,且只能包含小寫英文字母、數字和連字號。

您可以使用下列 curl 執行上述要求:

curl -X POST   -H "Authorization: Bearer $(gcloud auth print-access-token)"   -H "Content-Type: application/json"   https://alloydb.googleapis.com/v1alpha/projects/PROJECT_ID/locations/LOCATION_ID/clusters?cluster_id=CLUSTER_ID   -d @cluster_request.json

建立主要執行個體

這個範例會建立主要執行個體。如需此呼叫的完整參數清單,請參閱「方法:projects.locations.clusters.instances.create」。如要瞭解叢集設定,請參閱「查看叢集和執行個體設定」。

請勿在叢集 ID 中加入敏感資訊或個人識別資訊,因為外部使用者可以看見此 ID。您不需要在叢集名稱中加入專案 ID,因為系統會在適當地方自動加入,例如記錄檔。

如要傳送要求,請將下列要求主體儲存在名為 instance_request.json 的檔案中。

{
  "instance_type": "PRIMARY",
  "machine_config": {
    "cpu_count": "vCPU_COUNT"
  }
}

請進行下列替換:

  • VCPU_COUNT:要建立的執行個體上可見的 CPU 核心數。

上述範例會建立 N2 執行個體,規格如下:

  • 2:2 個 vCPU,16 GB RAM
  • 4:4 個 vCPU,32 GB RAM
  • 8:8 個 vCPU,64 GB RAM
  • 16:16 個 vCPU,128 GB RAM
  • 32:32 個 vCPU,256 GB RAM
  • 64:64 個 vCPU,512 GB RAM
  • 96:96 個 vCPU,768 GB RAM
  • 128:128 個 vCPU,864 GB RAM

如要建立 C4A 例項,請在 machine_config 結構中使用 machine_type 欄位,而非 cpu_count,如下列範例所示:

machine_config: {
  machine_type : MACHINE_TYPE,
},

如果是以 Axion 為基礎的 C4A 機器系列,請使用下列有效值:

  • c4a-highmem-1
  • c4a-highmem-4-lssd
  • c4a-highmem-8-lssd
  • c4a-highmem-16-lssd
  • c4a-highmem-32-lssd
  • c4a-highmem-48-lssd
  • c4a-highmem-64-lssd
  • c4a-highmem-72-lssd

如為 N2 系列機器,請使用下列有效值:

  • n2-highmem-2
  • n2-highmem-4
  • n2-highmem-8
  • n2-highmem-16
  • n2-highmem-32
  • n2-highmem-64
  • n2-highmem-96
  • n2-highmem-128

請使用下列 HTTP 方法和網址:

POST https://alloydb.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/clusters/CLUSTER_ID/instances?instance_id=INSTANCE_ID

請將下列項目改為對應的值:

  • PROJECT_ID:您希望叢集所在的專案 ID。
  • LOCATION_ID:叢集所在區域的 ID。
  • CLUSTER_ID:您建立的叢集 ID。ID 開頭須為小寫字母,且只能使用小寫字母、數字和連字號。
  • INSTANCE_ID:要建立的主要執行個體名稱。

您可以使用 curl 執行要求,如下列範例所示:

curl -X POST   -H "Authorization: Bearer $(gcloud auth print-access-token)"   -H "Content-Type: application/json"   https://alloydb.googleapis.com/v1alpha/projects/PROJECT_ID/locations/LOCATION_ID/clusters/CLUSTER_ID/instances?instance_id=INSTANCE_ID   -d @instance_request.json

複製有效叢集

如要建立現有叢集的副本,其中包含來源叢集的所有資料副本,並在相同區域中執行,請對該叢集執行時間點復原作業。您可以指定非常近的時間點,例如目前這一分鐘的第一秒。

這個程序只會將來源叢集的資料複製到副本,不會複製來源叢集的任何設定。如要使用 CMEK 加密複製資料,即使來源叢集的資料已以 CMEK 加密,您仍須在時間點還原指令中指定 CMEK 詳細資料。建立新叢集後,您需要新增執行個體、資料庫標記、備份排程,以及符合您需求的任何其他設定。

以這種方式建立的叢集會獨立於來源存在,且初始複製完成後,其資料與來源叢集的資料沒有任何關係。如要建立次要叢集,自動追蹤及複製來源叢集中的資料變更,請參閱「關於跨區域複製」。

建立特定 IP 位址範圍的叢集

AlloyDB 使用私人服務存取權,允許叢集的內部資源彼此通訊。建立叢集前,虛擬私有雲 (VPC) 網路必須包含至少一個已設定私人服務存取連線的 IP 位址範圍。

如果虛擬私有雲網路包含多個已設定私人服務存取權的 IP 位址範圍,您可以指定 AlloyDB 要指派給新叢集的範圍。IP 位址範圍至少須為 /24,且有足夠空間可供建立叢集。

如要指定 IP 位址範圍,請參閱「建立叢集」中的選用步驟。

如果未指定範圍,AlloyDB 會在建立叢集時採取下列其中一項動作:

  • 如果您有多個可用的私人服務連線 IP 位址範圍,AlloyDB 會選擇其中一個範圍。

  • 如果您在虛擬私有雲中設定了確切的 IP 位址範圍,並具備私有服務存取權,AlloyDB 會將該範圍套用至新叢集。

如要進一步瞭解如何建立 IP 位址範圍以搭配 AlloyDB 使用,請參閱「啟用私人服務存取權」。

使用特定 IP 位址範圍建立執行個體

與建立特定 IP 位址範圍的叢集類似,您可以建立執行個體,並為執行個體指定 IP 位址範圍,覆寫叢集層級的任何 IP 位址範圍分配。使用 Google Cloud CLI、Terraform 或 REST API 建立新執行個體時,您可以設定特定 IP 位址範圍。

IP 位址範圍必須至少為 /24,且有足夠空間可供建立執行個體。如要進一步瞭解如何建立 IP 位址範圍以搭配 AlloyDB 使用,請參閱「啟用私人服務存取權」。

如果您在建立執行個體時未指定要覆寫的範圍,AlloyDB 會採取下列任一動作:

  • 如果您在建立叢集時設定了選用的分配 IP 位址範圍,AlloyDB 會選擇其中一個範圍來建立新執行個體。

  • 如果您在建立叢集時未設定選用的已分配 IP 位址範圍,AlloyDB 會選擇其中一個具有私人服務存取權的範圍。

使用 C4A Axion 型機器系列的注意事項

AlloyDB 提供以 Google Axion 為基礎的 C4A 機器系列,這是 Google 的自訂 Arm 架構處理器。C4A 虛擬機器 (VM) 提供預先定義的設定,可選擇 1、4、8、16、32、48、64 和 72 個 vCPU,以及最多 576 GB 的雙倍資料率 5 (DDR5) 記憶體。

選擇 C4A 時,請注意下列事項:

  • 如要部署 C4A 機器系列,請使用 MACHINE_TYPECPU_COUNT,其中 CPU_COUNT 必須與 MACHINE_TYPEcpu-count 的值相符。
  • 如要使用 Google Cloud CLI 從 N2 更新至 C4A,您必須更新 MACHINE_TYPECPU_COUNT,其中 CPU_COUNT 必須與 MACHINE_TYPE 中的 cpu-count 值相符。
  • 如要從 C4A 更新至 N2,您必須更新 MACHINE_TYPECPU_COUNT,其中 CPU_COUNT 必須與 MACHINE_TYPE 中的 cpu-count 值相符。

C4A 支援下列地區:

  • asia-east1
  • asia-southeast1
  • europe-west1
  • europe-west2
  • europe-west3
  • europe-west4
  • us-central1
  • us-east1
  • us-east4

使用 1 個 vCPU 機器類型時的注意事項

AlloyDB 提供搭載 C4A 的 1 個 vCPU 機器類型,僅適用於開發和沙箱用途。如為實際工作環境工作負載,請選擇 2 個以上的 vCPU。

選擇 1 個 vCPU 時,請注意下列限制:

  • 1 個 vCPU 搭配 8 GB 記憶體,不支援超快速快取。
  • 如果資料庫大小為數十 GB,建議在開發和沙箱環境中使用 1 個 vCPU 的設定。如果是較大的資料庫和實際工作環境工作負載,建議使用 2 個以上的 vCPU。
  • 您可以設定高可用性 (HA),但我們不提供運作時間服務水準協議。
  • C4A 機器的 1 個 vCPU、48 個 vCPU 和 72 個 vCPU 不支援就地升級主要版本。建議您考慮其他升級方法,例如傾印及還原,或先擴充資源,再啟動就地升級。
  • 請參閱 C4A 支援的區域,瞭解可在何處部署 1 個 vCPU。

後續步驟