SlideShare a Scribd company logo
AWS COURSE DOCUMENT- BUI QUANG LAM - TRAINING 1
Training Course
Amazon Web Service
Day Content Lab
Day 1 System Operations on AWS
Day 2 Computing on AWS X
Day 3 Networking on AWS X
Day 4 Storage in AWS (EBS, EFS, Instance Store) X
Day 5 Elastic Load Balancing & Auto Scaling Group X
Day 6 Storage S3 in AWS X
Day 7 Route 53 X
Day 8 RDS, Aurora, ElastiCache X
Day 9 CloudWatch X
Author: Bui Quang Lam
Phone/Zalo: +84.0365.635.598
Mail: buiquanglam185@gmail.com
 Goal: Understanding Database in AWS
 RDS
 Aurora
 ElastiCache
Lab: Create and configuring database
AWS COURSE DOCUMENT- BUI QUANG LAM - TRAINING 2
Module 8: RDS, Aurora, ElastiCache
AWS RDS Overview
• RDS stands for Relational Database Service
• It’s a managed DB service for DB use SQL as a query language
• It allows you to create databases in the cloud that are managed by AWS
• Postgre
• MySQL
• MariaDB
• Oracle
• Microsoft SQL Server
• Aurora (AWS Proprietary database)
AWS COURSE DOCUMENT- BUI QUANG LAM - TRAINING 3
Module 8: RDS, Aurora, ElastiCache
Advantage over using RDS versus deploying DB on EC2
• RDS is a managed service:
• Automated provisioning, OS patching
• Coninuous backups and restore to specific timestamp (Point in Time Restore)!
• Monitoring dashboards
• Read replicas for improved read performance
• Multi AZ setup for DR (Disaster Recovery)
• Maintenance windows for upgrades
• Scaling capability (Vertical and horizontal)
• Storage backed by EBS (gp2 or io1)
• BUT you can’t SSH into your instances
AWS COURSE DOCUMENT- BUI QUANG LAM - TRAINING 4
Module 8: RDS, Aurora, ElastiCache
RDS Backups
• Backups are automatically enabled in RDS
• Automated backups:
• Daily full backup of the database (during the maintenance window)
• Transaction logs are backed-up by RDS every 5 minutes -> ability to restore to any
point in time (from oldest backup to 5 minutes ago)
• 7 days retention (can be increased to 35 days)
• DB Snapshots:
• Manually triggerd by the user
• Retention of backup for as long as you want
AWS COURSE DOCUMENT- BUI QUANG LAM - TRAINING 5
Module 8: RDS, Aurora, ElastiCache
RDS – Storage Auto Scaling
• Helps you increase storage on your RDS DB
instance dynamically
• When RDS detects you are running out of free
database storage, it scales automatically
• Avoid manual scaling your database storage
• You have to set Maximum Storage Threhold
(maximum limit for DB storage)
• Useful for applications with unpredictable
workloads
• Supports all RDS database engines (MariaDB,
MySQL, PostgreSQL, SQL Server, Oracle)
AWS COURSE DOCUMENT- BUI QUANG LAM - TRAINING 6
Module 8: RDS, Aurora, ElastiCache
RDS Read Replicas for read
scalability
• Up to 5 Read Replicas
• Within AZ, Cross AZ or Cross
Region
• Replication is ASYNC, so reads are
eventually consistent
• Replicas can be promoted to their
own DB
• Applications must update the
connection string to leverage read
replicas
AWS COURSE DOCUMENT- BUI QUANG LAM - TRAINING 7
Module 8: RDS, Aurora, ElastiCache
RDS Read Replicas – Use Cases
• You have a production database that is
taking on normal load
• You want to run a reporting application
to run some analytics
• You create a Read Replica to run the
new workload there
• The production application is
unaffected
• Read replicas are used for SELECT
(=read) only kind of statements (not
INSERT, UPDATE, DELETE)
AWS COURSE DOCUMENT- BUI QUANG LAM - TRAINING 8
Module 8: RDS, Aurora, ElastiCache
RDS Read Replicas – Network Cost
• In AWS there’s a network cost when data goes from one AZ to another
• For RDS Read Replicas within the same region, you don’t pay that fee
AWS COURSE DOCUMENT- BUI QUANG LAM - TRAINING 9
Module 8: RDS, Aurora, ElastiCache
RDS Multi AZ (Disaster Recovery)
• SYNC replication
• One DNS name – automatic app failover to
standby
• Increase availability
• Failover in case of loss of AZ, loss of
network, instance or storage failure
• No manual intervention in apps
• Multi-AZ replication is free
• Note: The Read Replicas be setup as Multi
AZ for Disaster Recovery (DR)
AWS COURSE DOCUMENT- BUI QUANG LAM - TRAINING 10
Module 8: RDS, Aurora, ElastiCache
RDS – From Single AZ to Multi AZ
• Zero downtime operation (no need to
stop the DB)
• Just click on “modify” for the database
• The following happens internally
• A snapshot is taken
• A new DB is restored from the snapshot in a
new AZ
• Synchronization is established between the two
databases
AWS COURSE DOCUMENT- BUI QUANG LAM - TRAINING 11
Module 8: RDS, Aurora, ElastiCache
RDS Security - Encryption
• At rest encryption
• Possibility to encrypt the master & read replicas with AWS KMS – AES-256
encryption
• Encryption has to be defined at launch time
• If the master is not encrypted, the read replicas cannot be encrypted
• Transparent Data Encryption (TDE) available for Oracle and SQL Server
• In-flight encryption
• SSL certificates to encrypt data to RDS in flight
• Provide SSL options with trust certificate when connecting to database
• To enforce SSL:
• PostgreSQL: rds.force_ssl= 1 in the AWS RDS Console (Parameter Groups_
• MySQL: Within the DB: GRANT USAGE ON *.* TO ‘mysqluser’@’%’ REQUIRE SSL
AWS COURSE DOCUMENT- BUI QUANG LAM - TRAINING 12
Module 8: RDS, Aurora, ElastiCache
RDS Encryption Operation
• Encrypting RDS backups
• Snapshots of un-encrypted RDS databases are un-encrypted
• Snapshot of encrypted RDS databases are encypted
• Can copy a snapshot into an encrypted one
• To encrypt an un-encrypted RDS database
• Create a snapshot of the un-encrypted database
• Copy the snapshot and enable encryption for the snapshot
• Restore the database from the encrypted snapshot
• Migrate applications to the new database, and delete the old database
AWS COURSE DOCUMENT- BUI QUANG LAM - TRAINING 13
Module 8: RDS, Aurora, ElastiCache
RDS Security – Network & IAM
• Network Security
• RDS databases are usually deployed within a private subnet, not in a public one
• RDS security works by leveraging security groups (the same concept as for EC2
instances) – it controls which IP / security group can communicate with RDS
• Access Management
• IAM policies help control who can manage AWS RDS (through the RDS API)
• Traditional Username and Password can be used to login into the database
• IAM-based authentication can be used to login into RDS MySQL & PostgreSQL
AWS COURSE DOCUMENT- BUI QUANG LAM - TRAINING 14
Module 8: RDS, Aurora, ElastiCache
RDS – IAM Authentication
• IAM database authentication works with
MySQL and PostgreSQL
• You don’t need a password, just an
authentication token obtained through IAM &
RDS API calls
• Authe token has a lifetime of 15 minutes
• Benefits:
• Network in/out must be encrypted using SSL
• IAM to centrally manage users instead of DB
• Can leverage IAM Roles and EC2 Instance profiles
for easy integration
AWS COURSE DOCUMENT- BUI QUANG LAM - TRAINING 15
Module 8: RDS, Aurora, ElastiCache
RDS Security - Summary
• Encryption at rest
• Is done only when you first create the DB instance
• Or: unencrypted DB -> snapshot -> copy snapshot as encrypted -> create DB from snapshot
• Your responsibility
• Check the ports/ IP/ security group inbound rules in DB’s SG
• In-database user creation and permissions or manage through IAM
• Creating a database with or without public access
• Ensure parameter groups or DB is configured to only allow SSL connections
• AWS responsibility
• No SSH access
• No manual DB patching
• No manual OS patching
• No way to audit the underlying instance
AWS COURSE DOCUMENT- BUI QUANG LAM - TRAINING 16
Module 8: RDS, Aurora, ElastiCache
Amazon Aurora
• Aurora is a proprietary technology from AWS (not open source)
• Postgres and MySQL are both supported as Aurora DB (that means your
drivers will work as if Aurora was a Postgres or MySQL database)
• Aurora is “AWS cloud optimized” and claims 5x performance
improvement over MySQL on RDS, over 3x the performance of Postgres
on RDS
• Aurora storage automatically grows in increments of 10GB, up to 64 TB
• Aurora can have 15 replicas while MySQL has 5, and the replication
process is faster
• Failover in Aurora is instantaneous. It’s HA native
• Aurora costs more than RDS (20% more) – but it more efficient
AWS COURSE DOCUMENT- BUI QUANG LAM - TRAINING 17
Module 8: RDS, Aurora, ElastiCache
Amazon Aurora Cluster
AWS COURSE DOCUMENT- BUI QUANG LAM - TRAINING 18
Module 8: RDS, Aurora, ElastiCache
Features of Aurora
• Automatic fail-over
• Backup and Recovery
• Isolation and security
• Industry compliance
• Push-button scaling
• Automated Patching with Zero Downtime
• Advaced Monitoring
• Routine Maintenance
• Backtrack: restore data at any point of time without using backups
AWS COURSE DOCUMENT- BUI QUANG LAM - TRAINING 19
Module 8: RDS, Aurora, ElastiCache
Aurora Security
• Similar to RDS because uses the same engines
• Encryption at rest using KMS
• Automated backups, snapshots and replicas are also encrypted
• Encryption in flight using SSL (same process as MySQL or Postgres)
• Possibility to authenticate using IAM token (same method as RDS)
• You are responsible for protecting the instance with security groups
• You can’t SSH
AWS COURSE DOCUMENT- BUI QUANG LAM - TRAINING 20
Module 8: RDS, Aurora, ElastiCache
Aurora Replicas – Auto Scaling
AWS COURSE DOCUMENT- BUI QUANG LAM - TRAINING 21
Module 8: RDS, Aurora, ElastiCache
Aurora – Custom Endpoints
• Define a subset of Aurora Instances as a Custom Endpoint
• Example: Run analytical queries on specific replicas
• The reader: Endpoint is generally not used defining Custom Endpoint
AWS COURSE DOCUMENT- BUI QUANG LAM - TRAINING 22
Module 8: RDS, Aurora, ElastiCache
Aurora Multi-Master
• In case you want immediate failover for write node (HA)
• Every node does R/W – vs promoting a RR as the new master
AWS COURSE DOCUMENT- BUI QUANG LAM - TRAINING 23
Module 8: RDS, Aurora, ElastiCache
Global Aurora
• Aurora Cross Region Read Replicas
• Useful for disaster recovery
• Simple to put in place
• Aurora Global Database (recommend)
• I Primary Region (read/write)
• Up to 5 secondary (Read-only) regions, replication lag is less
than 1 second
• Up to 16 Read Replicas per secondary region
• Helps for decreasing latency
• Promoting another region (for disaster recovery) has an RTO of
< 1 minute
AWS COURSE DOCUMENT- BUI QUANG LAM - TRAINING 24
Module 8: RDS, Aurora, ElastiCache
Amazon ElastiCache Overview
• The same way RDS is to get managed Relational Databases
• ElastiCache is to get managed Redis or Memcached
• Caches are in-memory databases with really high performance, low latency
• Helps reduce load off of databases for read intensive workloads
• Helps make your application stateless
• AWS takes care of OS maintenance / patching, optimizations, setup
configuration, monitoring, failure recovery and backups
• Using ElastiCache involves heavy application code changes
AWS COURSE DOCUMENT- BUI QUANG LAM - TRAINING 25
Module 8: RDS, Aurora, ElastiCache
ElastiCache Solution Architecture
– DB Cache
• Applications queries ElastiCache, if not
available, get froup RDS and store in
ElastiCache
• Helps relieve load in RDS
• Cache must have an invalidation strategy to
make sure only the most current data is used
in there
AWS COURSE DOCUMENT- BUI QUANG LAM - TRAINING 26
Module 8: RDS, Aurora, ElastiCache
ElastiCache Solution Architecture
– User Session Store
• User logs into any of the application
• The application writes the session data into
ElastiCache
• The user hits another instance of our
application
• The instance retrieves the data and the user
is already logged in
AWS COURSE DOCUMENT- BUI QUANG LAM - TRAINING 27
Module 8: RDS, Aurora, ElastiCache
ElastiCache – Redis vs Memcached
AWS COURSE DOCUMENT- BUI QUANG LAM - TRAINING 28
Module 8: RDS, Aurora, ElastiCache
ElastiCache – Cache Security
• All cached in ElastiCache
• Do not support IAM authentication
• IAM policies on ElastiCache are only used for AWS API-
level security
• Redis AUTH
• You can set a “password/token” when you create a Redis
cluster
• This is an extra level of security for your cache (on top of
security groups)
• Support SSL in flight encryption
• Memcached
• Supports SASL-based authentication (advanced)
AWS COURSE DOCUMENT- BUI QUANG LAM - TRAINING 29
Module 8: RDS, Aurora, ElastiCache
Patterns for ElastiCache
• Lazy Loading: all the read data is
cached, data can become stale in
cache
• Write Through: Adds or update data in
the cache when written to a DB (no
stale data)
• Session Store: store temporary
session data in a cache (using TTL
features)
AWS COURSE DOCUMENT- BUI QUANG LAM - TRAINING 30
Module 8: RDS, Aurora, ElastiCache
ElastiCache – Redis Use Case
• Gaming Leaderboards are computationally complex
• Redis Sorted set guarantee both uniqueness and element ordering
• Each time a new element added, it’s ranked in real time, then added in
correct order
AWS COURSE DOCUMENT- BUI QUANG LAM - TRAINING 31
Module 8: RDS, Aurora, ElastiCache

More Related Content

PPTX
What is AWS Glue
PDF
mysql 8.0 architecture and enhancement
PDF
Designing Apache Hudi for Incremental Processing With Vinoth Chandar and Etha...
PPTX
PPTX
Azure Database Services for MySQL PostgreSQL and MariaDB
PDF
Exploring BigData with Google BigQuery
PPTX
Failover cluster
PDF
MySQL Database Architectures - InnoDB ReplicaSet & Cluster
What is AWS Glue
mysql 8.0 architecture and enhancement
Designing Apache Hudi for Incremental Processing With Vinoth Chandar and Etha...
Azure Database Services for MySQL PostgreSQL and MariaDB
Exploring BigData with Google BigQuery
Failover cluster
MySQL Database Architectures - InnoDB ReplicaSet & Cluster

What's hot (20)

PPTX
HBase in Practice
PPTX
Introduction to Redis
PPTX
Securing your data with Azure SQL DB
PPT
Performance Tuning With Oracle ASH and AWR. Part 1 How And What
PDF
Upgrade from MySQL 5.7 to MySQL 8.0
PDF
Orchestrating Redis & K8s Operators
PDF
Designing Data-Intensive Applications_ The Big Ideas Behind Reliable, Scalabl...
PPTX
Hadoop Backup and Disaster Recovery
PPTX
Redis database
PDF
Apache kafka 모니터링을 위한 Metrics 이해 및 최적화 방안
PPTX
NoSQL Architecture Overview
KEY
Redis overview for Software Architecture Forum
PDF
aws vpn connection
PPTX
Replacing and Augmenting F5 BIG-IP with NGINX Plus
PDF
5 Steps to PostgreSQL Performance
PDF
Lessons from Building Large-Scale, Multi-Cloud, SaaS Software at Databricks
PPT
MySQL Atchitecture and Concepts
PPTX
Understanding Web Cache
PDF
An Introduction to Redis for Developers.pdf
PDF
Cloud Cost Management and Apache Spark with Xuan Wang
HBase in Practice
Introduction to Redis
Securing your data with Azure SQL DB
Performance Tuning With Oracle ASH and AWR. Part 1 How And What
Upgrade from MySQL 5.7 to MySQL 8.0
Orchestrating Redis & K8s Operators
Designing Data-Intensive Applications_ The Big Ideas Behind Reliable, Scalabl...
Hadoop Backup and Disaster Recovery
Redis database
Apache kafka 모니터링을 위한 Metrics 이해 및 최적화 방안
NoSQL Architecture Overview
Redis overview for Software Architecture Forum
aws vpn connection
Replacing and Augmenting F5 BIG-IP with NGINX Plus
5 Steps to PostgreSQL Performance
Lessons from Building Large-Scale, Multi-Cloud, SaaS Software at Databricks
MySQL Atchitecture and Concepts
Understanding Web Cache
An Introduction to Redis for Developers.pdf
Cloud Cost Management and Apache Spark with Xuan Wang
Ad

Similar to Training AWS: Module 8 - RDS, Aurora, ElastiCache (20)

PPTX
AWS Cloud SAA Relational Database presentation
PDF
AWS Database Services-Philadelphia AWS User Group-4-17-2018
PDF
Amazon relational database service (rds)
PPTX
9. AWS_Databases_Databases_Aws_Cloud.pptx
PDF
2017 AWS DB Day | AWS 데이터베이스 개요 - 나의 업무에 적합한 데이터베이스는?
PDF
AWS Database Migration Service
DOCX
Amazon web services
PPTX
AWS Database Services
PDF
Migrating and living on rds aurora
PPTX
AcademyCloudFoundations_Module_08 (1).pptx
PPTX
AWS Community Day 2022 Shirish Joshi_Choosing between RDS and Aurora for MySQ...
PDF
Connect to RDS MySQL 101: Your Easy Guide on How to Banish Glitches | The Ent...
PDF
Training AWS: Module 2 - Computing in AWS
PPTX
Amazon Web Services lection 4
PDF
Training AWS: Module 6 - Storage S3 in AWS
PPTX
Databases overview &amp; concepts
PDF
Bases de datos en la nube con AWS
PDF
Amazon Web Services - Relational Database Service Meetup
PPTX
2016 Utah Cloud Summit: RDS
PPTX
Running SQL Server on AWS | John McCormack | DataGrillen 2019
AWS Cloud SAA Relational Database presentation
AWS Database Services-Philadelphia AWS User Group-4-17-2018
Amazon relational database service (rds)
9. AWS_Databases_Databases_Aws_Cloud.pptx
2017 AWS DB Day | AWS 데이터베이스 개요 - 나의 업무에 적합한 데이터베이스는?
AWS Database Migration Service
Amazon web services
AWS Database Services
Migrating and living on rds aurora
AcademyCloudFoundations_Module_08 (1).pptx
AWS Community Day 2022 Shirish Joshi_Choosing between RDS and Aurora for MySQ...
Connect to RDS MySQL 101: Your Easy Guide on How to Banish Glitches | The Ent...
Training AWS: Module 2 - Computing in AWS
Amazon Web Services lection 4
Training AWS: Module 6 - Storage S3 in AWS
Databases overview &amp; concepts
Bases de datos en la nube con AWS
Amazon Web Services - Relational Database Service Meetup
2016 Utah Cloud Summit: RDS
Running SQL Server on AWS | John McCormack | DataGrillen 2019
Ad

More from Bùi Quang Lâm (8)

PDF
Linux Day2
PDF
Linux Day1
PDF
Training AWS: Module 9 - CloudWatch
PDF
Training AWS: Module 7 - Route53
PDF
Training AWS: Module 5 - Elastic Load Balancing & ASG
PDF
Training AWS: Module 4 - Storage in AWS
PDF
Training AWS: Module 3 - Networking in AWS
PDF
Training AWS: Module 1 - System Operation in AWS
Linux Day2
Linux Day1
Training AWS: Module 9 - CloudWatch
Training AWS: Module 7 - Route53
Training AWS: Module 5 - Elastic Load Balancing & ASG
Training AWS: Module 4 - Storage in AWS
Training AWS: Module 3 - Networking in AWS
Training AWS: Module 1 - System Operation in AWS

Recently uploaded (20)

PDF
Mohammad Mahdi Farshadian CV - Prospective PhD Student 2026
PDF
PPT on Performance Review to get promotions
PPTX
Welding lecture in detail for understanding
PPTX
Strings in CPP - Strings in C++ are sequences of characters used to store and...
PPTX
UNIT 4 Total Quality Management .pptx
PDF
Operating System & Kernel Study Guide-1 - converted.pdf
PDF
Well-logging-methods_new................
PDF
SM_6th-Sem__Cse_Internet-of-Things.pdf IOT
PDF
Arduino robotics embedded978-1-4302-3184-4.pdf
PPTX
CYBER-CRIMES AND SECURITY A guide to understanding
PDF
Embodied AI: Ushering in the Next Era of Intelligent Systems
PPTX
MCN 401 KTU-2019-PPE KITS-MODULE 2.pptx
PPTX
bas. eng. economics group 4 presentation 1.pptx
PPTX
M Tech Sem 1 Civil Engineering Environmental Sciences.pptx
PPTX
Geodesy 1.pptx...............................................
PPTX
Construction Project Organization Group 2.pptx
PPTX
UNIT-1 - COAL BASED THERMAL POWER PLANTS
PPT
Project quality management in manufacturing
PPTX
CARTOGRAPHY AND GEOINFORMATION VISUALIZATION chapter1 NPTE (2).pptx
PDF
PRIZ Academy - 9 Windows Thinking Where to Invest Today to Win Tomorrow.pdf
Mohammad Mahdi Farshadian CV - Prospective PhD Student 2026
PPT on Performance Review to get promotions
Welding lecture in detail for understanding
Strings in CPP - Strings in C++ are sequences of characters used to store and...
UNIT 4 Total Quality Management .pptx
Operating System & Kernel Study Guide-1 - converted.pdf
Well-logging-methods_new................
SM_6th-Sem__Cse_Internet-of-Things.pdf IOT
Arduino robotics embedded978-1-4302-3184-4.pdf
CYBER-CRIMES AND SECURITY A guide to understanding
Embodied AI: Ushering in the Next Era of Intelligent Systems
MCN 401 KTU-2019-PPE KITS-MODULE 2.pptx
bas. eng. economics group 4 presentation 1.pptx
M Tech Sem 1 Civil Engineering Environmental Sciences.pptx
Geodesy 1.pptx...............................................
Construction Project Organization Group 2.pptx
UNIT-1 - COAL BASED THERMAL POWER PLANTS
Project quality management in manufacturing
CARTOGRAPHY AND GEOINFORMATION VISUALIZATION chapter1 NPTE (2).pptx
PRIZ Academy - 9 Windows Thinking Where to Invest Today to Win Tomorrow.pdf

Training AWS: Module 8 - RDS, Aurora, ElastiCache

  • 1. AWS COURSE DOCUMENT- BUI QUANG LAM - TRAINING 1 Training Course Amazon Web Service Day Content Lab Day 1 System Operations on AWS Day 2 Computing on AWS X Day 3 Networking on AWS X Day 4 Storage in AWS (EBS, EFS, Instance Store) X Day 5 Elastic Load Balancing & Auto Scaling Group X Day 6 Storage S3 in AWS X Day 7 Route 53 X Day 8 RDS, Aurora, ElastiCache X Day 9 CloudWatch X Author: Bui Quang Lam Phone/Zalo: +84.0365.635.598 Mail: buiquanglam185@gmail.com
  • 2.  Goal: Understanding Database in AWS  RDS  Aurora  ElastiCache Lab: Create and configuring database AWS COURSE DOCUMENT- BUI QUANG LAM - TRAINING 2 Module 8: RDS, Aurora, ElastiCache
  • 3. AWS RDS Overview • RDS stands for Relational Database Service • It’s a managed DB service for DB use SQL as a query language • It allows you to create databases in the cloud that are managed by AWS • Postgre • MySQL • MariaDB • Oracle • Microsoft SQL Server • Aurora (AWS Proprietary database) AWS COURSE DOCUMENT- BUI QUANG LAM - TRAINING 3 Module 8: RDS, Aurora, ElastiCache
  • 4. Advantage over using RDS versus deploying DB on EC2 • RDS is a managed service: • Automated provisioning, OS patching • Coninuous backups and restore to specific timestamp (Point in Time Restore)! • Monitoring dashboards • Read replicas for improved read performance • Multi AZ setup for DR (Disaster Recovery) • Maintenance windows for upgrades • Scaling capability (Vertical and horizontal) • Storage backed by EBS (gp2 or io1) • BUT you can’t SSH into your instances AWS COURSE DOCUMENT- BUI QUANG LAM - TRAINING 4 Module 8: RDS, Aurora, ElastiCache
  • 5. RDS Backups • Backups are automatically enabled in RDS • Automated backups: • Daily full backup of the database (during the maintenance window) • Transaction logs are backed-up by RDS every 5 minutes -> ability to restore to any point in time (from oldest backup to 5 minutes ago) • 7 days retention (can be increased to 35 days) • DB Snapshots: • Manually triggerd by the user • Retention of backup for as long as you want AWS COURSE DOCUMENT- BUI QUANG LAM - TRAINING 5 Module 8: RDS, Aurora, ElastiCache
  • 6. RDS – Storage Auto Scaling • Helps you increase storage on your RDS DB instance dynamically • When RDS detects you are running out of free database storage, it scales automatically • Avoid manual scaling your database storage • You have to set Maximum Storage Threhold (maximum limit for DB storage) • Useful for applications with unpredictable workloads • Supports all RDS database engines (MariaDB, MySQL, PostgreSQL, SQL Server, Oracle) AWS COURSE DOCUMENT- BUI QUANG LAM - TRAINING 6 Module 8: RDS, Aurora, ElastiCache
  • 7. RDS Read Replicas for read scalability • Up to 5 Read Replicas • Within AZ, Cross AZ or Cross Region • Replication is ASYNC, so reads are eventually consistent • Replicas can be promoted to their own DB • Applications must update the connection string to leverage read replicas AWS COURSE DOCUMENT- BUI QUANG LAM - TRAINING 7 Module 8: RDS, Aurora, ElastiCache
  • 8. RDS Read Replicas – Use Cases • You have a production database that is taking on normal load • You want to run a reporting application to run some analytics • You create a Read Replica to run the new workload there • The production application is unaffected • Read replicas are used for SELECT (=read) only kind of statements (not INSERT, UPDATE, DELETE) AWS COURSE DOCUMENT- BUI QUANG LAM - TRAINING 8 Module 8: RDS, Aurora, ElastiCache
  • 9. RDS Read Replicas – Network Cost • In AWS there’s a network cost when data goes from one AZ to another • For RDS Read Replicas within the same region, you don’t pay that fee AWS COURSE DOCUMENT- BUI QUANG LAM - TRAINING 9 Module 8: RDS, Aurora, ElastiCache
  • 10. RDS Multi AZ (Disaster Recovery) • SYNC replication • One DNS name – automatic app failover to standby • Increase availability • Failover in case of loss of AZ, loss of network, instance or storage failure • No manual intervention in apps • Multi-AZ replication is free • Note: The Read Replicas be setup as Multi AZ for Disaster Recovery (DR) AWS COURSE DOCUMENT- BUI QUANG LAM - TRAINING 10 Module 8: RDS, Aurora, ElastiCache
  • 11. RDS – From Single AZ to Multi AZ • Zero downtime operation (no need to stop the DB) • Just click on “modify” for the database • The following happens internally • A snapshot is taken • A new DB is restored from the snapshot in a new AZ • Synchronization is established between the two databases AWS COURSE DOCUMENT- BUI QUANG LAM - TRAINING 11 Module 8: RDS, Aurora, ElastiCache
  • 12. RDS Security - Encryption • At rest encryption • Possibility to encrypt the master & read replicas with AWS KMS – AES-256 encryption • Encryption has to be defined at launch time • If the master is not encrypted, the read replicas cannot be encrypted • Transparent Data Encryption (TDE) available for Oracle and SQL Server • In-flight encryption • SSL certificates to encrypt data to RDS in flight • Provide SSL options with trust certificate when connecting to database • To enforce SSL: • PostgreSQL: rds.force_ssl= 1 in the AWS RDS Console (Parameter Groups_ • MySQL: Within the DB: GRANT USAGE ON *.* TO ‘mysqluser’@’%’ REQUIRE SSL AWS COURSE DOCUMENT- BUI QUANG LAM - TRAINING 12 Module 8: RDS, Aurora, ElastiCache
  • 13. RDS Encryption Operation • Encrypting RDS backups • Snapshots of un-encrypted RDS databases are un-encrypted • Snapshot of encrypted RDS databases are encypted • Can copy a snapshot into an encrypted one • To encrypt an un-encrypted RDS database • Create a snapshot of the un-encrypted database • Copy the snapshot and enable encryption for the snapshot • Restore the database from the encrypted snapshot • Migrate applications to the new database, and delete the old database AWS COURSE DOCUMENT- BUI QUANG LAM - TRAINING 13 Module 8: RDS, Aurora, ElastiCache
  • 14. RDS Security – Network & IAM • Network Security • RDS databases are usually deployed within a private subnet, not in a public one • RDS security works by leveraging security groups (the same concept as for EC2 instances) – it controls which IP / security group can communicate with RDS • Access Management • IAM policies help control who can manage AWS RDS (through the RDS API) • Traditional Username and Password can be used to login into the database • IAM-based authentication can be used to login into RDS MySQL & PostgreSQL AWS COURSE DOCUMENT- BUI QUANG LAM - TRAINING 14 Module 8: RDS, Aurora, ElastiCache
  • 15. RDS – IAM Authentication • IAM database authentication works with MySQL and PostgreSQL • You don’t need a password, just an authentication token obtained through IAM & RDS API calls • Authe token has a lifetime of 15 minutes • Benefits: • Network in/out must be encrypted using SSL • IAM to centrally manage users instead of DB • Can leverage IAM Roles and EC2 Instance profiles for easy integration AWS COURSE DOCUMENT- BUI QUANG LAM - TRAINING 15 Module 8: RDS, Aurora, ElastiCache
  • 16. RDS Security - Summary • Encryption at rest • Is done only when you first create the DB instance • Or: unencrypted DB -> snapshot -> copy snapshot as encrypted -> create DB from snapshot • Your responsibility • Check the ports/ IP/ security group inbound rules in DB’s SG • In-database user creation and permissions or manage through IAM • Creating a database with or without public access • Ensure parameter groups or DB is configured to only allow SSL connections • AWS responsibility • No SSH access • No manual DB patching • No manual OS patching • No way to audit the underlying instance AWS COURSE DOCUMENT- BUI QUANG LAM - TRAINING 16 Module 8: RDS, Aurora, ElastiCache
  • 17. Amazon Aurora • Aurora is a proprietary technology from AWS (not open source) • Postgres and MySQL are both supported as Aurora DB (that means your drivers will work as if Aurora was a Postgres or MySQL database) • Aurora is “AWS cloud optimized” and claims 5x performance improvement over MySQL on RDS, over 3x the performance of Postgres on RDS • Aurora storage automatically grows in increments of 10GB, up to 64 TB • Aurora can have 15 replicas while MySQL has 5, and the replication process is faster • Failover in Aurora is instantaneous. It’s HA native • Aurora costs more than RDS (20% more) – but it more efficient AWS COURSE DOCUMENT- BUI QUANG LAM - TRAINING 17 Module 8: RDS, Aurora, ElastiCache
  • 18. Amazon Aurora Cluster AWS COURSE DOCUMENT- BUI QUANG LAM - TRAINING 18 Module 8: RDS, Aurora, ElastiCache
  • 19. Features of Aurora • Automatic fail-over • Backup and Recovery • Isolation and security • Industry compliance • Push-button scaling • Automated Patching with Zero Downtime • Advaced Monitoring • Routine Maintenance • Backtrack: restore data at any point of time without using backups AWS COURSE DOCUMENT- BUI QUANG LAM - TRAINING 19 Module 8: RDS, Aurora, ElastiCache
  • 20. Aurora Security • Similar to RDS because uses the same engines • Encryption at rest using KMS • Automated backups, snapshots and replicas are also encrypted • Encryption in flight using SSL (same process as MySQL or Postgres) • Possibility to authenticate using IAM token (same method as RDS) • You are responsible for protecting the instance with security groups • You can’t SSH AWS COURSE DOCUMENT- BUI QUANG LAM - TRAINING 20 Module 8: RDS, Aurora, ElastiCache
  • 21. Aurora Replicas – Auto Scaling AWS COURSE DOCUMENT- BUI QUANG LAM - TRAINING 21 Module 8: RDS, Aurora, ElastiCache
  • 22. Aurora – Custom Endpoints • Define a subset of Aurora Instances as a Custom Endpoint • Example: Run analytical queries on specific replicas • The reader: Endpoint is generally not used defining Custom Endpoint AWS COURSE DOCUMENT- BUI QUANG LAM - TRAINING 22 Module 8: RDS, Aurora, ElastiCache
  • 23. Aurora Multi-Master • In case you want immediate failover for write node (HA) • Every node does R/W – vs promoting a RR as the new master AWS COURSE DOCUMENT- BUI QUANG LAM - TRAINING 23 Module 8: RDS, Aurora, ElastiCache
  • 24. Global Aurora • Aurora Cross Region Read Replicas • Useful for disaster recovery • Simple to put in place • Aurora Global Database (recommend) • I Primary Region (read/write) • Up to 5 secondary (Read-only) regions, replication lag is less than 1 second • Up to 16 Read Replicas per secondary region • Helps for decreasing latency • Promoting another region (for disaster recovery) has an RTO of < 1 minute AWS COURSE DOCUMENT- BUI QUANG LAM - TRAINING 24 Module 8: RDS, Aurora, ElastiCache
  • 25. Amazon ElastiCache Overview • The same way RDS is to get managed Relational Databases • ElastiCache is to get managed Redis or Memcached • Caches are in-memory databases with really high performance, low latency • Helps reduce load off of databases for read intensive workloads • Helps make your application stateless • AWS takes care of OS maintenance / patching, optimizations, setup configuration, monitoring, failure recovery and backups • Using ElastiCache involves heavy application code changes AWS COURSE DOCUMENT- BUI QUANG LAM - TRAINING 25 Module 8: RDS, Aurora, ElastiCache
  • 26. ElastiCache Solution Architecture – DB Cache • Applications queries ElastiCache, if not available, get froup RDS and store in ElastiCache • Helps relieve load in RDS • Cache must have an invalidation strategy to make sure only the most current data is used in there AWS COURSE DOCUMENT- BUI QUANG LAM - TRAINING 26 Module 8: RDS, Aurora, ElastiCache
  • 27. ElastiCache Solution Architecture – User Session Store • User logs into any of the application • The application writes the session data into ElastiCache • The user hits another instance of our application • The instance retrieves the data and the user is already logged in AWS COURSE DOCUMENT- BUI QUANG LAM - TRAINING 27 Module 8: RDS, Aurora, ElastiCache
  • 28. ElastiCache – Redis vs Memcached AWS COURSE DOCUMENT- BUI QUANG LAM - TRAINING 28 Module 8: RDS, Aurora, ElastiCache
  • 29. ElastiCache – Cache Security • All cached in ElastiCache • Do not support IAM authentication • IAM policies on ElastiCache are only used for AWS API- level security • Redis AUTH • You can set a “password/token” when you create a Redis cluster • This is an extra level of security for your cache (on top of security groups) • Support SSL in flight encryption • Memcached • Supports SASL-based authentication (advanced) AWS COURSE DOCUMENT- BUI QUANG LAM - TRAINING 29 Module 8: RDS, Aurora, ElastiCache
  • 30. Patterns for ElastiCache • Lazy Loading: all the read data is cached, data can become stale in cache • Write Through: Adds or update data in the cache when written to a DB (no stale data) • Session Store: store temporary session data in a cache (using TTL features) AWS COURSE DOCUMENT- BUI QUANG LAM - TRAINING 30 Module 8: RDS, Aurora, ElastiCache
  • 31. ElastiCache – Redis Use Case • Gaming Leaderboards are computationally complex • Redis Sorted set guarantee both uniqueness and element ordering • Each time a new element added, it’s ranked in real time, then added in correct order AWS COURSE DOCUMENT- BUI QUANG LAM - TRAINING 31 Module 8: RDS, Aurora, ElastiCache