本页面介绍如何对实例进行高可用性配置。
您可以在创建实例时对实例进行高可用性配置,也可以为现有实例启用高可用性。
如需详细了解高可用性,请参阅高可用性配置概览。
创建采用高可用性配置的新实例
在创建实例并为其采用高可用性配置时,Cloud SQL 会将其创建为区域实例。
要创建采用高可用性配置的实例,请按照如下所述操作:
控制台
-
在 Google Cloud 控制台中,前往 Cloud SQL 实例页面。
- 选择创建实例。
- 选择数据库引擎。
- 在选择区域和可用区可用性部分,选择多个可用区(高可用性)。
- 展开指定可用区。
- 选择主要和次要可用区。在创建或修改实例期间使用次要可用区时,适用以下条件:
- 主要可用区默认为
Any,次要可用区默认为Any (different from primary)。
如果同时指定主要可用区和次要可用区,则它们必须是不同的可用区。
- 主要可用区默认为
- 点击保存。
更新实例时,您会返回到主实例的实例页面。
gcloud
- 创建区域性实例:
gcloud sql instances create REGIONAL_INSTANCE_NAME \ --availability-type=REGIONAL \ --database-version=SQLSERVER_2017_STANDARD \ --cpu=NUMBER_CPUS \ --memory=MEMORY_SIZE
- 配置根用户:
gcloud sql users set-password root no-host \ --instance=REGIONAL_INSTANCE_NAME \ --password=PASSWORD
Terraform
如需创建高可用性实例,请使用 Terraform 资源。
应用更改
如需在 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 代码段,则建议这样做。
- 查看和修改要应用到您的环境的示例参数。
- 保存更改。
-
初始化 Terraform。您只需为每个目录执行一次此操作。
terraform init
(可选)如需使用最新的 Google 提供程序版本,请添加
-upgrade选项:terraform init -upgrade
应用更改
-
查看配置并验证 Terraform 将创建或更新的资源是否符合您的预期:
terraform plan
根据需要更正配置。
-
通过运行以下命令并在提示符处输入
yes来应用 Terraform 配置:terraform apply
等待 Terraform 显示“应用完成!”消息。
- 打开您的 Google Cloud 项目以查看结果。在 Google Cloud 控制台的界面中找到资源,以确保 Terraform 已创建或更新它们。
删除更改
如需删除更改,请执行以下操作:
- 如需停用防删除保护,请在 Terraform 配置文件中将
deletion_protection参数设置为false。deletion_protection = "false"
- 运行以下命令并在提示符处输入
yes,以应用更新后的 Terraform 配置:terraform apply
-
运行以下命令并在提示符处输入
yes,以移除之前使用 Terraform 配置应用的资源:terraform destroy
REST v1
如需查看该请求的完整参数列表,请参阅 instances:insert 页面。创建区域实例。
-
在使用任何请求数据之前,请先进行以下替换:
- project-id:项目 ID
- instance-name:实例名称
- database-version:数据库版本枚举字符串
- region:GCP 区域
- machine-type:机器类型
HTTP 方法和网址:
POST https://sqladmin.googleapis.com/v1/projects/project-id/instances
请求 JSON 正文:
{ "name": "instance-name", "region": "region", "databaseVersion": "database-version", "settings": { "tier": "machine-type", "backupConfiguration": { "enabled": true }, "availabilityType": "REGIONAL" } }如需发送您的请求,请展开以下选项之一: