Amazon Aurora
MySQL Compatible Edition
Armando Barrales
Solutions Architect
Uriel Ramirez
Solutions Architect
© 2020, Amazon Web Services, Inc. or its Affiliates.
Table of contents
• Introduction to Amazon Aurora
• Aurora Fundamentals
• HA/DR
© 2020, Amazon Web Services, Inc. or its Affiliates.
Introduction to Amazon Aurora
© 2020, Amazon Web Services, Inc. or its Affiliates.
You asked for a cost-effective, enterprise database…
So, we designed Amazon Aurora - enterprise database
at open source price, delivered as a managed service
Speed and availability of high-end commercial databases
Simplicity and cost-effectiveness of open source databases
Drop-in compatibility with MySQL and PostgreSQL
Amazon Aurora
Simple pay as you go pricing
© 2020, Amazon Web Services, Inc. or its Affiliates.
Re-imagining databases for the cloud…
1 Scale-out, distributed, design
2 Service-oriented architecture using
AWS services
3 Fully managed service,
automating administrative tasks
© 2020, Amazon Web Services, Inc. or its Affiliates.
Leverages the AWS Cloud ecosystem
AWS Lambda Invoke AWS Lambda events from stored procedures/triggers.
Amazon S3 Load from, save to Amazon S3, store snapshots and backups in S3.
Use AWS Identity & Access Management (IAM) roles to manage
AWS IAM
database access control.
Amazon CloudWatch Upload systems metrics and audit logs to Amazon CloudWatch.
Amazon Sagemaker
Make inferences directly from your database using SQL calls
Amazon Comprehend
© 2020, Amazon Web Services, Inc. or its Affiliates.
Automates administrative tasks
Schema design
Automatic fail-over
Query construction YOU
Backup & recovery
Query optimization
Isolation & security
Industry compliance
AWS
Push-button scaling
Takes care of your time-consuming Automated patching
database management tasks, freeing you Advanced monitoring
to focus on your applications and business
Routine maintenance
© 2020, Amazon Web Services, Inc. or its Affiliates.
Amazon Aurora customer adoption
Fastest growing service in AWS history!
Aurora is used by ¾ of the top 100 AWS customers
© 2020, Amazon Web Services, Inc. or its Affiliates.
Amazon Aurora is fast…
up to 5x the throughput of MySQL; 3x the throughput
of PostgreSQL
© 2020, Amazon Web Services, Inc. or its Affiliates.
Who is adopting Amazon Aurora?
Higher performance
Customers migrating
Better availability and durability
from open source MySQL
Easy migration; no application change
One-tenth of the cost; no licenses
Customers using
Comparable performance and availability
commercial DB engines
Migration tooling and services
Integration with other AWS services
Customers building new
Cloud-native capabilities and access mechanisms
applications
Scalability, availability, managed service
© 2020, Amazon Web Services, Inc. or its Affiliates.
Amazon Aurora Fundamentals
Storage System and Cluster Architecture
© 2020, Amazon Web Services, Inc. or its Affiliates.
Traditional Database Architecture
Compute
Node
SQL
Databases are all about I/O… Transactions
Caching
Design principles over the last 40+ years: Logging
• Increase I/O bandwidth
• Decrease number of I/Os consumed
Attached
Storage
© 2020, Amazon Web Services, Inc. or its Affiliates.
Traditional Database Architecture… in the Cloud
Compute
Compute and storage have different Node
lifetimes SQL
Transactions
• Instances fail and may be replaced Caching
• Instances are shut down Logging
• Instances are scaled up/down
• Instances are added to cluster to scale out
Compute and storage are best decoupled
for scalability, availability and durability
Attached
Storage
© 2020, Amazon Web Services, Inc. or its Affiliates.
Scale-out, distributed, multi-tenant storage architecture
Purpose-built log-structured
distributed storage
Storage volume is striped
across hundreds of storage
nodes
Storage nodes with locally CLUSTER STORAGE VOLUME
attached SSDs
Continuous backup to Amazon
S3.
AZ 1 AZ 2 AZ 3
© 2020, Amazon Web Services, Inc. or its Affiliates.
Amazon S3
Amazon Aurora cluster topology
DB Cluster
Up to 16 DB instances/nodes in a
regional cluster, spanning Writer Reader Reader
SQL SQL SQL
multiple AZs
Transactions Transactions Transactions
Caching Caching Caching
One (first) is always the
writer/master.
SHARED CLUSTER STORAGE VOLUME
Storage volume shared with
readers. Readers open volume in
read only mode (MySQL
innodb_read_only = 1).
AZ 1 AZ 2 AZ 3
*Aurora Serverless does not expose compute
© 2020, Amazon Web Services, Inc. or its Affiliates. DB instances directly, and has no readers
Accessing your Aurora databases
Managed DB service, no OS or Cluster
Endpoint
Reader
Endpoint
filesystem level access
Writer Reader Reader
SQL SQL SQL
Connect to writer using Cluster Transactions Transactions Transactions
(DNS) Endpoint – always points Caching Caching Caching
to writer!
Round robin load balancing for
SHARED CLUSTER STORAGE VOLUME
reads using Reader (DNS)
Endpoint (excludes writer except
on single node clusters)
Custom (DNS) Endpoints, read
replica auto scaling supported
as well AZ 1 AZ 2 AZ 3
© 2020, Amazon Web Services, Inc. or its Affiliates.
Tolerating compute failures
Any reader node can be Cluster
Endpoint
Reader
Endpoint
promoted to writer/master
Writer Writer Reader
SQL SQL SQL
Failover tier determines Transactions Transactions Transactions
preference on failover reader Caching Caching Caching
candidates. Lower values more 0 0 5
preferred.
SHARED CLUSTER STORAGE VOLUME
Failed instances/nodes will be
replaced after failover and come
online as readers.
Readers reboot on writer failover.
AZ 1 AZ 2 AZ 3
© 2020, Amazon Web Services, Inc. or its Affiliates.
Aurora architectural improvements
Do less work: Be more efficient:
• Do fewer I/Os • Process asynchronously
• Minimize network packets • Reduce latency path
• Cache prior results • Use lock-free data structures
• Offload the database engine • Batch operations together
© 2020, Amazon Web Services, Inc. or its Affiliates.
Hands-on with Amazon Aurora (MySQL)
Suggested hands-on labs:
1. Prerequisites (20min, depending on audience level, launch DB cluster via CloudFormation, or manually)
2. Create a New DB Cluster (20min, optional, depending on audience level)
3. Connect, Load Data and Auto Scale (15min)
Hands-on labs will exercise the following:
• Deployment automation via CloudFormation
• Creation of DB cluster topology manually (optional)
• Client connectivity to the different endpoints
• Data loading via import from Amazon S3
• Load generation to test read replica auto scaling
© 2020, Amazon Web Services, Inc. or its Affiliates.