第9章
スケーラビリティと高可用性 — ELB・Auto Scaling・Multi-AZ
約3分

学習者Auto Scalingを入れれば、それだけで高可用性になるんですか?
弾力性に優れたアーキテクチャでは、負荷が増えても処理でき、障害が起きてもサービスを継続できる構成を作ります。SAA-C03では、ELB、Auto Scaling、Multi-AZ、Route 53の判断が頻出です。
単一障害点を避ける
単一のEC2、単一AZ、単一DBに依存すると、その要素が落ちたときにシステム全体が止まります。
基本構成:
ELBの使い分け
| 種類 | 主な用途 |
|---|---|
| ALB | HTTP/HTTPS、パスベースルーティング、Webアプリ |
| NLB | TCP/UDP、高スループット、固定IPが必要な場合 |
| GWLB | セキュリティアプライアンスの挿入 |
WebアプリケーションではALBが最もよく使われます。TCPレベルの高性能な負荷分散や固定IP要件があればNLBを検討します。
Auto Scaling
Auto Scalingは、負荷に応じてEC2インスタンス数を増減します。
よく使うスケーリング指標:
- CPU使用率
- ALB Request Count Per Target
- SQSキューの長さ
- カスタムCloudWatchメトリクス
実務では、スケールアウトだけでなくスケールイン時の影響も考えます。処理中のリクエストを安全に終わらせるには、ALBのderegistration delayやアプリケーションのgraceful shutdownが重要です。
RDS Multi-AZとリードレプリカ
| 機能 | 目的 |
|---|---|
| RDS Multi-AZ | 可用性向上、自動フェイルオーバー |
| RDS Read Replica | 読み取りスケール、分析用途 |
| Aurora Replica | 読み取りスケールと高速フェイルオーバー |
試験では、Multi-AZとRead Replicaの目的を混同しないことが重要です。可用性ならMulti-AZ、読み取り性能ならRead Replicaです。
まとめ
高可用性とスケーラビリティでは、単一障害点をなくし、負荷に応じて伸縮できる構成を作ります。
- ALB/NLBで複数ターゲットに分散する
- EC2 Auto Scalingで台数を調整する
- RDS Multi-AZでDB障害に備える
- Route 53のヘルスチェックやルーティングも活用する
- 可用性目的と性能目的を区別する
次の章では、RTO、RPO、バックアップ、マルチリージョンを使ったDR設計を扱います。
AWSクイズに挑戦するこの章で学んだAWSの知識を、4択クイズでアウトプットして定着させよう
