AWS Databases

../main.png

AWS RDS

rds.png
-AWS RDS-
  • SQL 지원
    • Postgres
    • MySQL
    • MariaDB
    • Oracle
    • Microsoft SQL Server
    • Aurora (AWS 소유)

💡 EC2 대신 RDS에 데이터베이스를 배포하는 이유

  1. 자동화된 관리 작업(자동 백업, 자동 패치, 모니터링 및 알림)
  2. 고가용성 및 내구성(다중 AZ 배포, 자동 장애 조치)
  3. 확장성 및 성능 최적화(수직 확장, 읽기 복제본, 자동 스토리지 확장)

RDS Usecase Example

usecase.png

ELB가 EC2들에 부하를 분산하고, 각 EC2 들은 통일된 RDS에서 데이터 읽기/쓰기 작업을 수행한다.

Amazon Aurora

aurora.png
-AWS Aurora-
  • Aurora는 2가지 데이터베이스 기술을 지원한다.
    • PostgreSQL
    • MySQL
  • RDS에 비하여 MySQL에서 5배, PostgreSQL에서 3배 더 나은 성능
  • 저장 공간 자동 확장 기능
    • 10GB 단위로 최대 128TB까지 자동 확장
  • RDS보다 20%정도 더 비싸지만 더 효율적임.
  • 서버리스 가능
    • 관리가 필요 없음

Aurora Architecture

usecase2.png

클라이언트는 Proxy Fleet을 통해 데이터베이스에 접근하며, 확장이 필요한경우 데이터베이스가 자동으로 확장된다.

RDS 배포 옵션

Read Replicas

readreplicas.png

그림은 2개의 Read Replica를 생성하여 어플리케이션에서 읽기작업을 병렬적으로 수행할 수 있도록 한다. 다만 쓰기 작업은 메인 RDS인 하나에서 수행된다. 치대 5개의 Read Replica를 만들 수 있다.

Multi-AZ

multiaz.png

고가용성을 위해 메인 RDS가 충돌하면 장애 조치가 트리거되어 FailoverDB를 사용하게 된다. 단 하나의 AZ만 Failover AZ로 설정할 수 있다.

Multi-Region

multiregion.png

이 또한 Read Replica를 다룬다. 다만 서로 다른 리전에서 실행된다는 것이 다르다.