Aws - Rds

Aws - Rds

image.png

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 below databases in the cloud that are managed by AWS
       * Postgres
       * MySQL
       * MariaDB
       * Oracle
       * Microsoft SQL Server
       * Aurora (AWS DB)
    

Note: Using RDS we cannot SSH into EC2 instances

Advantage of Using AWS RDS over provisioning DB on EC2 instances

  • We can automate Provisioning and OS patching
  • We can take backups continuously and restore it to a specific time
  • We can improve scaling capability (vertical and horizontal)
  • The storage is backed by EBS - gp2 or iol
  • Monitoring dashboards
  • Read replicas for improved read performance
  • Multi AZ setup for DR (Disaster Recovery)
  • we can setup maintenance windows for upgrades

RDS Backup

Backups are automatically enabled. image.png

RDS AutoScaling

  • RDS helps to increase DB instance storage dynamically.
  • RDS detects and scales automatically if the DB instance storage is low.
  • Useful for applications with unpredictable workloads and it supports all RDS DB engines (Maria DB, SQL Server, Oracle, My SQL, PostgreSQL). image.png

RDS Read Replicas

image.png

  • Supports up to 5 Read replicas
  • Replication between master to slave is ASYNC so that the replication is consistent
  • Read replicas can be promoted to their primary DB
  • In order to use read replica, applications must use read replica connection string. RDS N/w Costs: image.png

RDS Multi AZ - Disaster Recovery

image.png

  • Replications are SYNC
  • Increase availability
  • One DNS name - automatic app failover to standby
  • Failover in case of loss of AZ, loss of network, instance or storage failure
  • No manual intervention in apps
  • Not used for scaling
  • Multi-AZ replication is free
  • The Read Replicas be setup as Multi AZ for Disaster Recovery (DR)

RDS Security Encryption

image.png

image.png

image.png