AWSでロードバランサーを使い始めると、最初に登場するのが ALB(Application Load Balancer) です。
しかし初学者の多くは、
- ロードバランサーと何が違うのか分からない
- NLBとの使い分けが分からない
- なぜALBはパブリックサブネットに置くのか分からない
といったところでつまずきます。
この記事では、ALBの役割・仕組み・設計上の考え方を、
これまで学んできた Targetグループやヘルスチェックとつなげて解説します。
① ALBとは何か?
ALB(Application Load Balancer)とは、HTTP/HTTPS通信を制御するロードバランサーです。
ALBの最大の特徴は次の3つです。
- HTTP / HTTPS(80 / 443)を扱う
- リクエストの内容を見て振り分けできる
- Targetグループとセットで動作する
構成イメージは次のとおりです。
インターネット
↓
ALB
↓
Targetグループ
↓
EC2(複数台)
超重要ポイント
ALBは 単に分散する装置ではありません。
「アプリケーションの入口」として振る舞うロードバランサー
これがALBの本質です。
② ALBで何ができるのか?
ALBが他のロードバランサーと大きく違う点は、
リクエストの中身を見て制御できる ことです。
1. パスベースルーティング
例えば次のような振り分けが可能です。
-
/→ Web用Targetグループ -
/api→ API用Targetグループ -
/admin→ 管理画面用Targetグループ
つまり、
URLごとに振り分け先を変えられる
ということです。
2. ヘルスチェックと連携
ALBは、Targetグループで設定されたヘルスチェック結果をもとに、
- 正常なEC2 → トラフィックを送る
- 異常なEC2 → トラフィックを送らない
という制御を行います。
この仕組みにより、
ユーザーにエラーを見せない構成
が実現できます。
③ ALBの配置とよくある構成
ALBは通常、パブリックサブネットに配置されます。
理由は明確です。
ALBがインターネットからの入口になるから
一方、EC2は プライベートサブネット に配置されることが一般的です。
よくある構成は次のとおりです。
インターネット
↓
ALB(パブリックサブネット)
↓
Targetグループ
↓
EC2(プライベートサブネット)
この構成にすることで、
- EC2を直接インターネットに公開しない
- セキュリティを高められる
- スケールや入れ替えが容易になる
といったメリットがあります。
④ まとめ
ALBは、
Webアプリケーションの入口を担当するロードバランサー です。
重要ポイントまとめ
- ALBは HTTP / HTTPS専用
- URLやリクエスト内容で振り分け可能
- Targetグループとセットで動作する
- インターネット向けの入口として使われる
そして一番大事な考え方はこれです。
ALBは「EC2を守るための盾」であり、「ユーザーとの窓口」でもある。
ALBを理解すると、
- Targetグループ
- ヘルスチェック
- Auto Scaling
といった周辺サービスも、自然につながって理解できるようになります。