本页介绍了如何在 AlloyDB 集群中创建主实例。
准备工作
- 您使用的 Google Cloud 项目必须已启用对 AlloyDB 的访问权限。
- 您必须在所使用的 Google Cloud 项目中拥有以下 IAM 角色之一:
roles/alloydb.admin
(AlloyDB 管理员预定义 IAM 角色)roles/owner
(Owner 基本 IAM 角色)roles/editor
(Editor 基本 IAM 角色)
如果您不具备上述任何角色,请与您的 Organization Administrator 联系以请求访问权限。
创建 AlloyDB 主实例
控制台
前往集群页面。
点击资源名称列中的某个集群。
在概览页面中,前往集群中的实例,然后点击创建主实例。
配置主实例:
- 在实例 ID 字段中,输入主实例的 ID。
- 在可用区级可用性下,选择以下选项之一:
- 如需创建具有自动故障切换的高可用生产实例,请选择多个可用区(高可用)。
- 如需创建不需要高可用性的基本实例,请选择单个可用区。
- 选择机器类型。
- 可选:如需为实例设置自定义标志,请展开高级配置选项,然后针对每个标志执行以下操作:
- 点击添加标志。
- 从新数据库标志列表中选择一个标志。
- 为标志提供值。
- 点击完成。
- 可选:如需在实例上配置 SSL 或连接器要求,请展开高级配置选项,然后执行以下操作:
- 默认情况下,AlloyDB 实例要求所有连接都使用 SSL 加密。如需允许非 SSL 连接,请清除仅允许 SSL 连接复选框。
- 如需要求与实例的所有数据库连接都使用 AlloyDB Auth Proxy 或 Google 提供的安全连接器库,请选择 Require connectors。
- 点击创建实例。
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 RAM4
:4 个 vCPU,32 GB RAM8
:8 个 vCPU,64 GB RAM16
:16 个 vCPU,128 GB RAM32
:32 个 vCPU,256 GB RAM64
:64 个 vCPU,512 GB RAM96
:96 个 vCPU,768 GB RAM128
: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-1
、12345
、my-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-1
、12345
、my-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:
- 启动 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 控制台中,在界面中找到资源,以确保 Terraform 已创建或更新它们。