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 Engine as MySQL, DB Instance class, storage capacity, DB Engine version (optional), 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. You can also use the CreateDBInstanceReadReplica API to create a Read Replica for a given source DB Instance deployment.
  • 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. You can also use this API to gain optional control over MySQL Version upgrades for your DB Instance – maintain compatibility with specific MySQL versions, test new versions with your application before deploying in production, and perform version upgrades on your own terms and timelines.
  • 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.
  • CreateDBInstanceReadReplica — Create a DB Instance that acts as a read replica of a source DB instance.

If your application already relies on a MySQL database, importing data to Amazon RDS is simple. In general, to migrate your data 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 importing data into Amazon RDS, see the Amazon RDS Data Import Guide for MySQL.

Amazon RDS for MySQL currently supports the following DB Instance Classes:

Instance Type vCPU Memory (GiB) PIOPS-Optimized
Network Performance
Standard - Latest Generation
db.m4.large 2
db.m4.xlarge 4
Yes High
db.m4.2xlarge 8
Yes High
db.m4.4xlarge 16
Yes High
db.m4.10xlarge 40
Yes 10 Gigabit
Standard - Previous Generation
db.m3.medium 1 3.75 - Moderate
db.m3.large 2 7.5 - Moderate
db.m3.xlarge 4 15 Yes High
db.m3.2xlarge 8 30 Yes High
Memory Optimized - Current Generation
db.r3.large 2 15 - Moderate
db.r3.xlarge 4 30.5 Yes Moderate
db.r3.2xlarge 8 61 Yes High
db.r3.4xlarge 16 122 Yes High
db.r3.8xlarge 32 244 -
10 Gigabit
Micro instances        
db.t2.micro 1 1 - Low to Moderate
db.t2.small 1 2 - Low to Moderate
db.t2.medium 2 4 - Low to Moderate

Looking for T1, M1, M2, or CR1 DB Instances? See the Previous Generation Instances page.

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. 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, I/O requests, and backups. If you scale your storage capacity within the billing period, your bill will be pro-rated accordingly.

For details, see the Amazon RDS for MySQL pricing page.

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