ALBについて
概要
ALBについて、よく名前を聞くけど役割についてよくわかっていない。 ここでALBについてまとめることで、自分の今後のアーキテクチャ選定などにつなげたい。
ゴール
- ALBの基礎理解ができており、ALBの特徴やメリット・デメリットを聞かれたときに受け答えができている状態
- ALBの役割やユースケースが理解できており、アーキテクチャ選定に役立てられる状態
ALBって何?
- アプリケーション層で動作するロードバランサー
- HTTP/HTTPSリクエストの中身(例えばURLのパスやヘッダー)を見て、適切なターゲットにトラフィックを振り分ける
ロードバランサーってなに??🤔
アクセスを整理して、複数のサーバーに振り分けてくれる交通整理おじさん!! 「あなたはaサーバーいきなさい!、あなたはbサーバーいきなさい!」
なぜロードバランサーが必要??
1. サーバーの負荷分散
- 1台のサーバーにアクセスが集中すると落ちたりしちゃうから、空いてるサーバへ振り分けることで多数のアクセスにも耐えられる!
- ここはもともと認識があった部分だな〜
- 同時アクセスが多いサービスであれば、ユーザーに負担をかけないように&障害を起こさないように導入したほうがよさそう!!
2. サービスをとめない
- 1台のサーバーが停止・故障してもロードバランサーが検知して、正常なサーバーだけに通信を流してくれる。ユーザーは問題なく使い続けられる!便利〜
- 前提として複数サーバーが用意されている必要がありそう
疑問: サーバーが1台しかない場合はALB不要?
結論、サーバー1台だとしてもALBを置くのがおすすめ!
理由は以下の3つ。
① SSL証明書の管理(HTTPS化)が楽
- AWSの証明書管理サービス(ACM)を使ってボタンをポチポチするだけでよい
- サーバーの負荷も減る
- SSL/TLSの暗号化・復号は計算処理が重いが、サーバーの代わりにALBが請け負ってくれる(これをSSLオフロードという)
② サーバーを停止せずにメンテできる
- サーバーを作り変えるときも、ALBがいることで新しいサーバーを裏で用意し、古いほうから新しいほうへの切り替えが簡単
- → ユーザーに迷惑をかけずにブルーグリーンデプロイができる
- 移行作業のことも考えると、ALBを選んでおいたほうがよさそう
- 一方で、すぐに移行する必要がなさそうなサービスや小規模サービスだとオーバーエンジニアリングな気もする…
③ セキュリティの壁となる
- サーバを直接インターネットにさらさなくて済む
- ALBのみを外向きにしておき、サーバはALBからのみ受け付ける設定にすることで、攻撃を減らせる
ブルーグリーンデプロイって??
どんな用途で使用するの?
代替手段はある??
まとめ
所感
- pixiの今の構成だとAWSはインフラに選定していないけど、近しいことはできるんだろうか…?同時リクエストを捌けるように考えていきたい。Vercelとかがもしかしたら提供してくれているのか??
参考文献
Application Load Balancerを使用して受信トラフィックを複数のターゲットに分散します。
docs.aws.amazon.com
メタデータ
- ステータス: 進行中
- タグ: AWS, ALB, ロードバランサー, インフラ
- 作成日時: 2026/05/13
- 更新日時: 2026/05/13