AWS RDS new features circa Dec'2019
AWS RDS was introduced about a decade ago (2009) with MySQL database and today (2019) has options for six different engines from Aurora, MySQL, MariaDB, PostgresSQL, Oracle and SQL Server. Aurora is the most widely used service in the entire suite and is flagship product for AWS.
AWS has added several new feature to RDS at a very rapid pace in the recent launches and the goal here is to summarize the key features that are very useful.
RDS Proxy
Proxy is a fully managed, highly available database proxy for Relational Database Service (RDS) that makes applications more scalable, more resilient to database failures, and more secure. Many applications, including those built on modern serverless architectures using AWS Lambda, 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. 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).
The key benefits of RDS proxy are:
- Administration - Very easy to administer and quickly setup from the console. The connection pool is setup as percentage size of max connections allowed by the database. For example if the DB allows max 500 connections then a 50% connection pool will setup and allow a max of 150 DB connections.
- Pool and share connection for improved application scaling - Connection pooling allows the database to support a large number of application connections without the strain on resources and compromising performance.
- Reduced Failover times - RDS proxy is a highly available service and if there is any DB outage then it automatically connects to the new database instance and preserves the application connections. RDS proxy will route the application requests directly to the new database instance thus reducing the failover time.
- Database Access controls - RDS proxy works with IAM authentication and avoids the risky practice of hard coding credentials. Proxy integrates with Secrets Manager therefore enabling to centrally manage database credentials.
The following diagram shows a typical use case for a serverless application using Lambda functions.
RDS Outposts
Now in preview, allows to deploy fully managed database instances in on-premises environments. AWS Outposts is a fully managed service that extends AWS infrastructure, AWS services, APIs, and tools to virtually any datacenter, co-location space, or on-premises facility for a truly consistent hybrid experience. It is possible to deploy Amazon RDS on Outposts to set up, operate, and scale MySQL and PostgreSQL relational databases on premises, just like in the cloud.
Amazon RDS on Outposts provides cost-efficient and resizable capacity for on-premises databases, while automating time-consuming administration tasks including infrastructure provisioning, database setup, patching, and backups, freeing you to focus on your applications. AWS Outposts lets you run RDS in your on-premises or co-location site. It is possible to deploy and scale an RDS database instance in Outposts just as in the cloud, using the AWS console, APIs, or CLI. RDS databases in Outposts are encrypted at rest using AWS KMS keys. RDS automatically stores all automatic backups and manual snapshots in the AWS Region and publishes database metrics to CloudWatch.
RDS on VMWare
Allows to deploy managed databases in on-premises VMware environments using the Amazon RDS technology enjoyed by hundreds of thousands of AWS customers. RDS provides cost-efficient and resizable capacity while automating time-consuming administration tasks including infrastructure provisioning, database setup, patching, and backups, freeing you to focus on your applications. RDS on VMware brings many of these same benefits to your on-premises deployments, making it easy to set up, operate, and scale databases in VMware vSphere private data centers. RDS on VMware allows you to utilize the same simple interface for managing databases in on-premises VMware vSphere environments as you would use in AWS. RDS on VMware supports MySQL, PostgreSQL, and Microsoft SQL Server databases.
Performance Insights
RDS Performance Insights is a database performance tuning and monitoring feature that helps you quickly assess the load on your database, and determine when and where to take action. Performance Insights allows non-experts to detect performance problems with an easy-to-understand dashboard that visualizes database load. The free version gives seven days of performance history retention which can be used investigate and track most performance issues. Performance Insights automatically publishes metrics to Amazon CloudWatch. The same data can be queried from Performance Insights, but having the metrics in CloudWatch makes it easy to add CloudWatch alarms. It also makes it easy to add the metrics to existing CloudWatch Dashboards. The three key metrics that are published are DBLoad (number of active sessions), DBLoadCPU (active session where wait event is CPU) and DBLoadNonCPU (active session where wait event is non CPU)
Encryption
Now available on all database engines running with Amazon RDS. Data stored at rest in the underlying storage is encrypted, as are its automated backups, read replicas, and snapshots. RDS encryption uses the industry standard AES-256 encryption algorithm to encrypt your data on the server that hosts your RDS instance.
Billing
RDS is now billed in one-second increments for database instances and attached storage. Pricing is still listed on a per-hour basis, but bills are now calculated down to the second and show usage in decimal form. There is a 10 minute minimum charge when an instance is created, restored or started.
Max DB Storage
Increased Maximum Database Storage Size to 64TB (except SQLServer which is 16TB). Database instances can be created with up to 64TB of storage, up from 16TB. The new storage limit is available when using the Provisioned IOPS and General Purpose (SSD) storage types.
Storage Autoscaling
As your storage requirements grow, so can the provisioned additional storage. Storage scaling is on-the-fly with zero downtime. The Amazon Aurora engine will automatically grow the size of your database volume as your database storage needs grow, up to a maximum of 64 TB or a maximum you define. The MySQL, MariaDB, Oracle, and PostgreSQL engines allow you to scale up to 64 TB of storage whereas SQL Server supports up to 16 TB.
Security with IAM/SSO
RDS is integrated with AWS Identity and Access Management (IAM) and provides the ability to control the actions that your IAM users and groups can take on specific RDS resources, from database instances through snapshots, parameter groups, and option groups. Support for integration with SSO using Kerberos authentication.
RDS Console
New look and feel of console with Easy Create option to create an instance with default values and get started quickly. The Standard Create option is available to customize the database instance.
Global Practice Lead - Data Management at Google Cloud | Ex-Amazon
5 年good summarization !