Amazon Aurora Replication: How to Make it Work Securely & in Real-Time

When AWS first announced a MySQL-compatible database engine named Aurora for Amazon Relational Database Service (Amazon RDS) back in 2014, the announcement made quite some waves in the MySQL and open source database communities. AWS’s mantra at the time was that its new service would combine the speed and availability of high-end commercial databases with the simplicity and cost-effectiveness of open source databases. The announcement was met with mixed-feelings, some being concerned about open source projects being swallowed up by tech giants, and others welcoming the news as it meant additional choice.

Fast-forward to 2021 and DB-Engines currently ranks Amazon Aurora 46th on its popularity ranking overall for database management systems and 28th for its Relational DBMS ranking. It is the fastest growing service in the history of AWS and is a MySQL and PostgreSQL-compatible relational database built for the cloud. While it doesn’t appear to be hugely popular when just looking at these rankings, it undeniably has made its mark on the MySQL & PostgreSQL ecosystems.

Aurora is managed by the Amazon Relational Database Service (RDS), which automates database management tasks such as hardware provisioning, software patching, setup, configuration, and backups.

Why Amazon Aurora (and HA Solutions in General)

Businesses across the globe rely on mission critical applications that support ever increasing volumes of data with user numbers often ranging in the millions. These applications rely on relational databases built for high performance, scalability, and high availability.

When supporting these types of 24/7 applications, databases can face mission critical challenges, such as:

  • Maintenance: If a database needs to be taken offline (including to do patches and upgrades) sometimes for hours at a time, that can be an immediate loss to the business at different levels.
  • Cost: database solutions that provide the performance and high availability required for 24/7 applications typically come with steep price tags and lock-in licensing terms.
    • Open source databases are cost-efficient, but require skilled (and accordingly expensive) experts to continuously tune for performance and ensure reliability.

A great MySQL High Availability solution needs to be able to support any kind of database workload, including operational and transactional applications with the highest availability, durability and performance requirements.

Why Replicate From MySQL to Amazon Aurora (and Vice-Versa)

With IT infrastructures, and database infrastructures, being rather polyglott nowadays, it’s almost a given that organisations would have several different databases running and handling different jobs. A typical scenario requiring replication from MySQL to Aurora for instance could be an organization that is using Aurora but wants to have a copy of their data stored in their onsite location to avoid vendor lock-in. This is where replication comes into play.

Tungsten Replicator (AMI) for Amazon Aurora

Tungsten replicator is a great tool when it comes to replication of data with heterogeneous (or homogeneous) data sources as it’s easy to configure and operate. It includes support for parallel replication, and advanced topologies such as fan-in and multi-primary, and can be used efficiently in cross-site deployments.

Wouldn’t it be great if you could replicate your data in real time, filter on the tables and schemas you need, all without putting any extra load on your MySQL server? Wouldn’t it also be great if schema changes just flowed through from MySQL to Amazon Aurora, without intervention on your part?

That’s where Tungsten Replicator (AMI) comes in.

It provides high-performance and improved replication functionality over the native MySQL replication solution and into a range of targets / databases, such as AWS Aurora of course… and including all MySQL variants, as well as Amazon Redshift, Oracle, Vertica, Hadoop, ClickHouse, Kafka, MongoDB & PostgreSQL.

In short, it is the most advanced heterogeneous replication solution for MySQL, MariaDB & Percona Server, including Amazon RDS MySQL and Amazon Aurora. It’s available as an AMI and can be accessed via AWS.

First off …

How Replication to Amazon Aurora Works

Option 1: Local Install

The extractor reads directly from the MySQL binary logs to extract transactions, even when the DBMS is down. This is the default.

Option 2: Remote Install

The extractor gets MySQL transactional log data remotely via the MySQL Remote Replication protocols, which require the database to be online and available. This is also how we extract from RDS/Aurora in Amazon (as well as for remote databases where direct OS access isn’t available).

Offboard Extract & Apply

How to Get Started With the Tungsten Replicator AMI

Getting started with the 14-Day free trial

Users can try one instance of each type of the AMI for free for 14 days to get them started (AWS infrastructure charges still apply).

Please note that free trials will automatically convert to a paid hourly subscription upon expiration and the following then applies in the case of Aurora targets.

Replicate from AWS Redshift, AWS RDS MySQL, MySQL, MariaDB & Percona Server to Amazon Aurora from as little as $0.40/hour

With Tungsten Replicator (AMI) on AWS, users can replicate GB's of data from as little as $60c/hour:

  1. Go to the AWS Marketplace, and search for Tungsten, or click here.
  2. Choose and Subscribe to the Tungsten Replicator for MySQL Source Extraction.
  3. Choose and Subscribe to the target Tungsten Replicator AMI of your choice.
  4. Pay by the hour.
  5. When launched, the host will have all the prerequisites in place and a simple "wizard" runs on first launch and asks the user questions about the source and/or target and then configures it all for them.

Watch the Getting Started Walkthrough

Our colleague Chris Parker recorded this handy walk-through on how to get started with the Tungsten Replicator AMI if you need some tips & tricks.

Extraction and Appliers

Below you’ll find the full listing of extractors and appliers that are available with Tungsten Replicator.

Replication Extraction from Operational Databases

  • MySQL (all versions, on-premises and in the cloud)
  • MariaDB (all versions, on-premises and in the cloud)
  • Percona Server (all versions, on-premises and in the cloud)
  • AWS Aurora
  • Azure MySQL
  • Google Cloud SQL

Available Replication Target Databases

Operational Databases
Popular Analytics Solutions
Other Database Targets
  Incl. MongoDB Atlas  

Do give Tungsten Replicator AMI a try and let us know how you get on or if you have any questions by commenting below!

Related Blogs

Check out our related blogs if you’re (also) working with these databases / platforms:

About the Author

Continuent Team

Continuent, the MySQL Availability Company, since 2004 has provided solutions for continuous operations enabling business-critical MySQL applications to run on a global scale with zero downtime. Continuent provides geo-distributed MySQL high availability on-premises, in hybrid-cloud, and in multi-cloud environments.

Continuent customers are leading SaaS, e-commerce, financial services, gaming and telco companies who rely on MySQL and Continuent to cost-effectively safeguard billions of dollars in annual revenue.

Continuent’s database experts offer the industry's best 24/7 MySQL support services to ensure continuous client operations.

Add new comment