[AWS Re:Invent 2023] Making your Amazon Aurora cluster more resilient

Created
Nov 27, 2023
Created by
Tags
AWS
Property
 

Resiliency

  • recover from disruption
  • Dynamic scale to meet demand
  • Continue operating event when impaired
 
 

Resiliency - related aurora features

 
Backup and restore
  • Point-in time restore
  • Snapshots
  • AWS backup
  • S3 (for long-term retention data)
  • On-prem 에서 Aurora 으로 마이그레이션하려면 마이그레이션 미리 snapshot/backup 실천하는 걸 추천
 
Exporting cluster data to S3
  • Aurora cluster → S3
    • object lock (not event root can change object)
    • Can query using Athena
    • Can use with open search
 
Fast clone & clone with clone (useful for multi region replication)
  • original → clone1 → clone2 → …
 
Read replicas
  • Reader with near real-time synced data becomes writer if writers shuts down
 
Aurora global database
  • Cross-region replicas → lag depends on how far is among replicas ?
  • useful for service whose users are in multiple continentals
  • Failover takes about a minute; little depends on how far primary/replica is cluster is a cross-region case
  • Aurora doesn’t failover with cross-region instances automatically due to lag between region;

여담
  • Dehydrating replica’s cache happens after failover?
  • Transit gateway or things like that sets in instances in same region behind the scene? But cross-region instances do not have that?
  • multi-region is still a big deal;

 

Aurora serverless v2

  • For traffic with rapid growth
  • Auto scaling takes mili seconds and depends on how much I want to scale up/down;
  • Pre-heat available? (Scaling 수행할 일시를 설정할 수 있다?)
  • Not available to set zero; has minimum resource; has to stop instances if you want to set zero;
 

JDBC wrapper

  • Driver keeps track primary/replica event
  • Does not have to wait for DNS TTL
  • Python has user-contributed driver similar with JDBC wrapper. → 공식 오픈소스는 없고 검색해보니 user-contributed 라이브러리도 없는 거 같다
 

RDS Proxy

  • Multiplexing connections between applications and cluster
  • Not for auto scaling;
  • For holding connections; caching;
  • Writer/reader endpoint available;