RDS

Relational Database Service (RDS)

application architecture example
  • Is a fully-managed database service that makes it easy to launch database servers in the AWS Cloud and scale them when required.

    • RDS will take care of updates or paching.

    • RDS will auto scale.

    • RDS will provide high availability automatically.

    • RDS will auto backup.

  • Ideal for (OLTP - Online Transaction Processing), when you only gather specific data.

  • Usually RDS uses EBS storage, and you can choose different types of EBS classes.

Supported Engines

MySQL

MariaDB

PostgreSQL

Microsoft SQL Server

Oracle Database

IBM Db2

DB Instance Classes

circle-info

You can change your instance class, if your needs change.

This will determine the computation and memory capacity of a RDS instance.

Class
Description

db.m*

General purpose

db.z*, db.x*, db.r*

Memory optimized

db.c*

Compute optimized

db.t*

Burstable performance

The * represents the chosen generation, optional attribute and size.

Exemple:

db.m7g is a 7th-generation, general purpose instance powered by AWS Graviton3 processors.

Backups

  • User initiated DB Snapshots of instance.

    • When instance is terminated, these backups are not deleted.

  • Automated DB backups to S3.

    • Deleted by default when instance terminated.

    • Disabled by setting backup retention period to 0.

  • Encryption of database and snapshots at rest available.

Deployment Strategies

Multi-AZ (Availability Zones)

circle-info

Ideal for disaster recovery or availability. (Replication of data)

  • When one of the instances fails, AWS does the failover to another instance automatically.

    • Route 53 will setup all that automatically.

  • AWS automatically provisions and maintains one or more secondary standby DB instances in different AZ.

    • The primary instance is replicated to the other standby instances.

  • Provides redundancy and failover support.

  • It is possible to use the replicas to serve read traffic on Multi-AZ DB Cluster deployment only.

  • Application should also be located in multiple AZ's.

  • Available for all database types.

Read Replicas

  • Ideal for performance.

    • The master instance focus on writes, and reads are designated to the replicas.

      • Multiple read replicas (up to 15 for Aurora).

    • When the master instance fails, one replica is promoted.

      • But data consistency is than lost.

      • And a new DNS for the replica.

  • Supported for Aurora, PostgreSQL, MySQL and MariaDB.

  • Cannot be put behind AWS ELB.

    • Use Aurora Cluster for automatic distribution of requests, software, Route 53 routing or HaProxy.

Last updated