ウェブエンジニア問題集
第9章

スケーラビリティと高可用性 — ELB・Auto Scaling・Multi-AZ

3
この章の目次開く
負荷に合わせて段階的に伸ばすイメージのイラスト
学習者学習者

Auto Scalingを入れれば、それだけで高可用性になるんですか?

弾力性に優れたアーキテクチャでは、負荷が増えても処理でき、障害が起きてもサービスを継続できる構成を作ります。SAA-C03では、ELB、Auto Scaling、Multi-AZ、Route 53の判断が頻出です。


単一障害点を避ける

単一のEC2、単一AZ、単一DBに依存すると、その要素が落ちたときにシステム全体が止まります。

基本構成:


ELBの使い分け

種類主な用途
ALBHTTP/HTTPS、パスベースルーティング、Webアプリ
NLBTCP/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択クイズでアウトプットして定着させよう