Amazon Relational Database Service (Amazon RDS) (beta)

Amazon Relational Database Service (Amazon RDS) is a web service that makes it easy to set up, operate, and scale a relational database in the cloud. It provides cost-efficient and resizable capacity while managing time-consuming database administration tasks, freeing you up to focus on your applications and business.

Amazon RDS gives you access to the full capabilities of a familiar MySQL database. This means the code, applications, and tools you already use today with your existing MySQL databases work seamlessly with Amazon RDS. Amazon RDS automatically patches the database software and backs up your database, storing the backups for a user-defined retention period. You benefit from the flexibility of being able to scale the compute resources or storage capacity associated with your relational database instance via a single API call. In addition, Amazon RDS allows you to easily deploy your database instance across multiple Availability Zones to achieve enhanced availability and reliability for critical production deployments. As with all Amazon Web Services, there are no up-front investments required, and you pay only for the resources you use.

Sign Up for Amazon RDS

This page contains the following categories of information. Click to jump down:

Amazon RDS Functionality

Amazon RDS is designed for developers or businesses who require the full features and capabilities of a relational database, or who wish to migrate existing applications and tools that utilize a relational database. It gives you access to the full capabilities of a MySQL 5.1 database running on your own Amazon RDS database instance.

To use Amazon RDS, you simply:

  • Use the AWS Management Console or Amazon RDS APIs to launch a database instance (DB Instance), selecting the DB Instance class and storage capacity that best meets your needs.
  • Connect to your DB Instance using your favorite database tool or programming language. Since you have direct access to a full-featured MySQL database, any tool designed for the MySQL engine will work unmodified with Amazon RDS.
  • Monitor the compute and storage resource utilization of your DB Instance, for no additional charge, via Amazon CloudWatch metrics available using the AWS Management Console “DB Instances” tab or Amazon CloudWatch APIs. If at any point you need additional capacity, you can scale the compute and storage resources associated with your DB Instance with a few clicks of the console or a simple API call.
  • Pay only for the resources you actually consume, based on your DB Instance hours consumed, database storage, backup storage, and data transfer.

Service Highlights

Simple to Deploy – Amazon RDS makes it easy to go from project conception to deployment. Use the AWS Management Console or simple API calls to access the capabilities of a production-ready relational database without worrying about infrastructure provisioning or installing and maintaining database software.

Managed – Amazon RDS handles generic, time-consuming database management tasks, such as patch management and backup, which allows you to pursue higher value application development or database refinements.

Compatible – With Amazon RDS, you get full native access to a MySQL database. This means Amazon RDS works with your existing tools, applications, and drivers. You can port an existing database to Amazon RDS without changing a line of code – just point your tools or applications at your Amazon RDS DB Instance and you are ready to go.

Scalable – With a simple API call or few clicks of the AWS Management Console you can scale the compute and storage resources available to your database to meet your business needs and application load.

Reliable – Amazon RDS has multiple features that enhance reliability for critical production databases, including automated backups, DB snapshots, and Multi-AZ deployments. Amazon RDS runs on the same highly reliable infrastructure used by other Amazon Web Services.

Designed for use with other Amazon Web Services – Amazon RDS is tightly integrated with other Amazon Web Services. For example, an application running in Amazon EC2 will experience low-latency database access to an Amazon RDS DB Instance in the same region.

Secure – Amazon RDS provides web service interfaces to configure firewall settings that control network access to your database.

Inexpensive – You pay very low rates and only for the resources you actually consume. There are no long-term contracts or up-front commitments to use Amazon RDS.


Features

Features for enhanced database reliability, availability, and durability:

  • Automated Backups – Turned on by default, the automated backup feature of Amazon RDS enables point-in-time recovery for your DB Instance. Amazon RDS will backup your database and transaction logs and store both for a user-specified retention period. This allows you to restore your DB Instance to any second during your retention period, up to the last five minutes. Your automatic backup retention period can be configured to up to eight days.
  • DB Snapshots – DB Snapshots are user-initiated backups of your DB Instance. These full database backups will be stored by Amazon RDS until you explicitly delete them. You can create a new DB Instance from a DB Snapshot whenever you desire.
  • Multi-AZ Deployments – A deployment option for your DB Instance that provides enhanced availability and data durability by automatically replicating database updates between multiple Availability Zones. Availability Zones are physically separate locations with independent infrastructure engineered to be insulated from failure in other Availability Zones. When you create or modify your DB Instance to run as a Multi-AZ deployment, Amazon RDS will automatically provision and maintain a synchronous “standby” replica in a different Availability Zone. In the event of planned database maintenance or unplanned service disruption, Amazon RDS will automatically failover to the up-to-date standby so that database operations can resume quickly without administrative intervention. The increased availability and fault tolerance offered by Multi-AZ deployments are well suited to critical production environments. DB Instances can be converted to and from Multi-AZ deployments with a single API call or few clicks of the AWS Management Console. Click here for DB Instance pricing when running as a Multi-AZ deployment. To learn more about Multi-AZ deployments, visit our FAQs.

DB Instance Classes

Amazon RDS currently supports five DB Instance Classes:

  • Small DB Instance: 1.7 GB memory, 1 ECU (1 virtual core with 1 ECU), 64-bit platform, Moderate I/O Capacity
  • Large DB Instance: 7.5 GB memory, 4 ECUs (2 virtual cores with 2 ECUs each), 64-bit platform, High I/O Capacity
  • Extra Large DB Instance: 15 GB of memory, 8 ECUs (4 virtual cores with 2 ECUs each), 64-bit platform, High I/O Capacity
  • Double Extra Large DB Instance: 34 GB of memory, 13 ECUs (4 virtual cores with 3,25 ECUs each), 64-bit platform, High I/O Capacity
  • Quadruple Extra Large DB Instance: 68 GB of memory, 26 ECUs (8 virtual cores with 3.25 ECUs each), 64-bit platform, High I/O Capacity

For each DB Instance class, RDS provides you with the ability to select from 5GB to 1TB of associated storage capacity. One ECU provides the equivalent CPU capacity of a 1.0-1.2 GHz 2007 Opteron or 2007 Xeon processor.


Pricing

Pay only for what you use. There is no minimum fee. Estimate your monthly bill using the AWS Simple Monthly Calculator.

Amazon RDS DB Instance Pricing

On Demand, Standard Deployment:

Pay by the hour your DB Instance runs.

US – N. Virginia
DB Instance Class Price Per Hour
Small DB Instance $0.11
Large DB Instance $0.44
Extra Large DB Instance $0.88
Double Extra Large DB Instance $1.55
Quadruple Extra Large DB Instance $3.10
US – N. California
DB Instance Class Price Per Hour
Small DB Instance $0.12
Large DB Instance $0.48
Extra Large DB Instance $0.97
Double Extra Large DB Instance $1.70
Quadruple Extra Large DB Instance $3.41
EU – Ireland
DB Instance Class Price Per Hour
Small DB Instance $0.12
Large DB Instance $0.48
Extra Large DB Instance $0.97
Double Extra Large DB Instance $1.70
Quadruple Extra Large DB Instance $3.41
APAC – Singapore
DB Instance Class Price Per Hour
Small DB Instance $0.12
Large DB Instance $0.48
Extra Large DB Instance $0.97
Double Extra Large DB Instance $1.70
Quadruple Extra Large DB Instance $3.41

On Demand, Multi-AZ Deployment:

When you run your DB Instance as a Multi-AZ deployment for enhanced data durability and availability, Amazon RDS provisions and maintains a standby replica in a different Availability Zone.

US – N. Virginia
Multi-AZ DB Instance Class Price Per Hour
Small DB Instance $0.22
Large DB Instance $0.88
Extra Large DB Instance $1.66
Double Extra Large DB Instance $3.10
Quadruple Extra Large DB Instance $6.20
US – N. California
Multi-AZ DB Instance Class Price Per Hour
Small DB Instance $0.24
Large DB Instance $0.96
Extra Large DB Instance $1.94
Double Extra Large DB Instance $3.40
Quadruple Extra Large DB Instance $6.82
EU – Ireland
Multi-AZ DB Instance Class Price Per Hour
Small DB Instance $0.24
Large DB Instance $0.96
Extra Large DB Instance $1.94
Double Extra Large DB Instance $3.40
Quadruple Extra Large DB Instance $6.82
APAC – Singapore
Multi-AZ DB Instance Class Price Per Hour
Small DB Instance $0.24
Large DB Instance $0.96
Extra Large DB Instance $1.94
Double Extra Large DB Instance $3.40
Quadruple Extra Large DB Instance $6.82

For both standard and Multi-AZ deployments, pricing is per DB Instance-hour consumed, from the time a DB Instance is launched until it is terminated. Each partial DB Instance-hour consumed will be billed as a full hour.

Provisioned Database Storage

For each DB Instance class, Amazon RDS provides you the ability to select from 5 GB to 1 TB of associated storage capacity for your primary data set.

Standard Deployment

US – N. Virginia
Storage Rate $0.10 per GB-month
I/O Rate $0.10 per 1 million requests
US – N. California
Storage Rate $0.11 per GB-month
I/O Rate $0.11 per 1 million requests
EU – Ireland
Storage Rate $0.11 per GB-month
I/O Rate $0.11 per 1 million requests
APAC – Singapore
Storage Rate $0.11 per GB-month
I/O Rate $0.11 per 1 million requests

Multi-AZ Deployment

When you run your DB Instance as a Multi-AZ deployment for enhanced data durability and availability, Amazon RDS provisions and maintains a standby replica in a different Availability Zone.

US – N. Virginia
Multi-AZ Storage Rate $0.20 per GB-month
I/O Rate $0.10 per 1 million requests
US – N. California
Multi-AZ Storage Rate $0.22 per GB-month
I/O Rate $0.11 per 1 million requests
EU – Ireland
Multi-AZ Storage Rate $0.22 per GB-month
I/O Rate $0.11 per 1 million requests
APAC – Singapore
Multi-AZ Storage Rate $0.22 per GB-month
I/O Rate $0.11 per 1 million requests
* For Multi-AZ deployments, when you update your database, write I/O usage will double as Amazon RDS synchronously replicates your data to the standby DB instance. Read I/O usage will remain the same when reading from the database.

Backup Storage

Backup storage is the storage associated with your automated database backups and any user-initiated DB Snapshots you have taken. Increasing your backup retention period or taking additional database snapshots increases the backup storage consumed by your database.

  • There is no additional charge for backup storage up to 100% of your provisioned database storage for an active DB Instance.* After the DB Instance is terminated, backup storage is billed at $0.15 per GB-month.
  • Additional backup storage: $0.15 per GB-month

* For example, if you have an active DB Instance with 10GB-month of provisioned database storage, we will provide up to 10GB-month of backup storage at no additional charge. Based upon our experience as database administrators, the vast majority of databases require less raw storage for a backup than for the primary data set, meaning that most customers will never pay for backup storage.

Data Transfer

The pricing below is based on data transferred “in” and “out” of Amazon RDS.

Data Transfer In US & EU Regions APAC Region
All Data Transfer Free until Nov 1, 2010 * Free until Nov 1, 2010 *
Data Transfer Out ** US & EU Regions APAC Region
First 1 GB per Month $0.00 per GB $0.00 per GB
Up to 10 TB per Month $0.15 per GB $0.19 per GB
Next 40 TB per Month $0.11 per GB $0.15 per GB
Next 100 TB per Month $0.09 per GB $0.13 per GB
Over 150 TB per Month $0.08 per GB $0.12 per GB

* Data Transfer In will be $0.10 per GB after November 1, 2010.
** Rate tiers take into account your aggregate Data Transfer Out usage across Amazon EC2, Amazon S3, Amazon RDS, Amazon SimpleDB, Amazon SQS, Amazon SNS, and Amazon VPC.

While standard Amazon EC2 Regional Data Transfer charges of $.01 per GB in/out apply when transferring data between an Amazon EC2 instance and Amazon RDS DB Instance in different Availability Zones of the same Region, you are only charged for the Data Transfer in or out of the Amazon EC2 instance. There is no Amazon RDS Data Transfer charge for traffic in or out of the Amazon RDS DB Instance itself. In addition, there is no Data Transfer charge for the data replication that occurs between Availability Zones as part of a Multi-AZ deployment. Data transferred between Amazon RDS and AWS services in different regions will be charged as Internet Data Transfer on both sides of the transfer.


Detailed Description

Working with Amazon RDS

Amazon RDS allows you to use the AWS Management Console or a simple set of web services APIs to create, delete and modify relational database instances (DB Instances). You can also control access and security for your instance(s) and manage your database backups and snapshots. For a full list of the available Amazon RDS APIs, please see the Amazon RDS API Guide. Some of the most commonly used APIs and their functionality are listed below:

  • CreateDBInstance — Provision a new DB Instance, specifying DB Instance class, storage capacity, the backup retention policy you wish to use, and whether you want to run the DB Instance as a Multi-AZ deployment. This one API call is all that’s needed to give you access to a running MySQL database, with the software pre-installed and the available resource capacity you request.
  • ModifyDBInstance — Modify settings for a running DB Instance. This lets you use a single API call to scale the resources available to your DB Instance in response to the load on your database, or change how it is automatically backed up and maintained on your behalf, or convert your DB Instance to or from a Multi-AZ deployment.
  • DeleteDBInstance — Delete a running DB Instance. With Amazon RDS, you can terminate your DB Instance at any time and pay only for the resources you used.
  • CreateDBSnapshot — Generate a snapshot of your DB Instance. You can restore your DB Instance to these user-created snapshots at any point, even to reinstate a previously deleted DB Instance.
  • RestoreDBInstanceToPointInTIme — Create a new DB Instance from a point-in-time backup. You can restore to any point within the retention period you specified, usually up to the last five minutes of your database’s usage.

For a brief explanation on how simple it is to get started using Amazon RDS, see AWS Evangelist Jeff Barr’s post announcing Amazon RDS. If you wish to run more than 20 DB Instances, please complete this form and we will promptly respond to your request.

New Features for Amazon RDS Coming Soon

To help you better plan future hardware and software investments, Amazon RDS would like to share the following features that we plan to make available in the coming months:

  • Reserved DB Instances — With Reserved DB Instances you pay a low, one-time fee and in turn receive a discount on the ongoing hourly usage charge for that DB Instance. Reserved DB Instances can provide substantial savings over owning your own hardware or even running only On-Demand DB Instances.
  • Read Replicas — Will enable you to scale beyond the capacity constraints of a single DB Instance for read-heavy database workloads. Read Replicas will make it easier to take advantage of MySQL’s native, asynchronous replication to dynamically add DB Instance replicas to satisfy incoming read traffic. Multi-AZ deployments use a different replication technology than Read Replicas to address a different need. Multi-AZ deployments employ synchronous replication between Availability Zones and maintain an identical standby replica to maximize DB Instance availability and data durability during planned maintenance or unplanned service disruption. However, the standby replica in a Multi-AZ deployment cannot serve read traffic and therefore does not provide any read scaling benefits. You will be able to associate Read Replicas with a Multi-AZ deployment to achieve both read scaling and enhanced DB Instance reliability.

Easily port your existing MySQL-based applications

If your application already relies on a MySQL database, porting to Amazon RDS is simple. In general, to port your application to Amazon RDS you simply:

  • Create a DB Instance with the compute, storage capacity and access controls required.
  • For smaller databases (e.g. up to 1 GB), extract the data with mysqldump and pipe it directly into Amazon RDS. Below is an example showing the “acme” database being copied to Amazon RDS:
mysqldump acme | mysql --host=hostname --user=username --password acme
  • For larger databases, build your database schema in Amazon RDS, then convert the data into a flat file and import it into your DB Instance using the mysqlimport utility. Below is an example showing the “acme” database being copied to Amazon RDS:
mysqlimport --local --compress --user=username --password --host=hostname --fields-terminated-by=',' Acme sales.part_*
  • Update the database connection string in your application config file.

For more information on porting an application to Amazon RDS, see the Amazon RDS Customer Data Import Guide for MySQL

Paying for What You Use

You will be charged at the end of each month for the Amazon RDS resources you actually consume. Once a DB Instance you have created is available for connection, you will be charged for each hour your DB Instance is running (e.g. $0.11/hr for a Small DB Instance). Each DB Instance will run until termination, which occurs when you issue an API call to delete the DB Instance, or in the event of an instance failure. Partial DB Instance hours consumed are billed as full hours. In addition to DB Instance hours, you are also billed for your monthly storage, IO requests, and backups. If you scale your storage capacity within the billing period, your bill will be pro-rated accordingly.

Getting Started

The best way to understand Amazon RDS is to review the Getting Started Guide, part of our Technical Documentation. Once you are ready to create your own DB Instance and start building applications, you can use the AWS Management Console or Amazon RDS APIs to launch a DB Instance in minutes. If you wish to run more than 20 DB Instances, please complete this form and we will promptly respond to your request.

Choosing an AWS Database Solution

Amazon Web Services provides a number of database alternatives for developers. Amazon RDS enables you to run a fully featured relational database while offloading database administration; Amazon SimpleDB provides simple index and query capabilities with seamless scalability; and using one of our many relational database AMIs on Amazon EC2 and Amazon EBS allows you to operate your own relational database in the cloud. There are important differences between these alternatives that may make one more appropriate for your use case.

Amazon RDS

If your application requires relational storage, but you want to reduce the time you spend on database management, Amazon RDS automates common administrative tasks to reduce your complexity and total cost of ownership. Amazon RDS automatically backs up your database and maintains your database software, allowing you to spend more time on application development. With the native database access Amazon RDS provides, you get the programmatic familiarity, and tooling and application compatibility, of a traditional relational database. You also benefit from the flexibility of being able to scale the compute resources or storage capacity associated with your relational database instance via a single API call.

With Amazon RDS, you still control the database settings that are specific to your business. This includes building a relational schema to fit your use case, creating indices, and tuning the performance of your database to your application’s workflow. You also take an active role in the scaling decisions for your database – you tell the service when you want to add more storage or change to a larger or smaller DB Instance class.

We recommend Amazon RDS for customers who:

  • Have existing or new applications, code, or tools that require a relational database
  • Want native access to a MySQL relational database, but prefer to offload the infrastructure management and database administration to AWS
  • Like the flexibility of being able to scale their database compute and storage resources with an API call, and only pay for the infrastructure resources they actually consume

Amazon EC2 – Relational Database AMIs

Developers may use a number of leading relational databases on Amazon EC2. An Amazon EC2 instance can be used to run a database, and the data can be stored within an Amazon Elastic Block Store (Amazon EBS) volume. Amazon EBS is a fast and reliable persistent storage feature of Amazon EC2. By designing, building, and managing their own relational database on Amazon EC2, developers avoid the friction of provisioning and scaling their own infrastructure while gaining access to a variety of standard database engines over which they can exert full administrative control. Available AMIs include IBM DB2, Microsoft SQL Server, MySQL, Oracle, PostgreSQL, Sybase, Aster Data, and Vertica.

We recommend Amazon EC2 Relational Database AMIs for customers who:

  • Wish to select from a wide variety of database engines
  • Want to exert complete administrative control over their database server

Amazon SimpleDB

For database implementations that do not require a relational model, and that principally demand index and query capabilities, Amazon SimpleDB eliminates the administrative overhead of running a highly-available production database, and is unbound by the strict requirements of a RDBMS. With Amazon SimpleDB, you store and query data items via simple web services requests, and Amazon SimpleDB does the rest. In addition to handling infrastructure provisioning, software installation and maintenance, Amazon SimpleDB automatically indexes your data, creates geo-redundant replicas of the data to ensure high availability, and performs database tuning on customers’ behalf. Amazon SimpleDB also provides no-touch scaling. There is no need to anticipate and respond to changes in request load or database utilization; the service simply responds to traffic as it comes and goes, charging only for the resources consumed. Finally, Amazon SimpleDB doesn’t enforce a rigid schema for data. This gives customers flexibility – if their business changes, they can easily reflect these changes in Amazon SimpleDB without any schema updates or changes to the database code.

However, Amazon SimpleDB is not a relational database, and does not offer some features needed in certain applications, e.g. complex transactions or joins.

We recommend Amazon SimpleDB for customers who:

  • Principally utilize index and query functions rather than more complex relational database functions
  • Don’t want any administrative burden at all in managing their structured data
  • Want a service that scales automatically up or down in response to demand, without user intervention
  • Require the highest availability and can’t tolerate downtime for data backup or software maintenance

More Information

Visit the Running Databases on AWS page for more detailed information on the various database alternatives for your applications.


Intended Usage and Restrictions

Your use of this service is subject to the Amazon Web Services Customer Agreement.



Sign Up for Amazon RDS
©2010, Amazon Web Services LLC or its affiliates. All rights reserved.