前言
RDS,Relational Database Service,一般来说,小公司使用的多半是Mysql或者Mysql家族的产品。目前,随着云服务器的普及,RDS我一般会选择大厂提供的线上服务。这样一方面可以得到稳定的服务,另外一方面也省去了一部分DBA或者数据库运维的费用(例如,大厂的RDS会默认提供数据库主从分离的功能)。
之前,我一直用阿里云的RDS。阿里云的RDS给人的体验非常好。现在因为业务线的调整,需要使用AWS,于是,数据库也就自然而然的转移到了AWS-RDS上。本文,就是关于AWS-RDS的一份运维日记,记录下来,已被日后查阅。
步骤与说明
AWS-RDS的申请基本上经历如下几个步骤,创建aws账户、申请rds实例、配置实例、数据迁移。接下来,我就按照如下的顺序,对我的工作进行记录。
创建AWS账户
登录aws.amazon.com进行申请。基本上就是一路下一步就可以了,在此不做展开说明。
实例与创建数据库
在创建RDS实例之前,我要先唠叨几句。
RDS实例有一个免费体验版本,该版本提供的资源配置是,1核1GB。如果只是想体验该服务的话,可以直接选择这个版本。
上图展示了如何找到开启RDS实例的页面。鼠标滑动到服务按钮的上方,就会下拉出服务列表,红圈处就是RDS。点击【RDS】进入服务页面。
RDS服务页面展示了目前已经申请的RDS资源。点击【实例】进入,RDS实例申请与管理页面。
目前,我尚未申请RDS实例资源,点击【创建数据库】,申请RDS实例资源。此处又分为4个子步骤,分别是选择引擎、制定数据库详细信息、高级设置,我们分别详细说明。
选择引擎
简单说明一下,MySQL 是全球最受欢迎的开源数据库。MySQL on RDS 不仅拥有 MySQL 社区版的丰富功能,还具有为数据库轻松扩展计算资源或存储容量的灵活性。MySQL的有点如下:
- 支持高达 16 TiB 的数据库大小。
- 实例提供多达 32 个 vCPU 和 244 GiB 的内存。
- 支持自动备份和时间点恢复。
- 支持跨区域读取副本。
注意:如果勾选了【仅启用符合 RDS 免费使用套餐资格的选项】,将只能选择免费的RDS实例套餐。
另外,【生产 -Amazon Aurora】也是一个不错的选择。该RDS可以大大减少初创企业的生产成本。Amazon Aurora 是一款兼容 MySQL 和 PostgreSQL 的企业级数据库,每天费用起价不到 1$。
- 比 MySQL 高达 5 倍的吞吐量,比 PostgreSQL 高达 3 倍的吞吐量
- 最多 64TiB 自动扩展 SSD 存储
- 在三个可用区内进行 6 路复制
- 最多 15 个只读副本,而副本滞后不超过 10 毫秒
- 自动监控并且在不到 30 秒内进行故障转移
另外,MariaDB Community Edition 是可与 MySQL 兼容的数据库,具有来自开源社区的强大支持以及额外的功能和性能优化。这个是MySql的发明者,自己另起炉灶搞得一个数据库(大家可以自行查阅mysql喝oracle的那些事)
我对于PostgreSQL不太了解,这个需要后续补充。
另外,oracle和sqlserver都是以前给企业级大厂做方案时使用的,对于初创小公司,这个两个db可以不用了解。
制定数据库详细信息
本次申请的RDS是为生产环境准备的RDS,如果选择【生产 - MySQL】,则选择了mysql5.7的最新版本。但是,如果为了压缩成本,可以选择【生产 - Amazon Aurora】,【生产 -Amazon Aurora】兼容了商业mysql,但是成本只是前者的十分之一。另外,IOPS是帮助数据库实例可以支持的每秒 I/O 操作的请求数。为了提高RDS的吞吐性能,建议预制1000以上。
注意:【生产 - MySQL】为了高可用性和快速、一致的性能,会将多可用区部署和预置 IOPS 存储用作默认值。这将增加成本,但是,系统效率更高。
出于成本的考虑,我选择创建【生产 -Amazon Aurora】
首先选择兼容5.7。我们自己的测试环境就是5.7的。然后下一步。
选择数据库的配置信息
创建用户名
之后点击下一步,进入到【配置高级设置】
配置高级设置
此步骤,可以一直下一步即可。
值得注意的地方是要打开日志。
最后选择【创建数据库实例】即可。这样rds就创建完毕了。
费用介绍
我们的服务器在【首尔】,费用列表如下:
目前,还没有正式上生产,如果正式上生产,可以考虑做费用的预付费处理。可以节省大量资金。
RDS的使用
创建完成数据库之后,会在实例列表处,查看到数据库列表。
两个数据库实例,一个是负责写入的数据库,一个是负责查询的数据库。(RDS默认做好主从)
我们使用的时候,只需要对写入的数据库
访问权限
数据库如果应用于生产环境,那么就要关闭外网访问权限。目前,我正在进行调试,因此,需要打开【公开访问】,如果生产环境上线,需要调整为禁止公开访问。
登录数据库
目前,RDS可以公开访问,因此,我是用了 Navicat直接进行数据库的登录。如果,不能公开访问,请使用【隧道】进行相关服务的联通。
另外,主数据库和从数据库都有相关的公网域名和内网域名,登录的时候,要选择好不同的数据库域名。
数据库备份
我使用的是navicat进行数据库的备份。找到已经存在的数据库,点击右键,选择【转存储SQL文件】
这样就会恢复出一份sql脚本。
数据库恢复
选择新建好的空数据库,点击右键,选择【运行SQL文件】,然后把刚才备份好的数据就可以恢复了。
注意:使用外网恢复数据库的速度很慢,如果想要加快速度,请将备份脚本放到内网中。