高可用性(HA) とは、冗長性、マルチAZデプロイメント、自動復旧、単一障害点の排除を通じて、障害が発生した場合でもシステムが動作し続けるように設計することを意味します。これは本番環境システムの基本的な目標であり、AWSアーキテクチャの重要な分野です。
HA の基本原則
✓ ELIMINATE SINGLE POINTS OF FAILURE — no single component whose failure takes down
the system → redundancy everywhere (multiple instances, AZs, etc.)
✓ Deploy across MULTIPLE AVAILABILITY ZONES — survive an AZ (data center) failure
✓ AUTOMATIC RECOVERY — detect failures and recover/replace automatically (no manual fix)
✓ DECOUPLE components — failures isolated; one component's failure doesn't cascade
AWSのHAテクニック
COMPUTE → Auto Scaling Group across multiple AZs + Load Balancer
→ instances spread across AZs; LB health checks route around failures; ASG replaces
failed instances → survives instance AND AZ failures
DATABASE → RDS Multi-AZ (synchronous standby in another AZ, auto-failover);
read replicas; DynamoDB (multi-AZ by default)
STORAGE → S3 (multi-AZ durable by design); EBS snapshots
DNS → Route 53 failover routing + health checks (route to healthy/backup endpoints)
DECOUPLING → SQS queues (buffer; consumers can fail/retry without losing work)
