创建主实例

本页介绍了如何在 AlloyDB 集群中创建主实例。

准备工作

  • 您使用的 Google Cloud 项目必须已启用对 AlloyDB 的访问权限
  • 您必须在所使用的 Google Cloud 项目中拥有以下 IAM 角色之一:
    • roles/alloydb.admin(AlloyDB 管理员预定义 IAM 角色)
    • roles/owner(Owner 基本 IAM 角色)
    • roles/editor(Editor 基本 IAM 角色)

    如果您不具备上述任何角色,请与您的 Organization Administrator 联系以请求访问权限。

创建 AlloyDB 主实例

控制台

  1. 前往集群页面。

    转到集群

  2. 点击资源名称列中的某个集群。

  3. 概览页面中,前往集群中的实例,然后点击创建主实例

  4. 配置主实例:

    1. 实例 ID 字段中,输入主实例的 ID。
    2. 可用区级可用性下,选择以下选项之一:
      1. 如需创建具有自动故障切换的高可用生产实例,请选择多个可用区(高可用)
      2. 如需创建不需要高可用性的基本实例,请选择单个可用区
    3. 选择机器类型。
    4. 可选:如需为实例设置自定义标志,请展开高级配置选项,然后针对每个标志执行以下操作:
      1. 点击添加标志
      2. 新数据库标志列表中选择一个标志。
      3. 为标志提供值。
      4. 点击完成
    5. 可选:如需在实例上配置 SSL 或连接器要求,请展开高级配置选项,然后执行以下操作:
      1. 默认情况下,AlloyDB 实例要求所有连接都使用 SSL 加密。如需允许非 SSL 连接,请清除仅允许 SSL 连接复选框。
      2. 如需要求与实例的所有数据库连接都使用 AlloyDB Auth Proxy 或 Google 提供的安全连接器库,请选择 Require connectors
    6. 点击创建实例

gcloud

如需使用 gcloud CLI,您可以安装并初始化 Google Cloud CLI,也可以使用 Cloud Shell

使用 gcloud alloydb instances create 命令创建主实例。

gcloud alloydb instances create INSTANCE_ID \
    --instance-type=PRIMARY \
    --cpu-count=CPU_COUNT \
    --availability-type=AVAILABILITY \
    --region=REGION_ID \
    --cluster=CLUSTER_ID \
    --project=PROJECT_ID
  • INSTANCE_ID:您要创建的实例的 ID。必须以小写字母开头,可以包含小写字母、数字和连字符。
  • CPU_COUNT:您希望实例具有的 vCPU 数量。有效值包括:
    • 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
  • AVAILABILITY:此实例是否应具有高可用性 (HA),并在多个可用区中部署节点。有效值包括:
    • REGIONAL:创建具有单独主动节点和备用节点的高可用性实例,并在两者之间实现自动故障切换。这是默认值,适用于生产环境。
    • ZONAL:创建一个基本实例,其中仅包含一个节点,且不进行自动故障切换。
  • REGION_ID:您希望实例放置的区域。例如 us-central1
  • CLUSTER_ID:您希望将实例放置到的集群的 ID。
  • PROJECT_ID:集群所在的项目的 ID。

默认情况下,新实例要求所有连接都使用 SSL 加密。如需允许与实例建立非 SSL 连接,请在命令中添加 --ssl-mode=ALLOW_UNENCRYPTED_AND_ENCRYPTED 标志:

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

如需通过 Auth Proxy 或使用 Google 提供的连接器库的其他应用强制在客户端与 AlloyDB 实例之间建立安全连接,请将 --require-connectors 标志添加到命令中:

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

如需为启用了 Private Service Connect 的集群创建主实例,请添加 --allowed-psc-projects 标志,以设置您要允许访问实例的项目 ID 或项目编号的逗号分隔列表,例如 my-project-112345my-project-n

gcloud alloydb instances create INSTANCE_ID \
    --instance-type=PRIMARY \
    --cpu-count=CPU_COUNT \
    --region=REGION_ID \
    --cluster=CLUSTER_ID \
    --project=PROJECT_ID \
    --allowed-psc-projects=ALLOWED_PROJECT_LIST

替换以下内容:

  • ALLOWED_PROJECT_LIST(可选):您要允许访问实例的项目 ID 或项目编号的逗号分隔列表,例如 my-project-112345my-project-n。如果您的集群使用 Private Service Connect 作为连接到实例的方法,您必须设置允许的项目或编号列表。

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]
}

准备 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 代码段,则建议这样做。
    git clone https://github.com/terraform-google-modules/terraform-docs-samples
  3. terraform-docs-samples 目录中,前往 alloydb 目录。
    cd terraform-docs-samples/alloydb
  4. 将示例代码复制到新创建的 main.tf 中。
    cp SAMPLE_FILE
    <var>SAMPLE_FILE</var> 替换为要复制的示例文件的名称,例如 main.tf
  5. 查看和修改要应用到您的环境的示例参数。
  6. 保存更改。
  7. 初始化 Terraform。您只需为每个目录执行一次此操作。
    terraform init
    可选:如需使用最新的 Google 提供程序版本,请添加 -upgrade 选项:
    terraform init -upgrade

应用更改

  1. 查看配置,确认 Terraform 更新是否符合您的预期:
    terraform plan
    根据需要更正配置。
  2. 通过运行以下命令并在提示符处输入 yes 来应用 Terraform 配置:
    terraform apply
    等待 Terraform 显示 Apply complete! 消息。

打开您的 Google Cloud 项目以查看结果。在 Google Cloud 控制台中,在界面中找到资源,以确保 Terraform 已创建或更新它们。

后续步骤