Post

[AWS] DR 공부

전제 : Single-Region resilience 단계를 거친 후 Multi-Region DR

  • AZ 장애 ≠ Region 장애
  • Multi-Region의 핵심은 리전 전체가 날아가는 경우를 대비하는 것
  • 그렇기 때문에 single-region resilience에 대한 설계를 할 줄 알아야한다
  • 즉, Multi-AZ 구성 후 Multi-Region 구성이 되는건데 이때 runbook이나 testing이 필수

Multi-AZ Architecture

  • 여러 AZ에 배치
  • ELB
  • Auto Scaling
  • RDS Multi-AZ

Fault Isolation

  • 하나의 AZ 장애가 다른 AZ로 확산되지 않게

Backup and Restore

  • AWS Backup
  • EBS Snapshot
  • RDS Snapshot

Multi-Region DR

필수 개념

RTO (Recovery Time Objective)

  • 복구 시간
  • 서비스 중단으로부터 얼마나 빨리 복구할 수 있는가

RPO (Recovery Point Objective)

  • 복구 시점
  • 얼마나 많은 데이터를 잃었는가

DR 전략

Backup and Restore

  • 데이터 백업을 다른 리전에 저장하고 장애 시 복구
    • 그렇다면 기본적으로 다른 AZ에도 데이터 백업이 이루어져야 하는가

Pilot Light

  • 핵심 데이터 인프라만 다른 리전 유지
  • 앱 서버는 장애시 확장

Warm Standby

  • 축소시킨 전체 환경을 다른 리전 상시 실행

Multi-Site Active-Active

  • 양 리전에서 트래픽 처리

데이터 특성에 따라 전략 수정

CAP Theorem

멀티 리전 환경에서는 네트워크 partition 가능성

→ Partition 이란? 노드(서버)들 사이 통신 끊기는거

  • Consistency
  • Availability
  • Partition Tolerence (네트워크 분할 허용)

에서 trade-off 발생하고 P는 어지간하면 반드시 일어남

Data Replication Pattern

Asynchronous replication

  • 대부분의 cross-Region 복제는 비동기

예)

  • Amazon Aurora Global Database
    • Primary Region → Secondary Region
    • Low latency cross-Region 복제
  • Amazon DynamoDB Global Tables
    • Multi-Region active-active 지원
  • Amazon S3 Cross-Region Replication

Dependency Mapping

서비스 가용성

  • 모든 서비스가 모든 리전에서 동일하게 제공 x
  • Regional service availability 확인

External Dependency

  • 3rd party api
  • Identity providers
  • Payment gateway

→ 서비스 가용성 확인 필요

DNS 전략

Route 53

  • Failover routing
  • Latency routing
  • Weighted routing
  • Geolocation routing
  • Health check 기반 자동 전환 가능

Operation Readiness

IaC

동일한 환경을 반복적으로 배포가 가능하도록 해야함

  • CloudFormation
  • Terraform

Runbooks

장애 발생시 프로세스 문서화

  • 감지
  • 전환
  • 복구
  • 검증

Testing

GameDay 또는 DR drill

This post is licensed under CC BY 4.0 by the author.