1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ALBとは何か?AWSで最初に理解すべきロードバランサーをやさしく解説

1
Posted at

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

といった周辺サービスも、自然につながって理解できるようになります。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?