云数据库RDS
Web+提供了对云数据库RDS资源的编排功能,通过配置数据库类型、数据库版本和存储类型等参数可实现将RDS实例添加至您的部署环境。
背景信息
您可以通过Web+代购RDS实例或导入已有RDS实例来使用RDS。为保障数据安全性,在Web+内释放部署环境时不会自动释放RDS实例,您可以登录RDS控制台进行数据备份及实例释放操作。
为保障数据安全性,Web+使用阿里云KMS服务来加密您的数据库密钥,Web+为您创建的KMS密钥是免费的。KMS服务API调用每位用户每个月有20000次免费额度,您在Web+上每次变更会调用2~3次API,因此免费额度可以支持您每月进行6000多次发布。当KMS API使用量超出后,将会收取0.6元/万次的费用。
RDS配置项说明
开启RDS
打开开启开关即可开启RDS功能。
- 代购RDS实例:该选项将新建RDS实例,那么Web+将会自动为您代购RDS实例并进行数据库、账号及密码配置。您可以进一步选择按量付费或包年包月付费模式。按量付费模式实例按使用量进行后付费,适用于短期使用场景;包年包月模式实例按预付费时长进行付费,价格相对更便宜,适用于长期使用场景。RDS的计费方式与收费项可参考计费方式与收费项。
- 导入RDS实例:如果您在使用Web+之前已经创建过RDS实例,那么您可以直接导入RDS实例进行使用。使用已有RDS实例时您无需提供实例规格、数据库类型及版本、存储类型及大小等需在代购RDS时需配置的参数。
关闭RDS
关闭开关即可关闭RDS功能。
注意:当您关闭RDS时,为保证数据安全性,Web+不会自动释放RDS实例,您可以登录RDS控制台进行数据备份及实例释放操作。
数据库类型及版本
RDS支持创建MySQL、SQL Server、PostgreSQL、PPAS和MariaDB TX类型数据库引擎,每种类型数据库引擎都有若干种版本可以选择,您可根据自己需要来选取相应数据库引擎。关于各个引擎的介绍,可参见数据库引擎。
系列
- 基础版:单节点实例,采用计算与存储分离的架构,可实现超高的性价比。
- 高可用版:采用一主一备的经典高可用架构,适合80%以上的用户场景。
- 集群版:适用于SQL Server 2017企业版,基于AlwaysOn技术实现,最大支持一主一备高可用架构和七个只读实例,支持横向扩展集群读能力。 购买时默认为高可用架构(仅包括主实例和备实例,没有只读实例)。
- 金融版:采用一主两备的三节点架构,通过多副本同步复制,确保数据的强一致性,提供金融级的可靠性。
存储类型及大小
- 本地SSD盘(推荐):本地SSD盘是指与数据库引擎位于同一节点的SSD盘。将数据存储于本地SSD盘,可以降低I/O延时。
- SSD云盘:是指基于分布式存储架构的弹性块存储设备。将数据存储于SSD云盘,即实现了计算与存储分离。
- ESSD云盘:增强型(Enhanced)SSD云盘,是阿里云全新推出的超高性能云盘产品。ESSD云盘基于新一代分布式块存储架构,结合25GE网络和RDMA技术,为您提供单盘高达100万的随机读写能力和更低的单路时延能力。
选择完存储类型后,您可以设置存储空间的大小。
可用区及交换机
可用区是指在某个地域内拥有独立电力和网络的物理区域,交换机则指定在相应可用区内RDS所在的交换机。在同一地域内多个可用区采用高速链路互通,您可以选择将RDS与应用软件的ECS创建在同一可用区或不同的可用区,因为同一地域的不同可用区之间没有实质性区别。
RDS实例规格
- 通用型:RDS独享被分配的内存和I/O资源,与同一物理机上的其他通用型实例共享CPU和存储资源;
- 独享型:RDS具有完全独享的CPU、内存、存储和I/O资源,性能长期稳定,不会因为物理机上其它实例的行为而受到影响;独享型的顶配是独占物理机型,也称为独占主机型,完全独占一台物理机的所有资源。
数据库
您需要在Web+上输入数据库库名。在代购场景下,如果RDS实例上没有此数据库,Web+将会自动为您创建;在导入已有RDS场景下,您需要自己保证该RDS实例上存在相应的数据库。
数据库账号及密码
您需要在Web+上提供数据库账号及密码。在代购场景下,如果RDS实例上没有此账号,Web+将会自动为您创建该账号;在导入已有RDS场景下,您需要自己保证该RDS实例上存在相应的账号,并正确设置账号权限。
使用CLI配置RDS
CLI配置RDS需要通过Wpfile文件来进行,您可以通过wpctl dump命令来获取部署环境的Wpfile文件。同时可以增加、修改或删除RDS的配置项,然后通过apply命令使其生效。
Wpfile文件中RDS配置项归类在resources.rds下,配置项含义为:
配置项 | 有效值 | 默认值 | 描述 |
---|---|---|---|
enable | true / false | false | 是否启用RDS |
imported | true / false | false | 是否使用已有RDS |
rdsId | 有效的RDS实例ID | 无 | RDS实例ID。在导入已有RDS场景下,需要提供此配置项来指明导入的RDS。 |
zoneId | 有效的RDS可用区ID | 无 | RDS可用区ID。可通过RDS的DescribeRegions接口来获取有效的RDS可用区。 |
instanceChargeType | PrePaid / PostPaid | PostPaid | 实例付费方式 |
periodUnit | Month / Year | Month | 包年包月实例时长单位 |
period |
|
1 | 包年包月实例时长 |
VSwitches | 交换机ID | 无 | 指定RDS所在可用区的交换机。 |
engine | 数据库类型,取值:MySQL ;SQLServer ;PostgreSQL ;PPAS ;MariaDB 。 | 无 | 数据库类型 |
engineVersion | 数据库版本,取值:
|
无 | 数据库版本 |
storageType | 实例存储类型,取值:
|
无 | 存储类型 |
storageSize | 整数 | 100 | 存储大小,单位G |
dbInstanceClass | 有效的实例规格 | 无 | 实例规格,有效值详见实例规格表 。 |
databaseName | 字符串 | webplus | 数据库名 |
characterSetName | 字符集,取值:
|
|
字符集 |
accountName | 字符串 | webplus | 数据库账号 |
accountPassword | 字符串 | 无 | 数据库账号密码 |
category | 实例系列,取值:
|
无 | 数据库实例系列 |
在应用进程中使用RDS
- WP_RDS_ENGINE:数据库类型,例如MySQL。
- WP_RDS_CONNECTION_ADDRESS:数据库连接地址,例如rm-xxxx.mysql.rds.aliyuncs.com。
- WP_RDS_PORT:数据库连接端口,例如3306。
- WP_RDS_ACCOUNT_NAME:数据库账号名。
- WP_RDS_ACCOUNT_PASSWORD:数据库密码。
- WP_RDS_DATABASE:数据库名。
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。
评论