RDS
Relational Database Service 关系数据库服务
we can’t SSH into our RDS inst
多种数据库引擎支持:包括MySQL、PostgreSQL、Oracle、Microsoft SQL Server和Amazon Aurora。这使得用户可以根据应用程序的需求选择合适的数据库引擎。
RDS Backups 备份
- RDS中自动启用备份功能。
- 自动备份:
- 每天在维护窗口期间对数据库进行完整备份。
- RDS每隔5分钟备份一次事务日志。
- 可以还原到任意时间点(从最早的备份到5分钟前的时间点)。
- 保留备份数据的时间为7天(可以增加至35天)。
- 数据库快照(DB Snapshots):
- 用户可以手动触发备份操作。
- 可以根据需要保留备份数据的时间,没有时间限制。
自动备份适用于对数据可靠性和恢复性有较高要求的场景
数据库快照更适用于具有特定备份需求或需要长期保留备份的场景。(花费更小)
storage auto scaling存储自动扩展
根据需要自动调整RDS数据库实例的存储空间
- 您需要设置最大存储阈值(数据库存储的最大限制)
- 满足以下条件:
剩余存储空间少于已分配存储空间的10%
低存储状态持续至少5分钟
距离上次调整已经过去6小时 - 适用于具有不可预测的工作负载的应用程序。
- 支持所有RDS数据库引擎(MariaDB,MySQL,PostgreSQL,SQL Server,Oracle)。
RDS Proxy 代理
RDS Proxy allows for managing thousands of concurrent database
connections, which can help reduce connection errors
serverless, autoscaling, multi-AZ (high available)
RDS Proxy提高数据库的性能、可扩展性和安全性
RDS Proxy是RDS(Amazon Relational Database Service)的全管理数据库代理,它为应用程序提供了一个连接池,并允许应用程序共享与数据库建立的连接。它的主要目标是通过减少数据库资源(如CPU、RAM)的负载和最小化开启的连接数(以及超时)来提高数据库的效率。
解释:
- RDS Proxy充当应用程序和数据库之间的中间代理,它可以处理与数据库的连接和请求,从而减轻数据库的负担。应用程序可以通过连接池共享已建立的数据库连接,而不是每次请求都创建一个新的连接,这样可以降低数据库上的开销,提高响应效率。
- 减少数据库资源(如CPU和RAM)的使用,
- RDS Proxy可以显著减少RDS和Aurora数据库的failover time,据称可高达66%。
- RDS Proxy通过IAM身份验证强制执行数据库连接的安全性,并使用AWS Secrets Manager安全地存储数据库凭据。这意味着连接到数据库的应用程序必须经过身份验证,并且凭据被安全地存储,以确保数据库的安全性。
- RDS Proxy永远不会公开访问(不可公开访问),只能从VPC(Virtual Private Cloud)内部访问。这增加了数据库的安全性
RDS read replica for read scalability读取可扩展性的只读副本
分担主数据库的读取负载,提高读取性能。
主数据库负责写入操作,而读取副本负责处理查询操作,从而减轻主数据库的负担。
-
最多可创建5个读取副本
-
支持Within AZ, Cross AZ or Cross Region
-
复制是ASYNC,因此读取最终一致性
- 主数据库对数据的更改会立即应用到主数据库本身,但不会立即传输到所有读取副本。这意味着读取副本的数据可能在某些时候是稍有延迟的,但最终会达到一致性。
-
副本可以晋升为独立的数据库
-
应用程序必须更新连接字符串以使用读取副本
Network Cost
- In AWS there’s a network cost when data goes from one AZ to another
- For RDS Read Replicas within the same region, you don’t pay that fee
网络成本
- 在AWS中,当数据从一个AZ传输到另一个AZ时,会产生网络成本。
- 对于同一区域中的RDS只读副本,您不需要支付该费用。
Multi AZ used for disaster recovery-用于灾难恢复的多个可用区
- SYNC replication, Increase availability
- 同步复制,提高可用性
- RDS 主实例和辅助实例(读取副本)位于不同的可用区
RDS – From Single-AZ to Multi-AZ
- Zero downtime operation (no need to stop the DB)
- Just click on “modify” for the database
- The following happens internally:
- A snapshot is taken
- A new DB is restored from the snapshot in a new AZ
- Synchronization is established between the two databases
RDS – 从单可用区迁移到多可用区
- 零停机操作(无需停止数据库)
- 只需单击数据库的“modify”按钮
- 下列操作在内部进行:
- 拍摄一个快照
- 在新的 AZ 中从快照中还原一个新的数据库
- 在两个数据库之间建立同步
Important ports:
- FTP: 21
- SSH: 22
- SFTP: 22 (same as SSH)
- HTTP: 80
- HTTPS: 443
vs RDS Databases ports:
- PostgreSQL: 5432
- MySQL: 3306
- Oracle RDS: 1521
- MSSQL Server: 1433
- MariaDB: 3306 (same as MySQL)
- Aurora: 5432 (if PostgreSQL compatible) or 3306 (if MySQL compatible)