1. 打开 Amazon RDS 控制台,在导航窗格中,选择代理。选择创建代理。
2. 选择代理的所有设置。
(1) 引擎系列。此设置确定代理在解释进出数据库的网络流量时识别哪个数据库网络协议。
- 对于 RDS for MariaDB 或 RDS for MySQL,选择MariaDB 和 MySQL。
- 对于 RDS for PostgreSQL,选择PostgreSQL。
- 对于 RDS for SQL Server,选择SQL Server。
(2) 代理标识符。指定在您的 AWS 账户 ID 和当前 AWS 区域中唯一的名称。
(3) 空闲客户端连接超时。选择代理关闭客户端连接之前客户端连接可以空闲 的时间段。默认值为 1,800 秒(30 分钟)。
当应用程序在上一个请求完成后的指定时间内未提交新请求时,客户端连接将被视为空闲。底层数据库连接保持打开状态并返回到连接池。因此,它可以被新的客户端连接重用。
要让代理主动删除过时的连接,请降低空闲客户端连接超时。当工作负载激增时,为了节省建立连接的成本,请增加空闲客户端连接超时时间。
(4) 数据库。选择一个RDS 数据库实例通过此代理访问。
(5) 连接池最大连接数。max_connections指定 1 到 100 之间的值。
此设置表示RDS Proxy 可用于其连接的值的百分比。如果您只想对此数据库实例或集群使用一个代理,则可以将此值设置为 100。
(6) 会话固定过滤器。(可选)此选项允许您强制 RDS Proxy 不固定某些类型的检测到的会话状态。这规避了跨客户端连接多路复用数据库连接的默认安全措施。
目前,PostgreSQL 不支持该设置。唯一的选择是 EXCLUDE_VARIABLE_SETS。
启用此设置可能会导致一个连接的会话变量影响其他连接。如果您的查询依赖于当前事务外部设置的会话变量值,这可能会导致错误或正确性问题。在验证应用程序跨客户端连接共享数据库连接是否安全后,请考虑使用此选项
(7) 连接借用超时。在某些情况下,您可能希望代理有时使用所有可用的数据库连接。在这种情况下,您可以指定代理在返回超时错误之前等待数据库连接变得可用的时间。您可以指定最多五分钟的时间段。仅当代理打开了最大连接数并且所有连接已在使用中时,此设置才适用。
(8) 初始化查询。(可选)您可以指定一个或多个 SQL 语句,以便代理在打开每个新数据库连接时运行。该设置通常与SET语句一起使用,以确保每个连接具有相同的设置,例如时区和字符集。对于多个语句,请使用分号作为分隔符。
(9) IAM 角色。选择有权访问您之前选择的 Secrets Manager 密钥的 IAM 角色。或者,您可以从 AWS 管理控制台创建新的 IAM 角色。
(10) Secrets Manager 密钥。至少选择一个包含允许代理访问 RDS 数据库实例的数据库用户凭据的 Secrets Manager 密钥。
(11) 客户端身份验证类型。选择代理用于来自客户端的连接的身份验证类型。
(12) IAM 身份验证。选择是否需要、允许或禁止 IAM 身份验证来连接到您的代理。
(13) 必须使用传输层安全性。如果您希望代理对所有客户端连接强制执行 TLS/SSL,请选择此设置。
(14) 子网。此字段已预先填充与您的 VPC 关联的所有子网。您可以删除此代理不需要的任何子网。您必须至少保留两个子网。
(15) 启用增强日志记录。您可以启用此设置来解决代理兼容性或性能问题。
(16) 选择创建代理。