terada_life

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