← AWS SAA

Note for Relational Databases (RDS)

awsrdb

Read Replica

Up to 15 read replicas

Within AZ, Cross AZ or Cross Region

Replication is Async, reads are eventually consistent

Replica can be promoted to their own db. I will keep living with its own life cycle later.

App need to update connection string to connect new one

For reporting application we can separately read read-replica only

Network cost

Within same region no fee for replication

If spread across different regions, have to pay fee

Multi AZ(Disaster Recovery)

SYNC replication, One DNS name automatic app failover to standby
Increase availability

Single AZ to Multi AZ

Zero downtime operation
How it work under the hood

RDS custom

Managed MSQL server, oracle
Have access to underlying os and db

RDS vs RDS custom
RDS: AWS manage
RDS custom: full access to underlying database and OS

Backups

Automated backups

Daily full backup at the backup windows

Transitions logs are backup every 5 minutes

Ability to restore any point in time (from oldest backup up to 5 minutes)

1 to 35 days retentions, set 0 to disable backup

Manual DB snapshots

User manually take snapshot of aurora
Retention can be as long as the user wants
Tip: to save cost for stopped database, take snapshot and delete original database. Can use snapshot to restore data at anytime.


Restore

From s3
Backup on premise database
Store backup on s3
Restore that backup from s3 on rdb running mysql


RDS PROXY

Allow app to pool and share DB connections established with database.
Improving the efficiency by reducing the stress on database resources such as CPU and RAM .
And minimize the open connections (and timeout)
Serverless, autoscaling, highly available.
Reduce RDS and Aurora failover by 66%
Support both RDS and Aurora.
No code changes required
Enforce IAM Authentication for DB and securely store credentials in AWS secret manager.
RDB proxy is never publicly available(can only be connected via VPC)