更新时间:2022-02-10 GMT+08:00

增加只读实例

应用场景

在对数据库有少量写请求,但有大量读请求的应用场景下,单个实例可能无法抵抗读取压力,甚至对主业务产生影响。为了实现读取能力的弹性扩展,分担数据库压力,您可以在某个区域中创建一个或多个只读实例,利用只读实例满足大量的数据库读取需求,以此增加应用的吞吐量。主实例和只读实例之间的数据同步不受网络延时的影响,只读实例跟主实例在同一区域,但可以在不同的可用区。以下教程将指导您如何通过Terraform脚本创建一个RDS只读实例 。

操作步骤

  1. 创建MySQL数据库,请参考创建MySQL数据库
  2. 以MySQL为例,演示为RDS创建只读副本。

    data "huaweicloud_availability_zones" "myaz" {}
    
    resource "huaweicloud_rds_read_replica_instance" "myreplica" {
      name                = "myreplica"
      flavor              = "rds.mysql.c2.large.rr"
      primary_instance_id = huaweicloud_rds_instance.myinstance.id
      availability_zone   = data.huaweicloud_availability_zones.myaz.names[1]
    
      volume {
        type = "ULTRAHIGH"
      }
      tags = {
        type = "readonly"
      }
    }
    1. 运行 terraform plan 查看资源。
    2. 确认资源无误后,运行 terraform apply 开始创建。
    3. 运行 terraform show 可以查看已创建的RDS只读实例信息。

表1 参数说明

资源名称

参数名称

参数说明

huaweicloud_rds_read_replica_instance

name

(必填)只读实例名称

  • 约束:4~64个字符之间,必须以字母开头,区分大小写,可以包含字母、数字、中划线或者下划线,不能包含其他的特殊字符

flavor

(必填)数据库只读实例规格,本教程使用"rds.mysql.c2.large.rr",实例规格信息也可以通过huaweicloud_rds_flavors查询。

primary_instance_id

(必填)主实例ID

availability_zone

(必填)只读实例所在可用区,请参见地区和终端节点

tags

(可选)实例标签

volume

type

(必填)数据库只读实例磁盘类型

  • 取值范围:

    ULTRAHIGH,表示SSD;

    ULTRAHIGHPRO,表示SSD尊享版,仅支持超高性能型尊享版