UPCOMING EVENT Discover how nOps streamlines your cost optimization at AWS re: Invent - BOOK A MEETING

NEW Featured eBook: AWS Cloud Cost Allocation: The Complete Guide - Download Now

Amazon Relational Database Service (Amazon RDS) is a managed database service that makes it easier to set up, operate, and scale a relational database in the cloud. It provides scalable computing capacity and manages various common database administration tasks such as hardware provisioning, database setup, patching, and backups.

With Amazon RDS, users can access the capabilities of a familiar relational database on the cloud, rather than with the typical maintenance overhead of managing a relational database on your own hardware or in a traditional data center setting.

Image source: AWS

What are the benefits of Amazon RDS?

  • Automated Management Tasks: Amazon RDS automates routine database administration tasks. You just have to select a database engine (MySQL, PostgreSQL, Oracle, SQL Server, MariaDB, or Amazon Aurora), specify the instance size, and set up the initial configuration parameters like instance class, storage amount, and type. Amazon RDS frees engineers from database upkeep so they can spend more time on development.
  • Scalability: Amazon RDS allows easy vertical scaling (adjusting CPU and RAM) and horizontal scaling (increasing storage capacity) through a few clicks in the AWS Management Console or via API calls. This can be crucial for handling varying application loads without downtime.
  • Read Replicas: You can improve the performance of read-heavy database workloads by creating one or more read replicas of a source database. These replicas handle read traffic, thereby reducing the load on the primary database and enhancing overall application responsiveness.
  • Availability and automated backups: For high availability, Amazon RDS allows you to run instances in multiple availability zones (Multi-AZ deployments), automatically replicating data to stand-by instances in different zones. Amazon RDS manages backups automatically and also allows users to initiate manual snapshots. You can also perform point-in-time recovery of your database to a specific second within your retention period, minimizing data loss during accidental deletes or database corruption.
  • Flexible Pricing Options: as a cloud computing service Amazon RDS pricing is scalable and flexible. You can choose from on-demand pricing where you pay per hour for the compute and storage resources you use without any upfront commitments. For long-term needs, there are reserved instances where you commit to using Amazon RDS for a one or three-year term, which can offer significant discounts compared to on-demand rates. Additionally, AWS provides the option to pay for IOPS (input/output operations per second) for provisioned IOPS SSDs, giving you performance predictability for I/O-intensive applications.
  • Integrated Security: Amazon RDS provides several security features such as network isolation using Amazon VPC, encryption at rest using keys you create and control through AWS Key Management Service (KMS), and encryption in transit using SSL
  • Easy migration: AWS Database Migration Service can be used to facilitate smooth and secure migrations from your existing databases to RDS.

How does Amazon RDS work?

Amazon Relational Database Service (Amazon RDS) operates through a combination of managed hardware, automated software processes, and a defined networking infrastructure, as depicted in the below diagram.
Image source: AWS
Here is a quick breakdown of its architectural components:

DB Instance:

An Amazon RDS DB instance (or Database instance) is an isolated cloud database environment, and the fundamental building block of Amazon RDS. It represents a virtual server in the AWS cloud, configured to run a specific database engine. Each DB instance operates isolated and independently, but can interact with other AWS services.

A DB instance class consists of both the DB instance type and the size. Each instance type offers different compute, memory, and storage capabilities.

DB Engine:

Amazon RDS supports multiple relational database engines. Each DB engine runs on its dedicated virtualized hardware and is optimized for specific performance, features, and licensing requirements.

Storage Layer:

Data for each DB instance is stored on Amazon Elastic Block Store (EBS), which provides durable block-level storage volumes. Amazon RDS handles the allocation, attachment, and scaling of EBS volumes based on the instance’s storage specification and performance demands. DB instance storage comes in the following types: General Purpose (SSD), Provisioned IOPS (PIOPS), and Magnetic.

Control Plane:

The control plane of Amazon RDS manages DB instances, handling tasks like database provisioning, scaling, snapshots, and backups. It orchestrates the setup of instances, configures network access controls, and schedules maintenance tasks such as backups and software patching.

Data Plane:

The data plane involves the actual data processing and query handling by the DB instances. It includes the compute resources, the database engine processes, and the storage operations, ensuring that queries are executed, and data is reliably stored and retrieved.

Networking:

Amazon RDS DB instances are integrated within an Amazon Virtual Private Cloud (VPC), allowing for network isolation and secure connections. This setup supports encryption in transit with SSL/TLS and provides the ability to implement fine-grained access controls.
Screenshot of the Amazon RDS console - source:aws

What DB engines does Amazon RDS support?

Amazon Relational Database Service supports the following DB engines. Here is a quick explanation of each one and its use cases.

RDS for Db2

IBM Db2 is a family of data management products, including database servers, developed by IBM. It is known for its high performance and scalability, making it well-suited for large enterprises and transaction-heavy applications, especially where reliability and security are paramount.

RDS for MariaDB

MariaDB is an open-source relational database management system that is a fork of MySQL. It is used as a drop-in replacement for MySQL, offering additional storage engines and features aimed at improved performance and extensibility, making it ideal for those seeking an open-source solution with active community support.

RDS for SQL Server

Microsoft SQL Server is a comprehensive, enterprise-grade database solution designed to handle complex data requirements and extensive processing tasks. It is particularly favored in environments that use other Microsoft technologies, offering deep integration with .NET and Microsoft’s BI tools.

RDS for MySQL

MySQL is one of the most popular open-source relational databases. It is widely used for web applications and serves as the database component of the LAMP stack, appreciated for its simplicity and reliability in small to medium-sized applications.

RDS for Oracle

Oracle Database is a multi-model database management system known for its feature-rich capabilities designed to handle large-scale transactions and complex query environments. It is favored in large enterprises for its robust performance, extensive support for business analytics, and advanced security features.

RDS for PostgreSQL

PostgreSQL is an open-source, object-relational database system known for its standards compliance and strong extension capabilities. It’s suitable for a wide variety of applications but is particularly admired for its robustness, scalability, and its ability to handle complex queries and extensive datasets.

RDS for Amazon Aurora

Aurora is AWS’s proprietary database that is compatible with MySQL and PostgreSQL. It offers performance up to five times that of MySQL and three times that of PostgreSQL on the same hardware. Aurora is a good choice for high-performance, large-scale applications, but might be overkill for smaller, less-demanding projects.

Amazon RDS Custom

Amazon RDS Custom is designed for applications that require specific database settings and software modifications not supported by standard RDS configurations. It allows more operational control, letting users manage their database environments while still benefiting from RDS’s automated management features.

How does Amazon RDS pricing work?

Let’s discuss how much Amazon Relational Database Service costs and the major factors that impact its pricing.

Amazon RDS Free Tier

With the Amazon RDS free tier, you can get the following each month for a year:

  • Amazon RDS usage per month: 750 hours on select Single-AZ Instance databases. Usage is aggregated across instance types if using more than one instance. (Available engines: MySQL, MariaDB, PostgreSQL, or SQL Server – SQL Server Express Edition only.)
  • General Purpose SSD (gp2) storage per month: 20 GB
  • Storage for automated database backups per month: 20 GB

Main factors that determine Amazon RDS pricing

Here are the most important factors determining how much Amazon RDS will cost you:

  • Instance Runtime: Charges accrue based on the duration your database instance is active, from initialization to termination.
  • Database Specifications: The cost is influenced by the specifications of the database, such as the engine type, instance size, and memory capacity.
  • Pricing Model: Amazon RDS offers On-Demand instances where you pay per hour without long-term commitments, and Reserved Instances where you make an upfront payment for a reduced hourly rate over a one or three-year period.
  • Instance Count: Costs scale with the number of database instances you deploy to manage workload demands.
  • Provisioned Storage and Backup: You’re provided with backup storage up to 100% of your provisioned volume at no extra cost for active instances. Excess backup storage incurs additional fees.
  • Extra Backup Storage: Charges apply for any backup storage that exceeds your provisioned database storage.
  • Long Term Retention: Charged per vCPU per month for each database instance that has this feature enabled, with costs varying based on the instance type and region.
  • API Usage: The first million API requests monthly are included free under the Performance Insights dashboard, with additional requests charged per thousand.
  • Deployment Configuration: Deploying instances across multiple Availability Zones for higher availability and durability leads to variations in storage and I/O costs.
  • Data Transfer Fees: While inbound data transfer is free, outbound transfer fees are based on the amount of data and its destination.

Other factors like network traffic management, additional feature integrations, and regional price variations also contribute to the cost of your Amazon RDS bill.

Amazon RDS pricing by Database engine

Another key pricing factor to consider is the database you’re using.

Amazon Aurora, MariaDB, MySQL and PostgreSQL share similar pricing structures.

Pricing includes On-Demand Instances charged hourly without long-term commitments, and Reserved Instances for up to 3 years offering significant savings. Aurora Serverless provides flexible scaling and billing based on actual usage.

Costs include storage billed per GB-month, I/Os per million requests, and extra charges for features like Global Database, Snapshot Export, and Backtrack.

IMB DB2, Oracle and Microsoft SQL Server have higher pricing due to licensing fees, potentially costing nearly twice as much as open-source options. Oracle offers a self-licensing option that can reduce costs to those comparable to open-source databases.

Storage and data transfer fees remain consistent across these and the open-source databases.

Understand and optimize Amazon RDS with nOps

If you’re looking to save on Amazon RDS, nOps Business Contexts makes it easy and painless to get the info you need to understand your spend, make informed decision on purchase commitments, and reduce RDS costs.
Break down RDS costs by any dimension in the Business Contexts dashboard

Business Contexts transforms millions of rows of contextless data into the who, what, when and why of cloud spend — making it easy to get 100% visibility of your cloud costs and usage so your bills are never a surprise or mystery.

  • Allocate 100% of your AWS costs, including EKS. Kubernetes costs are often a black box — no longer with nOps. Understand and allocate your unified AWS spend in one platform.
  • Automated resource tagging. You don’t need to have all your resources tagged to allocate costs. Create dynamic rules by region, tags, operation, accounts, and usage types to allocate costs back to custom cost centers.
  • 40+ views & filters. Map hourly costs by any relevant engineering concept (deployment, service, namespace, label, pod, container…) or finance concept (cost unit, purchase type, line item, cost allocation tag…).
  • Custom reports & dashboards for the whole team. Monthly reporting and reconciliation can take hours; with nOps only minutes. Tailor dashboards and Slack/email reports to your needs, whether you’re a CFO or VP of Engineering.

The best part? nOps is an all-in-one solution for all of your cloud optimization needs: automated commitment management, rightsizing, resource scheduling, workload management, Spot usage, storage optimization, and more.

Join our customers using nOps to understand your cloud costs and leverage automation with complete confidence by booking a demo today!