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

Created
November 27, 2023
Created by
D
DaEun Kim
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;