Amazon RDS 代理

提高您的应用程序的扩展性、弹性和安全性

Amazon RDS 代理是针对 Amazon Relational Database Service(RDS)的完全托管、高度可用数据库代理,使应用程序更加可扩展,更能灵活地处理数据库故障,并且更具安全性。

许多应用程序,包括在现代无服务器架构上构建的应用程序,可以拥有大量与数据库服务器的开放连接,并可在高速率下打开和关闭数据库连接,从而耗尽数据库内存和计算资源。Amazon RDS 代理可使应用程序池化和共享已建立的数据库连接,从而提高数据库效率和应用程序的可扩展性。借助 RDS Proxy,Aurora 和 RDS 数据库的故障转移时间最多可缩短 66%,数据库凭证、身份验证和访问可通过与 AWS Secrets Manager 和 AWS Identity and Access Management(IAM)的集成来管理。

无需更改代码即可为大多数应用程序启用 Amazon RDS 代理。您无需预置或管理任何其他基础设施即可开始使用 RDS 代理。定价很简单,基于底层数据库实例的容量。对于 Amazon Aurora Serverless v2 实例,您需要按照 Aurora 容量单位(ACU)付费,对于预置实例则按照 vCPU 付费。Amazon RDS 代理适用于 Amazon Aurora PostgreSQL 兼容版、Amazon Aurora MySQL 兼容版、Amazon RDS for PostgreSQL、Amazon RDS for MySQL、Amazon RDS for MariaDB 和 Amazon RDS for SQL Server。

Amazon RDS 代理简介(12:13)

工作原理

Amazon RDS 代理位于您的应用程序和关系数据库之间,可有效管理数据库连接并提高应用程序的可扩展性。

Amazon RDS 代理的工作原理

应用场景

无服务器应用程序开发

通过 Amazon RDS 代理,您可以构建扩展性和可用性更高的无服务器应用程序,因为它们可以更高效地使用您的关系数据库。现代无服务器应用程序支持高度可变的工作负载,可能会尝试打开大量新的数据库连接,或者将许多连接保持打开但处于空闲状态。连接激增或大量打开的连接可能会使您的数据库服务器受到压力,从而导致查询速度变慢,应用程序可扩展性受限。通过池化和共享已建立的数据库连接,RDS 代理允许您高效地扩展以增加来自无服务器应用程序的连接。RDS 代理还可使您通过控制已打开的数据库连接总数来维持可预测的数据库性能。最后,RDS 代理通过拒绝可能降低数据库性能的无法使用的应用程序连接,来保持无服务器应用程序的可用性。

软件即服务(SaaS)和电子商务应用程序

SaaS 或电子商务应用程序通常会使大量数据库连接保持打开状态,以确保快速的用户响应时间,尽管这些打开的连接中只有一小部分可以在给定时刻被主动使用。这些打开但空闲的连接仍然消耗数据库内存和计算资源。您可以使用 RDS 代理使来自您的应用程序的连接保持空闲,同时只需要建立数据库连接来最佳服务活动请求,而不是过度配置数据库来支持大部分空闲连接。

在常见问题解答中探索更多应用场景