Amazon RDS Proxy is a new fully managed, highly available database proxy for MySQL and PostgreSQL databases running on Amazon RDS and Aurora. The service is tailored to serverless architectures and other applications that open and close database connections at a high rate.

A few days before re:Invent 2019, AWS released the public preview of Amazon RDS Proxy for MySQL, a fully managed and highly available database proxy that sits between the application and the database on RDS or Amazon Aurora. Seven months later, the service now supports PostgreSQL too and it is generally available.

image source: https://aws.amazon.com/rds/proxy/

RDS Proxy allows applications to pool and share connections established with the database. This helps servers that do not currently rely on a connection pool and often open and close database connections, exhausting database memory and compute resources. Serverless architectures will use the relational databases more efficiently and the proxy will improve application scalability. As Corey Quinn, cloud economist and author of the  Last Week in AWS newsletter, summarized, “This solves the '10,000 Lambda functions just hugged your database to death’ problem”.’

There are also benefits for more traditional deployments, where a managed proxy can reduce the downtime in case of an instance failure and a database failover. In case of a primary node failure, RDS Proxy automatically connects to a standby database instance while preserving connections from the application. Anton Okmyanskiy and Steve Abraham, respectively principal engineer and principal data architect for Amazon Web Services, demonstrated that:

RDS Proxy reduces client recovery time after failover by up to 79% for Amazon Aurora MySQL and by up to 32% for Amazon RDS for MySQL (…) RDS Proxy improves failovers because it doesn’t rely on DNS propagation to perform failovers. The RDS Proxy eliminates reader and writer transition issues for Aurora cluster clients. It actively monitors each database instance in the Aurora database cluster to act quickly during failover on behalf of the clients.

A new proxy can be created in a few steps in the console or using the AWS Command Line Interface:

aws rds create-db-proxy \

    --db-proxy-name channy-proxy \

    --role-arn iam_role \

    --engine-family { MYSQL|POSTGRESQL } \

    --vpc-subnet-ids space_separated_list \

    [--vpc-security-group-ids space_separated_list] \

    [--auth ProxyAuthenticationConfig_JSON_string] \

    [--require-tls | --no-require-tls] \

    [--idle-client-timeout value] \

    [--debug-logging | --no-debug-logging] \

    [--tags comma_separated_list]

#cloud #relational databases #serverless #amazon web services #development #architecture & design #news

AWS Announces General Availability of Amazon RDS Proxy
1.70 GEEK