Relational Database Services
Relational databases are some of the oldest and most cherished database technologies in tech today. Is it any surprise that AWS created a service called Relational Database Service (RDS)? Amazon’s marketing department definitely wanted to make it very clear: If your organization relies on relational database technologies, and you want to experience the joys of managed cloud services, AWS has an answer.
Note
When it comes to hosting database technologies in AWS, you are not forced into using the RDS service. Organizations that do not mind the work involved and that want full and total control over their database setup can build their database engine and technologies on virtual machines inside the EC2 service. Organizations that choose to deploy in this fashion miss out on the many management tasks that AWS experts are willing to perform for them in the managed service approach of AWS.
Relational Database Service (RDS)
The Relational Database Service (RDS) of AWS makes it easy to set up, operate, and scale a relational database in the cloud. RDS allows you to choose from seven database engines: Db2, Aurora, PostgreSQL, MySQL, MariaDB, Oracle, and Microsoft SQL Server.
Benefits of RDS include the following:
Fast and easy to administer: You can use the AWS Management Console, the AWS RDS command-line interface, or simple API calls to access the capabilities of a production-ready relational database in minutes.
Highly scalable: You can scale your database’s compute and storage resources with only a few mouse clicks or an API call, often with no downtime.
Available and durable: RDS runs on the same highly reliable infrastructure used by other AWS offerings. When you provision a multi-AZ DB instance, RDS synchronously replicates the data to a standby instance in a different Availability Zone (AZ).
Secure: RDS makes it easy to control network access to your database. RDS also lets you run your database instances in a VPC, which enables you to isolate your database instances and connect to your existing IT infrastructure through an industry-standard encrypted IPsec VPN. Many RDS engine types offer encryption at rest and encryption in transit. You can also take advantage of Direct Connect.
Relatively inexpensive: You pay low rates and only for the resources you consume.
Figure 14-1 shows the AWS RDS interface in the AWS Management Console.
Figure 14-1 The RDS Service of AWS
Aurora
While AWS Aurora is one of the relational database options within the RDS service described in the preceding section, it is worth giving it some special attention in this chapter. AWS itself invented Aurora, which makes it pretty special and also makes it an option that Amazon is very excited about.
Aurora is a MySQL- and PostgreSQL-compatible relational database engine. It offers many benefits, including the following:
High performance: Aurora can provide up to five times the throughput of standard MySQL or twice the throughput of standard PostgreSQL running on the same hardware.
Highly secure: Aurora provides multiple levels of security for a database, including network isolation using a VPC, encryption of data at rest using keys you create and control through Key Management Service (KMS), and encryption of data in transit using SSL.
MySQL and PostgreSQL compatible: The Aurora database engine is fully compatible with MySQL 5.7 and MySQL 8.0. It is also compatible with PostgreSQL 14.6.
Highly scalable: You can scale your Aurora database from an instance with two vCPUs and 4 GB of memory up to an instance with 32 vCPUs and 244 GB of memory.
High availability and durability: Aurora is designed to offer higher than 99.99% availability. It is also amazingly durable, ensuring that six synchronous copies of your data are running across three AZs. This is a huge advantage over standard RDS implementations.
Fully managed: Aurora is a fully managed database service. Amazon handles tasks such as hardware provisioning, software patching, setup, configuration, monitoring, and backups.