当サイトには広告が含まれています。

【AWS SAA合格への道 #01】ASG+ALBで実現するEC2オートスケーリング

AWS SAAを勉強している人向けに、ASGとALBに関するEC2オートスケーリングの方法について解説します。 AWS

はじめに──この記事でわかること

AWS SAAに合格するために、インフラ設計の考え方を基礎から学び直しています。
今回取り上げたのは「Auto Scaling Group(ASG)」「Application Load Balancer(ALB)」を組み合わせたEC2オートスケーリングの仕組みです。
試験に出やすいポイントを整理してみました。

1. EC2スケール問題の背景

  • Webアプリにユーザーが集中するとEC2 1台では処理しきれない
  • 逆に夜間などアクセスが減るとサーバが多すぎてコストが無駄

そのため、アクセス量に合わせて自動でEC2を増減し、リクエストを負荷分散する仕組みが必要です。

2. ASGとALBの基本

  • Auto Scaling Group(ASG): EC2インスタンスをグループ単位で自動増減する機能
  • Application Load Balancer(ALB): ユーザーリクエストを稼働中のEC2へ自動分配する負荷分散機能

★ コラム:なぜ「Group」?

Auto Scalingは「自動増減機能」の総称。
複数のEC2をまとめて管理する“まとまり”を扱うため、ASGだけ「Group」が付きます。

3. 仕組みの流れ

  1. ユーザーがアプリにアクセス
  2. まずALBにリクエスト到達
  3. ALBが稼働中のEC2に振り分け
  4. 負荷上昇時はASGで新規EC2を追加
  5. アクセス減少時はASGで余剰EC2を削減
  6. EC2故障時はASGが再補充

★ コラム:ALBなしのASG運用

バッチ処理や内部システムなど、
外部アクセス不要な用途ではALBを使わずASGだけで自動増減するケースもあります。

4. ASG+ALBを組み合わせるメリット

  • サーバ台数の手動調整が不要
  • 1台故障しても他がカバーする高可用性
  • 必要時だけ増減できるのでコスト最適化

5. 想定問題1

【問題1】

あなたの会社のWebサービスは、現在EC2インスタンス1台のみで運用されています。
最近、予想以上にアクセスが急増しており、パフォーマンスが不安定になっています。
今後さらにユーザーが増えることも見込まれています。

この状況で、サービスを自動的にスケーリングして高可用性を保ちつつ、コストも抑えたい場合、どの構成が最適ですか?

  1. EC2インスタンスを手動で増やし、DNSラウンドロビンで振り分ける
  2. Auto Scaling GroupとApplication Load Balancerを使い、複数のAZにEC2を展開する
  3. EC2インスタンスを大型化し、NAT Gatewayを複数立てる
  4. Auto Scaling GroupのみでEC2を管理し、ALBは使わない

↓↓↓ 正解はこの下にスクロールするとあります。


【正解】2
Auto Scaling GroupとALBでマルチAZ展開がベスト。

ASGだけを使ってALBを使わないパターンもあります。
たとえば、社内バッチ処理や定期タスクなど外部公開不要な用途の場合です。
ただし、Webサービスのように多くのユーザーがアクセスする場合は、ALBと組み合わせるのが一般的です。

6. 想定問題2

【問題2】

Auto Scaling GroupでWebアプリケーションを運用しています。
昼間はアクセスが多いですが、深夜はほぼゼロになります。
夜間のコストをなるべく抑えたい場合、最も適切なアプローチはどれですか?

  1. スケーリングのしきい値を「CPU使用率20%」に設定する
  2. 最小インスタンス数を0台に設定し、スケジュールベースのスケーリングも組み合わせる
  3. ALBのヘルスチェック間隔を短くする
  4. Auto Scaling Groupの最大台数を減らす

↓↓↓ 正解はこの下にスクロールするとあります。


【正解】2
最小インスタンス数を0台+スケジュール設定

★ コラム:しきい値20%だけでは?

しきい値を下回った場合は台数が減りますが、ASGの最小インスタンス数の設定値以下にはなりません。
夜間に0台にしたい場合は、最小インスタンス数を0にし、さらにスケジュール設定も組み合わせるのが最適です。

★ コラム:ALBのヘルスチェック

ALBはEC2インスタンスに定期的にリクエストを送り、応答が異常なEC2は自動で振り分けから外します。
壊れたサーバにリクエストが飛ばなくなるので、システムの自己回復にもつながります。

まとめ

ASGとALBの組み合わせは、可用性とコスト最適化を両立できる鉄板構成です。
SAA試験でもよく出るので、まずはこの基本パターンをマスターしましょう。

コメント

タイトルとURLをコピーしました