企业运维训练营之数据库原理与实践— RDS基础概念介绍—RDS基础概念介绍(中)

本文涉及的产品
云数据库 RDS MySQL,集群版 2核4GB 100GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
日志服务 SLS,月写入数据量 50GB 1个月
简介: 企业运维训练营之数据库原理与实践— RDS基础概念介绍—RDS基础概念介绍(中)

接上篇:https://developer.aliyun.com/article/1225652?spm=a2c6h.13148508.setting.14.187d4f0efY6Nsuimage.png

 

云RDS数据库存储经历了从本地SSD盘到SSD云盘到ESSD云盘的发展历程。 ESSD云盘又经历了PL1、PL2、PL3的迭代,性能越来越好。未来,我们也在计划实现PL-X系列,能够做到与本地盘的IO延迟基本持平。

 

今年下半年,我们已经在推动SSD云盘下线,建议用户将SSD云盘的实例主动升级到ESC云盘,因为SSD云盘不支持在线扩容。

 

本地SSD盘的磁盘与数据库引擎部署在同一节点的同一台主机上。在所有存储类型中,其IO延迟最低,性能最好。做变配存储资源不足时,需要进行跨机迁移,迁移时间与存储大小相关。存储使用量越大,跨机迁移时间越长。而如果本地有资源,则变配耗时相对较短。如果不知道此次变配是本机变配还是跨机变配,可以提供工单咨询确认。

 

SSD云盘和ESSD云盘均采用分布式存储架构的弹性块存储设备,实现了计算节点与存储分离的架构,但会导致IO延迟增加。而ESSD云盘PL-X能够支持RDS、MySQL、PG与MariaDB在线升级、秒级扩容,SQL Server可低至分钟级,对业务无感。

 

本地盘增加只读实例时,需要拷贝全量数据,再追加增量的Binlog,所需时间较久。而在ESSD云盘上,增加一个只读节点仅需半个小时以内,相对于本地盘的时间大幅节省。备份方面,云盘只能做快照备份,无法下载快照备份文件,但可以下载物理备份文件用于本地恢复。

 

image.png

 

数据库存储着一个公司的核心数据,因此数据库安全至关重要。维护数据库安全可以分为事前防御与事后审计。

 

事前防御方面,首先,我们提供了数据库账号密码的防护。RDS数据库上的账号分为高权账号与普通账号。高权账号只能通过控制台或API的方式创建,它并不是普通数据库上的最高权限账号,比如,它并不等同于MySQL上的root@localhost。云上数据库的高权账号可以断开其他任意非内置账号的数据库连接或可以创建其他普通账号并对其授权。

 

但是在业务管控上建议仅将高权账号授予某一个人或某一个组管理,不应让过多人使用高权账号。比如实际业务上不建议使用高权账号,而是应创建普通账号,合理授权,按照最小化授权的方式使用。

 

白名单安全组定义了哪些IP或安全组内的ECS可以访问RDS,即定义了访问源。注意,需要避免白名单与安全组开放过大,导致变相地将RDS暴露在过多的客户端面前,造成安全隐患。比如在生产上,不建议将白名单设置为0.0.0.0/0,会造成访问没有限制。

 

在一些场景中比如ECS被黑,可能通过抓包分析程序所用的连接数据库的账号,分析数据库相关的SQL,通过这些特征提取导致数据库账号被暴力破解,或通过SQL注入的方式危害数据库的安全。通过SSL加密连接,可以保证程序到RDS之间的链路安全。但是需要注意开通SSL加密会造成RDS CPU资源开销的增加,而且需要定期更新证书。

 

在存储加密上,对云盘的实例可以使用SSD云盘存储加密,本地盘的实例可以开启TDE实现表级别的加密。存储加密可以保证即使数据备份泄露,他人也无法解密,保护了数据安全。

 

阿里云账号分为主账号与子账号,在管理云上数据库资源或其他资源时,主账号拥有全部账号的权限。保护好主账号后,可以在子账号上利用RAM授权,使特定的人管理特定的资源。比如DBA团队可以创建子账号,授予其管理RDS的权限等。

 

事后审计方面,云RDS数据库提供了SQL洞察日志的审计、云监控告警、控制台操作审计与日志管理的功能。SQL洞察可以审计所有SQL操作记录,适用于需要追溯SQL执行情况的场景,执行成功和失败的SQL都会被记录。但是需要注意当RDS实例本身出现了OOM或踩到bug发生crash,导致MySQL进程或PG进程异常退出,此时SQL还未来得及写入审计日志,因此该类SQL很可能不会被记录。

 

通过云监控告警,可以在CPU打满或发生HA时收到相关告警信息,及时介入。控制台操作审计主要审计控制台上的操作记录,针对主账号和子账号在控制台的操作信息。开通子账号时,如果为其分配了AK,则需要合理管控子账号。有些客户可能会将AK用于自动化的管理工作,将相关的代码上传到比如Git hub上,可能会被别有用心的人扫描到代码里使用的AK,导致AK泄露之后出现比如实例被删的情况。

 

在日志管理方面,云RDS数据库提供了比如错误日志、慢日志、SQL洞察日志、主备切换日志等能够了解实例运行情况的日志,帮助管理数据库。

 

image.png

 

云RDS数据库整体架构主要分为两条线。

 

其一,应用程序通过域名进行访问。

 

其二,通过WEB控制台或API接口发送指令给RDS完成相关操作。请求发送给后端消息中心,再发送给对应模块,对应模块获取到相关信息之后返回给客户端调用方。比如要通过控制台或API查看慢日志,将API请求发送给消息中心之后,消息中心会从日志系统里捞取相关时间段的日志信息,返回给客户端。

 

HA探测系统会定期探测后端部署在节点上实例的可用性。发现不可用或网络不可达且连续多次探测均如此时,就会下发相应的任务完成HA切换。在MySQL库下面的HA HealthCheck表会定期(一般为15s)往表里写入一条数据,探测数据库是否可写,如果不可写,则进行切换。如果个某节点的物理主机宕机或提交了大事务导致HA探测的语句无法完成binlog落盘,也会导致HA切换。因此,一般在生产业务中要避免大事务的操作。

 

在线迁移系统会定期检测,比如有一主一备两个实例,当备节点不可用时,会发起在线迁移,始终保证系统有一主一备两个实例能够提供高可用的能力。变配也是通过在线迁移系统完成。

 

备份系统会按照每个实例设置的备份频率,定期备份实例的数据。无论是快照备份还是物理备份,一般首先会选择备节点做备份。如果备节点主从延迟很大,则会选择主节点完成备份。

 

进行RDS MySQL备份往往在业务低峰期 ,而此时可能会同时进行运维操作,例如执行DDL变更操作可能会导致备份失败。因此,如果发现备份失败,可以主动尝试发起临时备份任务,以保证当天的备份成功。后续如果需要做快速恢复时,可以寻找最近时间点的备份文件。

 

通过以上一整套系统,可以保证RDS数据库的稳定性与安全性。

 

image.png

 

云数据库RDS的概览页面如上图所示,包含了该账号下RDS实例个数、即将过期个数以及已过期个数、每个地域上有哪些实例。页面上方为消息通知,右侧展示了繁忙实例、空闲实例以及近期重大功能发布。

 

image.png

 

上图为实例列表页面。如果遇到问题,可以将实例ID复制粘贴,提交相关工单反馈进行问题排查。

 

点击实例名称可进入实例详情页面。

 

image.png

 

上图为实例详情页面。

接下篇:https://developer.aliyun.com/article/1225649?spm=a2c6h.13148508.setting.16.187d4f0efY6Nsu

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
27天前
|
SQL 运维 关系型数据库
MySQL数据库运维第一篇(日志与主从复制)
MySQL数据库运维第一篇(日志与主从复制)
|
27天前
|
存储 关系型数据库 MySQL
MySQL数据库进阶第六篇(InnoDB引擎架构,事务原理,MVCC)
MySQL数据库进阶第六篇(InnoDB引擎架构,事务原理,MVCC)
|
26天前
|
SQL 存储 关系型数据库
数据库的基本原理
数据库的基本原理
18 2
|
4天前
|
SQL Java 关系型数据库
Java面试题:描述JDBC的工作原理,包括连接数据库、执行SQL语句等步骤。
Java面试题:描述JDBC的工作原理,包括连接数据库、执行SQL语句等步骤。
14 0
|
12天前
|
SQL 存储 搜索推荐
SQL游标的原理与在数据库操作中的应用
SQL游标的原理与在数据库操作中的应用
|
12天前
|
SQL 存储 Oracle
Oracle数据库中游标的工作原理与优化方法
Oracle数据库中游标的工作原理与优化方法
|
21天前
|
SQL Java 关系型数据库
Java与数据库连接技术JDBC关键核心之PreparedStatement以及SQL注入演示解决和原理
Java与数据库连接技术JDBC关键核心之PreparedStatement以及SQL注入演示解决和原理
14 0
|
9天前
|
存储 关系型数据库 MySQL
探索MySQL:关系型数据库的基石
MySQL,作为全球最流行的开源关系型数据库管理系统(RDBMS)之一,广泛应用于各种Web应用、企业级应用和数据仓库中
|
6天前
|
关系型数据库 MySQL 网络安全
Mysql 数据库主从复制
在MySQL主从复制环境中,配置了两台虚拟机:主VM拥有IP1,从VM有IP2。主VM的`my.cnf`设置server-id为1,启用二进制日志;从VM设置server-id为2,开启GTID模式。通过`find`命令查找配置文件,编辑`my.cnf`,在主服务器上创建复制用户,记录二进制日志信息,然后锁定表并备份数据。备份文件通过SCP传输到从服务器,恢复数据并配置复制源,启动复制。检查复制状态确认运行正常。最后解锁表,完成主从同步,新用户在从库中自动更新。
905 6
Mysql 数据库主从复制
|
7天前
|
缓存 运维 关系型数据库
数据库容灾 | MySQL MGR与阿里云PolarDB-X Paxos的深度对比
经过深入的技术剖析与性能对比,PolarDB-X DN凭借其自研的X-Paxos协议和一系列优化设计,在性能、正确性、可用性及资源开销等方面展现出对MySQL MGR的多项优势,但MGR在MySQL生态体系内也占据重要地位,但需要考虑备库宕机抖动、跨机房容灾性能波动、稳定性等各种情况,因此如果想用好MGR,必须配备专业的技术和运维团队的支持。 在面对大规模、高并发、高可用性需求时,PolarDB-X存储引擎以其独特的技术优势和优异的性能表现,相比于MGR在开箱即用的场景下,PolarDB-X基于DN的集中式(标准版)在功能和性能都做到了很好的平衡,成为了极具竞争力的数据库解决方案。