ALB (Application Load Balancer) とは?用途やメリットを分かりやすく解説
インフラの負荷分散に欠かせないAWSの「ALB(ELB)」について、ルーティングルールからスケール時の構成例まで丁寧に解説。
ALB (Application Load Balancer)とは?
ALB(Application Load Balancer)は、AWSが提供するロードバランサー(負荷分散装置)サービスであるElastic Load Balancing (ELB) の一種です。インターネットなどからのアクセスを受け取り、背後にある複数のサーバー(EC2など)へ通信を自動的に振り分ける役割を持ちます。
主な役割とメリット
ALBの最大のメリットは「システムの可用性と耐障害性の向上」です。もし1台のサーバーが故障しても、ALBがそれを検知(ヘルスチェック)して正常なサーバーにのみ通信を振り分けるため、サービスが完全に停止するのを防ぐことができます。また、アクセス急増時にはサーバー台数を増やして負荷を分散させることが可能です。
どのような場面で使われるか
少しでも規模の大きいWebサイトや、一時的にアクセスが集中するキャンペーンサイト、絶対にアクセスを止められない業務システム等の入り口として利用されます。
関連するAWSサービスとの組み合わせ例
- ALB + EC2 + Auto Scaling: トラフィックが増加した際、Auto Scalingが自動的にEC2の台数を増やし、それをALBが負荷分散する「スケーラブルなWeb構成」が王道です。
- ALB + WAF (Web Application Firewall): ALBにWAFをアタッチ(関連付け)することで、SQLインジェクションやクロスサイトスクリプティングなどのサイバー攻撃を入り口でブロックします。
- ALB + ACM (AWS Certificate Manager): 無料のSSL/TLS証明書をALBに設定し、HTTPS化(暗号化通信)を簡単に実現します。
実務上の注意点
ALBはHTTP/HTTPSトラフィック専用(レイヤー7)のロードバランサーです。TCPなどのより低いレイヤーでの通信には適用できません(その場合はNLBを使用します)。
よくあるエラーやトラブルシュート
- 502 Bad Gateway や 504 Gateway Timeout: 背後のEC2アプリケーションの応答が遅い、またはプロセスが落ちているときに発生します。ヘルスチェックの設定(間隔やタイムアウト時間)を見直す必要があります。
- アクセス元IPアドレスが分からない: アプリケーション側のログに、アクセス元のユーザーIPではなくALBのIPが記録されてしまうことがあります。ユーザーの本当のIPを取得するには、HTTPヘッダーの
X-Forwarded-Forを参照するようサーバー設定を変更します。
まとめ
ALBは、モダンなWebアプリケーションインフラにおいて必須のコンポーネントです。単なる負荷分散だけでなく、SSL終端(HTTPS化)やセキュリティ対策の関所としての重要な役割も担っています。
関連する用語 (cloud)
全15件を見るEC2 (Elastic Compute Cloud) とは?用途やメリットを分かりやすく解説
AWSの仮想サーバーサービス「EC2」について、初心者でも理解できるように基礎から実務でのユースケースまで徹底解説します。
VPC (Virtual Private Cloud) とは?用途やメリットを分かりやすく解説
AWS上で独自のプライベートネットワークを構築する「VPC」について、サブネットやルーティングの基本から実務構成まで解説。
Prisma: Unique constraint failed on the fields
Prisma ORMでデータを insert/update する際、既に存在するメールアドレス等と重複してしまった場合に出るユニーク制約エラー(P2002)の安全なキャッチ方法。
ModuleNotFoundError: No module named の原因
Pythonでライブラリを import しようとした時に「ModuleNotFoundError」が出る原因(pipインストールの欠落や仮想環境のミス)と解決策。
IndentationError: expected an indented block
Python特有のエラー「IndentationError」が出る理由。スペース(空白)とタブ文字の混在や、if文・関数定義のインデントを直す方法を解説します。
RDS (Relational Database Service) とは?用途やメリットを分かりやすく解説
AWSが提供するマネージドリレーショナルデータベース「RDS」について、運用負荷を減らす機能からマルチAZ構成まで解説。