本頁說明如何在 AlloyDB 叢集中建立主要執行個體。
事前準備
- 您使用的 Google Cloud 專案必須已啟用 AlloyDB 存取權。
- 您必須在使用的 Google Cloud 專案中擁有下列其中一個 IAM 角色:
roles/alloydb.admin
(AlloyDB 管理員預先定義的 IAM 角色)roles/owner
(擁有者基本 IAM 角色)roles/editor
(編輯者基本 IAM 角色)
如果您不具備上述任一角色,請與機構管理員聯絡,並要求存取權。
建立 AlloyDB 主要執行個體
主控台
前往「Clusters」(叢集) 頁面。
在「資源名稱」欄中,按一下叢集。
在「總覽」頁面中,前往「叢集中的執行個體」,然後按一下「建立主要執行個體」。
設定主要執行個體:
- 在「Instance ID」(執行個體 ID) 欄位中,輸入主要執行個體的 ID。
- 在「可用區可用性」下方,選取下列任一選項:
- 如要建立高可用性的正式環境執行個體,並自動進行容錯移轉,請選取「多個可用區 (高可用性)」。
- 如要建立不需要高可用性的基本執行個體,請選取「單一可用區」。
選取下列其中一個機器系列:
- C4A (Google Axion 型機器系列)
- N2 (x86 型機器系列)。這是預設機器系列。
選取機型。
- C4A 支援 1、4、8、16、32、48、64 和 72 種機器類型或形狀。
- N2 支援 2、4、8、16、32、64、96 和 128 個機器類型或形狀。
如要進一步瞭解如何使用 C4A Axion 型機器系列 (包括 1 個 vCPU 的機器類型),請參閱「使用 C4A Axion 型機器系列時的注意事項」。
選用:如要透過公開網際網路連結應用程式和用戶端,請勾選「公開 IP 連線能力」下方的「啟用公開 IP」方塊。啟用公開 IP 可能需要額外設定,才能確保連線安全無虞。詳情請參閱「使用公開 IP 連線」。
私人 IP 預設為啟用狀態,詳情請參閱「啟用私人服務存取權」。
選用:如要啟用及使用代管連線集區,請勾選「代管連線集區」下方的「啟用代管連線集區」方塊。詳情請參閱「設定受管理的連線集區」。
選用:如要為執行個體設定自訂旗標,請展開「進階設定選項」,然後針對每個旗標執行下列操作:
- 按一下「新增旗標」。
- 從「New database flag」(新的資料庫標記) 清單中選取標記。
- 提供旗標值。
- 按一下 [完成]。
選用:如要在執行個體上設定 SSL 或連接器需求,請展開「進階設定選項」,然後執行下列操作:
- 根據預設,AlloyDB 執行個體會要求所有連線都使用 SSL 加密。如要允許非 SSL 連線,請取消勾選「僅允許 SSL 連線」核取方塊。
- 如要規定連線至執行個體的所有資料庫連線都必須使用 AlloyDB Auth Proxy 或 Google 提供的安全連接器程式庫,請選取「需要連接器」。
點選「建立執行個體」。
gcloud
如要使用 gcloud CLI,您可以安裝及初始化 Google Cloud CLI,也可以使用 Cloud Shell。
使用 gcloud alloydb instances create
指令建立主要執行個體。
gcloud alloydb instances create INSTANCE_ID \
--instance-type=PRIMARY \
--availability-type=AVAILABILITY \
--region=REGION_ID \
--cluster=CLUSTER_ID \
--cpu-count=CPU_COUNT \
--machine-type=MACHINE_TYPE \
--project=PROJECT_ID
INSTANCE_ID
:您要建立的執行個體 ID。 只能使用小寫英文字母、數字和連字號,而且開頭須為小寫英文字母。AVAILABILITY
:這個執行個體是否應具備高可用性 (HA),且節點位於多個可用區。有效值包括:REGIONAL
:建立 HA 執行個體,其中包含個別的現用和待命節點,並在這兩個節點之間自動容錯移轉。這是預設值,適合用於正式環境。ZONAL
:建立基本執行個體,只包含一個節點,且沒有自動容錯移轉功能。
REGION_ID
:您希望執行個體所在的區域。例如:us-central1
。CLUSTER_ID
:您要在其中放置執行個體的叢集 ID。CPU_COUNT
:您希望執行個體使用的 vCPU 數量。- 你必須指定
cpu_count
或machine_type
。 - 如果只提供
cpu_count
,系統會建立 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
和cpu_count
,則cpu_count
值必須與machine_type
中指定的 vCPU 數量一致。舉例來說,如果machine_type
是n2-highmem-4
,則必須將cpu_count
設為4
。
- 你必須指定
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
同時使用
machine_type
和cpu_count
時,cpu_count
和machine_type
中的值必須相符。舉例來說,如果machine_type
是n2-highmem-4
,則必須將cpu_count
設為4
。
PROJECT_ID
:叢集所在的專案 ID。
根據預設,新執行個體會要求所有連線都使用 SSL 加密。如要允許非安全資料傳輸層 (SSL) 連線至執行個體,請在指令中新增 --ssl-mode=ALLOW_UNENCRYPTED_AND_ENCRYPTED
旗標:
gcloud alloydb instances create INSTANCE_ID \
--instance-type=PRIMARY \
--region=REGION_ID \
--cluster=CLUSTER_ID \
--project=PROJECT_ID \
--cpu-count=CPU_COUNT \
--machine-type=MACHINE_TYPE \
--ssl-mode=ALLOW_UNENCRYPTED_AND_ENCRYPTED
如要透過 Auth Proxy 或使用 Google 提供連接器程式庫的其他應用程式,強制執行用戶端與 AlloyDB 執行個體之間的連線安全,請在指令中加入 --require-connectors
旗標:
gcloud alloydb instances create INSTANCE_ID \
--instance-type=PRIMARY \
--region=REGION_ID \
--cluster=CLUSTER_ID \
--cpu-count=CPU_COUNT \
--machine-type=MACHINE_TYPE \
--project=PROJECT_ID \
--require-connectors
如要在 AlloyDB 執行個體中啟用代管連線集區,請在 gcloud alloydb instances create
指令中新增 --enable-connection-pooling
旗標:
gcloud alloydb instances create INSTANCE_ID \
--instance-type=PRIMARY \
--region=REGION_ID \
--cluster=CLUSTER_ID \
--cpu-count=CPU_COUNT \
--machine-type=MACHINE_TYPE \
--project=PROJECT_ID \
--enable-connection-pooling
您也可以建立啟用 Private Service Connect 的 AlloyDB 執行個體。如要瞭解如何為啟用 Private Service Connect 的叢集建立主要執行個體,請參閱「建立 AlloyDB 執行個體」。
Terraform
建立執行個體
如要在資料庫叢集中建立執行個體,請使用 Terraform 資源。
resource "google_alloydb_instance" "default" { cluster = google_alloydb_cluster.default.name instance_id = "alloydb-instance" instance_type = "PRIMARY" machine_config { cpu_count = 2 } depends_on = [google_service_networking_connection.vpc_connection] } resource "google_alloydb_cluster" "default" { cluster_id = "alloydb-cluster" location = "us-central1" network_config { network = google_compute_network.default.id } initial_user { password = "alloydb-cluster" } } data "google_project" "project" {} resource "google_compute_network" "default" { name = "alloydb-network" } resource "google_compute_global_address" "private_ip_alloc" { name = "alloydb-cluster" address_type = "INTERNAL" purpose = "VPC_PEERING" prefix_length = 16 network = google_compute_network.default.id } resource "google_service_networking_connection" "vpc_connection" { network = google_compute_network.default.id service = "servicenetworking.googleapis.com" reserved_peering_ranges = [google_compute_global_address.private_ip_alloc.name] }
在上例中,系統會建立 N2 執行個體。如要建立 C4A 例項,請使用 machine_config
結構中的 machine_type
欄位,如下列範例所示:
machine_config { machine_type = "c4a-highmem-4-lssd" }
準備 Cloud Shell
如要在 Google Cloud 專案中套用 Terraform 設定,請按照下列步驟準備 Cloud Shell:
- 啟動 Cloud Shell。
設定要套用 Terraform 設定的預設 Google Cloud 專案。
每個專案只需要執行一次這個指令,而且可以在任何目錄中執行。
export GOOGLE_CLOUD_PROJECT=PROJECT_ID
如果您在 Terraform 設定檔中設定明確值,環境變數就會遭到覆寫。
準備目錄
每個 Terraform 設定檔都必須有自己的目錄,也稱為「根模組」。
- 在 Cloud Shell 中建立目錄,並在該目錄中建立新檔案。檔案名稱必須是 TF 檔案,例如
main.tf
。在本文件中,這個檔案稱為main.tf
。mkdir DIRECTORY && cd DIRECTORY && touch main.tf
- 將範例程式碼複製到新建立的
main.tf
。 視需要從 GitHub 複製程式碼。如果 Terraform 程式碼片段是端對端解決方案的一部分,建議使用這個方法。git clone https://github.com/terraform-google-modules/terraform-docs-samples
- 在
terraform-docs-samples
目錄中,前往alloydb
目錄。cd terraform-docs-samples/alloydb
- 將範例程式碼複製到新建立的
main.tf
。 將cp SAMPLE_FILE
<var>SAMPLE_FILE</var>
替換為要複製的範例檔案名稱,例如main.tf
。 - 查看並修改範例參數,套用至您的環境。
- 儲存變更。
- 初始化 Terraform。每個目錄只需執行一次這項操作。
選用:如要使用最新版 Google 供應商,請加入terraform init
-upgrade
選項:terraform init -upgrade
套用變更
- 檢查設定,確認 Terraform 更新符合您的預期:
視需要修正設定。terraform plan
- 執行下列指令,並在提示中輸入
yes
,即可套用 Terraform 設定: 等待 Terraform 顯示terraform apply
Apply complete!
訊息。
開啟 Google Cloud 專案即可查看結果。在 Google Cloud 控制台中,前往 UI 中的資源,確認 Terraform 已建立或更新這些資源。
REST v1
建立執行個體
這個範例會建立主要執行個體。如需此呼叫的完整參數清單,請參閱「方法:projects.locations.clusters.instances.create」。如要瞭解叢集設定,請參閱「查看叢集和執行個體設定」。
請勿在叢集 ID 中加入敏感資訊或個人識別資訊,因為外部使用者可以看見此 ID。您不需要在叢集名稱中加入專案 ID,因為系統會在適當地方自動加入,例如記錄檔。
如要傳送要求,請將要求主體儲存在名為 instance_request.json
的檔案。
{ "instance_type": "PRIMARY", "machine_config": { "cpu_count": "vCPU_COUNT", }, }
請進行下列替換:
CPU_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