项目展示

使用 Amazon RDS Proxy 和 Amazon RDS Multi

使用 Amazon RDS Proxy 和 Amazon RDS Multi

通过 Amazon RDS Proxy 实现不超过 1 秒的停机时间进行小版本升级

关键要点

新增 Amazon RDS MultiAZ 部署的功能,借助 RDS Proxy,支持在通常 1 秒或更少的停机时间内进行小版本升级。该方案带来连接池、连接复用和更快的故障恢复等优势。通过遵循简单步骤,用户可以快速设置 RDS Proxy。

在本文中,我们将讨论 Amazon RDS MultiAZ 部署的最新功能,它允许用户使用 Amazon RDS Proxy 来进行小版本升级和系统维护更新,通常可在 1 秒或更少的停机时间内完成。这项新功能的引入大大提升了用户体验。

速云梯下载

Amazon RDS MultiAZ 部署与两个可读备用

2022 年 3 月,AWS 引入了 Amazon RDS for PostgreSQL 和 MySQL 的 MultAZ 部署,它包括一个主数据库实例和两个可读备用实例。每个集群节点使用高速的直接附加 NVMe 卷以及 Amazon Elastic Block Store (EBS) 卷进行操作。写操作首先写入 NVMe 卷,再异步写入 EBS 卷,从而实现更低的延迟,同时两台备用节点也可以处理读取请求。

Amazon RDS Proxy

2020 年 6 月,AWS 推出了 Amazon RDS Proxy。RDS Proxy 带来了多种优势,包括: 连接池:通过连接池功能,数据库资源可以更高效地用于执行查询,减少了因 TCP 和 TLS 握手及身份验证造成的资源浪费。 连接复用:RDS Proxy 只与数据库实例建立所需连接,降低了数据库实例的连接数,帮助节省资源。 快速故障恢复:RDS Proxy 能在故障转移后缩短客户端恢复时间,解决了应用程序在故障情况下可能会使用缓存 CNAME 导致无法连接的问题。

解决方案概述

目前,对 PostgreSQL 或 MySQL 数据库进行的小版本升级或系统维护更新通常需要数分钟,并且需要计划停机时间。而借助 Amazon RDS MultiAZ 数据库DB集群,现在实现小版本升级时停机时间通常在 35 秒以内,使用 RDS Proxy 这段时间可以进一步缩短至 1 秒或更少。

在对 Amazon RDS MultiAZ DB 集群进行小版本升级时,过程开始于按顺序对每个读取实例应用补丁,升级完成后其中一个读取实例将变为写入实例,原写入实例则转为读取实例。此过程中会出现停机,但使用 Amazon RDS MultiAZ DB 集群的停机时间通常不会超过 35 秒。

使用 Amazon RDS Proxy 和 Amazon RDS Multi

使用 RDS Proxy 设置新的 Amazon RDS MultiAZ DB 集群

要设置 Amazon RDS MultiAZ DB 集群以及 RDS Proxy,请按照下列步骤执行:

在 Amazon RDS 控制台中,选择 创建数据库。

对于 引擎类型 ,选择 MySQL 或 PostgreSQL。

在 隐藏过滤器 下,选择 显示支持 MultiAZ DB 集群的版本。

在 引擎版本 下,选择你的首选版本。

在 可用性和耐久性 下,选择 MultiAZ DB 集群。

在 连接性 下,对于 RDS Proxy,选择 创建一个 RDS Proxy。

选择 创建数据库。

此过程还会在 AWS Secrets Manager 中创建一个密钥,并在 AWS 身份和访问管理IAM 中生成一个策略,以允许该代理访问密钥。创建后,可以在代理详细信息页的 代理端点 部分找到读写和只读端点。

使用现有的 Amazon RDS MultiAZ DB 集群设置 RDS Proxy

要为已有的 Amazon RDS MultiAZ DB 集群设置 RDS Proxy,请遵循以下步骤:

在 Amazon RDS 控制台中,选择 代理。

选择 创建代理。

在 代理配置 下,选择 MariaDB 和 MySQL 或 PostgreSQL,并在代理标识符字段中输入新 RDS Proxy 的名称。

在 目标组配置 下,选择要为其创建此 RDS Proxy 的 Amazon RDS MultiAZ DB 集群。

在 身份验证 下,指定包含此代理用于连接 Amazon RDS MultiAZ DB 集群的凭据的 Secrets Manager 密钥,以及代理用于读取此密钥的 IAM 角色。

选择 创建代理。

在完成上述步骤后,务必要清理任何不再使用的资源。有关 RDS Proxy、Amazon RDS MultiAZ DB 集群、IAM 策略 和 Secrets Manager 密钥 的详细说明,请参考 AWS 文档。

总结

在本文中,我们探讨了如何使用 RDS Proxy 与 Amazon RDS MultiAZ DB 集群实现通常在 1 秒或更少的停机时间内完成小版本升级的过程。这一解决方案还提供了连接池和连接复用等额外好处,优化了数据库资源的使用。欲了解更多信息,请参考 Amazon RDS MultiAZ 部署中的可读备用实例:新版高可用性选项 ,并今天就开始使用 RDS Proxy 吧!

关于作者

Steve Abraham 是亚马逊网络服务AWS的首席解决方案架构师。他与客户密切合作,为数据库项目提供指导和技术支持,帮助客户提高其在 AWS 上解决方案的价值。