**고가용성(HA)**은 시스템이 실패에도 불구하고 계속 작동하도록 설계하는 것을 의미합니다 — 이중화, multi-AZ 배포, 자동 복구, 단일 장애점 제거를 통해. 프로덕션 시스템의 기본 목표이자 AWS 아키텍처의 핵심 영역입니다.
핵심 HA 원칙
✓ 단일 장애점 제거 — 실패가 시스템을 다운시키는 단일 구성 요소 없음
→ 모든 곳에 이중화 (여러 인스턴스, AZ 등)
✓ 여러 AVAILABILITY ZONE에 걸쳐 배포 — AZ (데이터 센터) 장애 견딤
✓ 자동 복구 — 실패를 감지하고 자동으로 복구/교체 (수동 수정 없음)
✓ 구성 요소 분리 — 실패 격리; 한 구성 요소의 실패가 연쇄되지 않음
AWS에서의 HA 기법
컴퓨팅 → 여러 AZ에 걸친 Auto Scaling Group + 로드 밸런서
→ 인스턴스를 AZ에 분산; LB health check가 장애를 우회 라우팅; ASG가
실패한 인스턴스 교체 → 인스턴스 및 AZ 장애 견딤
데이터베이스 → RDS Multi-AZ (다른 AZ의 동기식 대기, 자동 페일오버);
read replica; DynamoDB (기본적으로 multi-AZ)
스토리지 → S3 (설계상 multi-AZ 내구성); EBS 스냅샷
DNS → Route 53 페일오버 라우팅 + health check (정상/백업 엔드포인트로 라우팅)
분리 → SQS 큐 (버퍼; 소비자가 작업 손실 없이 실패/재시도 가능)
