Amazon RDS makes it easy to set up, operate, and scale MySQL deployments in the cloud. With Amazon RDS, you can deploy scalable MySQL deployments in minutes with cost-efficient and resizable hardware capacity. Amazon RDS frees you up to focus on application development by managing time-consuming database administration tasks including backups, software patching, monitoring, scaling and replication.
You can now launch DB Instances that use General Purpose (SSD) storage, a new SSD-backed storage option for Amazon RDS. Learn more »
Amazon RDS for MySQL gives you access to the capabilities of a familiar MySQL database engine. This means that the code, applications, and tools you already use today with your existing databases can be used with Amazon RDS. Amazon RDS automatically patches the database software and backs up your database, storing the backups for a user-defined retention period and enabling point-in-time recovery. You benefit from the flexibility of being able to scale the compute resources or storage capacity associated with your Database Instance (DB Instance) via a single API call.
Amazon RDS for MySQL DB Instances can be provisioned with General Purpose (SSD) storage, Provisioned IOPS (SSD) storage, or magnetic storage. Provisioned IOPS (SSD) is a high performance storage option designed to deliver fast, predictable, and consistent performance for I/O intensive transactional database workloads. You can provision from 1,000 IOPS to 30,000 IOPS per DB Instance. (Maximum realized IOPS may be lower.) General Purpose (SSD) storage delivers a consistent baseline of 3 IOPS per provisioned GB and provides the ability to burst up to 3,000 IOPS. Magnetic storage (formerly known as RDS Standard storage) may be used for small database workloads where data is accessed less frequently.
In addition, Amazon RDS for MySQL makes it easy to use replication to enhance availability and reliability for production workloads. Using the Multi-AZ deployment option you can run mission critical workloads with high availability and built-in automated fail-over from your primary database to a synchronously replicated secondary database in case of a failure. Amazon RDS for MySQL also enables you to scale out beyond the capacity of a single database deployment for read-heavy database workloads. As with all Amazon Web Services, there are no up-front investments required, and you pay only for the resources you use.
Amazon RDS for MySQL is designed for developers or businesses who require the full features and capabilities of a MySQL database, or who wish to migrate existing applications and tools that utilize a MySQL database. Since Amazon RDS for MySQL provides you direct access to familiar MySQL database software running on your own Amazon RDS DB Instance, your applications should work seamlessly.
- Pre-configured Parameters – Amazon RDS for MySQL deployments are pre-configured with a sensible set of parameters and settings appropriate for the DB Instance class you have selected. You can simply launch a MySQL Instance and connect your application within minutes without additional configuration. If you desire additional control, you can achieve it via DB Parameter Groups
- Monitoring and Metrics – Amazon RDS provides Amazon CloudWatch metrics for you DB Instance deployments at no additional charge. You can use the AWS Management Console to view key operational metrics for your DB Instance deployments, including compute/memory/storage capacity utilization, I/O activity, and DB Instance connections.
- DB Event Notifications – Amazon RDS provides Amazon SNS notifications via email or SMS for your DB Instance deployments. You can use the AWS Management Console or the Amazon RDS APIs to subscribe to over 40 different DB events associated with your Amazon RDS deployments.
- Automatic Software Patching – Amazon RDS will make sure that the MySQL software powering your deployment stays up-to-date with the latest patches. You can exert optional control over when and if your DB Instance is patched via DB Engine Version Management.
- General Purpose (SSD) – Amazon RDS General Purpose (SSD) storage delivers a consistent baseline of 3 IOPS per provisioned GB and provides the ability to burst up to 3,000 IOPS.
You can convert from Magnetic Storage to General Purpose (SSD) storage; you will encounter a short availability impact when doing so.
To learn more and get started with Amazon RDS General Purpose (SSD) Storage, please refer to the General Purpose (SSD) Storage section of the Amazon RDS User Guide.
- Provisioned IOPS (SSD) – You can provision up to 3TB storage and 30,000 IOPS per database instance. For a workload with 50% writes and 50% reads running on an cr1.8xlarge instance, you can realize up to 20,000 IOPS for MySQL. However, by provisioning more than this limit, you may be able to achieve lower latency and higher throughput. Your actual realized IOPS may vary from the amount you provisioned based on your database workload, instance type, and database engine choice. Refer to the Factors That Affect Realized IOPS section of the Amazon RDS User Guide.
You can convert from standard storage to Provisioned IOPS storage and get consistent throughput and low I/O latencies. You will encounter a short availability impact when doing so. You can independently scale IOPS (in increments of 1000) and storage on-the-fly with zero downtime. The ratio of IOPS provisioned to the storage requested (in GB) should be between 3 and 10. For example, for a database instance with 1000 GB of storage, you can provision from 3,000 to 10,000 IOPS. You can scale the IOPS up or down depending on factors such as seasonal variability of traffic to your applications.
To learn more and get started with Amazon RDS Provisioned IOPS, please refer to the Provisioned IOPS Storage section of the Amazon RDS User Guide.
- 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 thirty five 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.
- DB Instance Class – Using the Amazon RDS APIs or a few clicks of the AWS Management Console, you can scale the compute and memory resources powering your deployment up or down. Scaling operations typically complete within a handful of minutes.
- Storage and IOPS – As your storage requirements grow you can provision additional storage on-the-fly with zero downtime. If you are using RDS Provisioned IOPS, you can also scale the throughput of your DB Instance by specifying the IOPS rate from 1,000 IOPS to 10,000 IOPS in 1,000 IOPS increments and storage from 100GB and 3TB.
Amazon RDS provides two distinct but complementary replication features that can be used in conjunction to gain enhanced database availability, protect your latest database updates against unplanned outages, and scale beyond the capacity constraints of a single DB Instance for read-heavy database workloads.
- Multi-AZ Deployments – A deployment option for your production DB Instances that enhances database availability while protecting your latest database updates against unplanned outages. When you create or modify your DB Instance to run as a Multi-AZ deployment, Amazon RDS will automatically provision and manage a “standby” replica in a different Availability Zone (independent infrastructure in a physically separate location). Database updates are made concurrently on the primary and standby resources to prevent replication lag. In the event of planned database maintenance, DB Instance failure, or an Availability Zone failure, Amazon RDS will automatically failover to the up-to-date standby so that database operations can resume quickly without administrative intervention. Prior to failover you cannot directly access the standby, and it cannot be used to serve read traffic.
- Read Replicas – This replication feature makes it easy to elastically scale out beyond the capacity constraints of a single DB Instance for read-heavy database workloads. You can create one or more replicas of a given source DB Instance within an AWS Region or across AWS Regions and serve high-volume application read traffic from multiple copies of your data, thereby increasing aggregate read throughput. Amazon RDS uses MySQL’s native replication to propagate changes made to a source DB Instance to any associated Read Replicas. You can use Cross Region Read Replicas to enhance your disaster recovery objectives, serve read traffic from a region closest to your global users or migrate your databases across AWS regions. Note that since Read Replicas leverage standard MySQL replication, they may fall behind their source database instances. Visit the Working with Read Replicas section of the Amazon RDS User Guide to learn more.
Multi-AZ Deployments and Read Replicas use different underlying replication technologies suited to their respective purposes. However, you can use them together for reliable, scalable production deployments. Simply designate a Multi-AZ deployment as the source for one or more Read Replicas to gain both the availability and durability benefits of a Multi-AZ deployment and the scaling benefits of Read Replicas. To learn more about Multi-AZ deployments and Read Replicas, please visit our FAQs on the replication here.
Using Amazon VPC, you can isolate your DB Instances in your own virtual network, and connect to your existing IT infrastructure using industry-standard encrypted IPSec VPN. To learn more about Amazon RDS in VPC, refer to the Amazon RDS User Guide. In addition, using Amazon RDS, you can configure firewall settings and control network access to your DB Instances.