AWSロードマップ

アクセス集中も怖くない!ELBとAuto Scalingで実現する負荷分散と自動スケーリング

AWSのElastic Load Balancer(ELB)とAuto Scalingを活用することで、アプリケーションの可用性とスケーラビリティを向上させることができます。本記事では、それぞれの基本概念と設定方法を解説します。


1. ELB(Elastic Load Balancer)とは?

ELBは、複数のEC2インスタンスにトラフィックを分散させることで、負荷を分散しアプリケーションの可用性を向上させるサービスです。

ELBの主な種類

ELBタイプ説明
ALB(Application Load Balancer)HTTP/HTTPSトラフィックを処理し、パスベースやホストベースのルーティングが可能
NLB(Network Load Balancer)TCP/UDPトラフィックを処理し、高スループット・低レイテンシの負荷分散が可能
CLB(Classic Load Balancer)旧世代のロードバランサーで、ALB/NLBへの移行が推奨される

ALBの作成手順(AWSマネジメントコンソール)

  1. EC2ダッシュボードから「ロードバランサー」を選択
  2. 「ロードバランサーを作成」をクリックし、Application Load Balancer を選択
  3. リスナー を設定(例:HTTP 80)
  4. VPCとサブネット を選択し、パブリックサブネットを指定
  5. セキュリティグループ を作成し、適切なポートを開放
  6. ターゲットグループ を作成し、EC2インスタンスを登録
  7. ELBを作成し、DNS名を取得して動作確認

ELBの作成(AWS CLI)

aws elbv2 create-load-balancer --name MyALB --type application --subnets subnet-12345678 subnet-87654321

2. Auto Scalingとは?

Auto Scalingは、負荷に応じてEC2インスタンスの数を自動で増減させる機能です。これにより、コストの最適化高可用性の確保 が可能になります。

Auto Scalingの主な要素

要素説明
Auto Scaling Group(ASG)EC2インスタンスを管理するグループ
Launch Templateインスタンスの設定(AMI, インスタンスタイプ, セキュリティグループ)
Scaling Policyスケーリングの条件(CPU使用率、リクエスト数など)

Auto Scalingの作成手順(AWSマネジメントコンソール)

  1. EC2ダッシュボード から「Auto Scalingグループ」を開く
  2. 「Auto Scalingグループを作成」をクリック
  3. Launch Template を作成
    • AMI(Amazon Machine Image)を選択
    • インスタンスタイプを指定(t2.microなど)
    • セキュリティグループを設定
  4. Auto Scaling Group(ASG) を作成
    • VPCとサブネットを選択
    • 初期インスタンス数を設定(例:2)
  5. スケーリングポリシーを設定
    • CPU使用率が60%を超えたらインスタンスを追加
    • CPU使用率が30%未満ならインスタンスを削除
  6. 設定を保存して作成完了

Auto Scalingの作成(AWS CLI)

aws autoscaling create-auto-scaling-group --auto-scaling-group-name MyASG \\
    --launch-template LaunchTemplateName=my-template,Version=1 \\
    --min-size 1 --max-size 5 --desired-capacity 2 \\
    --vpc-zone-identifier subnet-12345678,subnet-87654321

3. ELB + Auto Scalingの統合

ELBとAuto Scalingを組み合わせることで、負荷が増減しても安定したトラフィック分散を実現できます。

手順

  1. ターゲットグループをELBに設定
    • Auto Scaling Groupが管理するEC2インスタンスをターゲットグループに追加
  2. Auto Scaling GroupをELBと連携
    • Auto Scalingの作成時にターゲットグループを指定
    • インスタンスが追加・削除されると、自動的にELBのターゲットグループが更新
  3. スケーリングポリシーを調整
    • リクエスト数やレスポンスタイムに基づいたスケーリング設定を追加

4. まとめ

ELBとAuto Scalingを組み合わせることで、

  • 負荷分散(ELB) によりトラフィックを適切に分散
  • 自動スケーリング(Auto Scaling) によりリソースを最適化
  • 高可用性とコスト最適化 を同時に実現

次のステップでは、「CloudFrontとCDNによる静的コンテンツのキャッシュ戦略」について詳しく解説していきます!

-AWSロードマップ
-, , , , , , , ,