Correct option:
Configure Amazon RDS Proxy to pool and share database connections - Many applications, including those built on modern serverless architectures, can have a large number of open connections to the database server, and may open and close database connections at a high rate, exhausting database memory and compute resources. Amazon RDS Proxy allows applications to pool and share connections established with the database, improving database efficiency and application scalability. With RDS Proxy, failover times for Aurora and RDS databases are reduced by up to 66%, and database credentials, authentication, and access can be managed through integration with AWS Secrets Manager and AWS Identity and Access Management (IAM).
Amazon RDS Proxy can be enabled for most applications with no code changes, and you don’t need to provision or manage any additional infrastructure.
Applications that support highly variable workloads may attempt to open a burst of new database connections. RDS Proxy’s connection governance allows customers to gracefully scale applications dealing with unpredictable workloads by efficiently reusing database connections. First, RDS Proxy enables multiple application connections to share a database connection for efficient use of database resources. Second, RDS Proxy allows customers to maintain predictable database performance by regulating the number of database connections that are opened. Third, RDS Proxy removes unserviceable application requests to preserve the overall performance and availability of the application.
Incorrect options:
Use AWS Lambda Functions to maintain and manage the RDS connections as per workload - Using AWS Lambda function for managing RDS connections is not an optimal solution and might not always improve performance as expected. It also involves significant development effort, thereby making it a less optimal option.
Run the DB instance as a Multi-AZ deployment to improve the database performance - When you run your DB instance as a Multi-AZ deployment, Amazon RDS automatically provisions and maintains a synchronous “standby” replica in a different Availability Zone. Multi-AZ deployments are for the high availability of the resources but do not address any performance issues.
Use RDS 'Enhanced Monitoring' option to manage DB connection pools - Enhanced Monitoring for RDS gives you deeper visibility into the health of your RDS instances. Enhanced Monitoring captures your RDS instance system-level metrics such as the CPU, memory, file system, and disk I/O among others. You can use this feature to create CloudWatch alarms for monitoring the database instance. 'Enhanced Monitoring' cannot address the given issue.
Reference:
https://aws.amazon.com/rds/proxy/