规划在哪里使用 RDS Proxy - Amazon Aurora
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

规划在哪里使用 RDS Proxy

您可以确定哪些数据库实例、集群和应用程序可能从使用 RDS Proxy 中受益匪浅。为此,请考虑以下因素:

  • 任何出现“连接过多”错误的数据库实例或集群都很适合与代理相关联。代理允许应用程序打开许多客户端连接,而代理管理与数据库实例或集群的少量长期连接。

  • 对于使用较小 Amazon 实例类(如 T2 或 T3)的数据库实例或集群,使用代理可以帮助避免内存不足情况。它还可以帮助减少建立连接时的 CPU 开销。处理大量连接时可能会发生这些情况。

  • 您可以监控某些 Amazon CloudWatch 指标,以确定数据库实例或集群是否接近某些类型的限制。这些限制针对连接数以及与连接管理关联的内存。您还可以监控某些 CloudWatch 指标,以确定数据库实例或集群是否处理许多短期连接。打开和关闭此类连接可能会给数据库带来性能开销。有关要监控的指标的信息,请参阅 使用 Amazon CloudWatch 监控 RDS Proxy

  • Amazon Lambda 函数也可以很好地使用代理。这些函数进行频繁的短数据库连接,可受益于 RDS Proxy 提供的连接池。您可以利用已为 Lambda 函数提供的任何 IAM 身份验证,而不是在 Lambda 应用程序代码中管理数据库凭证。

  • 使用 PHP 和 Ruby on Rails 等语言和框架的应用程序通常可以很好地使用代理。此类应用程序通常打开和关闭大量数据库连接,并且没有内置的连接池机制。

  • 长时间保持大量连接打开的应用程序通常可以很好地使用代理。诸如软件即服务 (SaaS) 或电子商务等行业中的应用程序通常会使连接保持打开状态,从而最大限度地减少数据库请求的延迟。通过使用 RDS Proxy,与直接连接到数据库实例或集群时相比,应用程序可以保持更多的连接为打开状态。

  • 由于为所有数据库实例和集群设置此类身份验证较为复杂,您可能尚未采用 IAM 身份验证和 Secrets Manager。如果是这样,您可以保留现有的身份验证方法,并将身份验证委派给代理。代理可以为特定应用程序的客户端连接强制执行身份验证策略。您可以利用已为 Lambda 函数提供的任何 IAM 身份验证,而不是在 Lambda 应用程序代码中管理数据库凭证。

  • RDS Proxy 高度可用,部署在多个可用区 (AZ) 上。要确保数据库的总体高可用性,请在多可用区配置中部署 Amazon RDS 数据库实例或 Aurora 集群。