カテゴリ: AWS 更新日: 2025/12/18

AWSのALBとNLBの違いを比較!ユースケースに応じた使い分けを初心者向けに解説

ALBとNLBの違いを比較!ユースケースに応じた使い分け
ALBとNLBの違いを比較!ユースケースに応じた使い分け

先生と生徒の会話形式で理解しよう

生徒

「先生、AWSのロードバランサーにはALBとNLBがあるって聞きました。どっちを使えばいいんですか?」

先生

「ALB(アプリケーションロードバランサー)とNLB(ネットワークロードバランサー)は役割が違います。ALBはアプリケーション層、NLBはネットワーク層で動作するロードバランサーです。ユースケースに応じて使い分けが必要なんですよ。」

生徒

「なるほど。名前が似ているので違いが分かりにくいです。詳しく教えてください!」

先生

「では、ALBとNLBの特徴や違いを順番に整理しながら説明していきましょう。」

1. ALBとNLBの基本的な違い

1. ALBとNLBの基本的な違い
1. ALBとNLBの基本的な違い

AWSのElastic Load Balancing(エラスティックロードバランシング、読み方はイーエルビー)は、複数のロードバランサーを提供しています。その中でも代表的なのがALB(Application Load Balancer、アプリケーションロードバランサー)とNLB(Network Load Balancer、ネットワークロードバランサー)です。

ALBは第7層(アプリケーション層)で動作し、リクエストの中身を見てルーティングを行います。一方でNLBは第4層(トランスポート層)で動作し、TCP(ティーシーピー)やUDP(ユーディーピー)の通信を超高速で処理するのが特徴です。

2. ALB(Application Load Balancer)の特徴

2. ALB(Application Load Balancer)の特徴
2. ALB(Application Load Balancer)の特徴

ALBはWebアプリケーションやAPI(エーピーアイ)の分散に向いています。具体的な特徴は以下の通りです。

  • リクエスト内容を解析:URLのパスやホスト名に基づいてルーティング可能
  • HTTP/HTTPSに対応:セキュリティ証明書を設定して安全な通信を実現
  • マイクロサービスに最適:複数のサービスを1つのドメインで柔軟に振り分けできる
  • ログ・モニタリング:CloudWatch(クラウドウォッチ)で詳細なメトリクスを取得可能

例えば、利用者が「/login」にアクセスしたら認証用サーバーへ、「/shop」にアクセスしたらショッピング用サーバーへと分ける、といった高度な処理が可能です。

3. NLB(Network Load Balancer)の特徴

3. NLB(Network Load Balancer)の特徴
3. NLB(Network Load Balancer)の特徴

NLBは低遅延と高スループットを求められる場面に適しています。特徴は次の通りです。

  • 超高速処理:ミリ秒単位の低遅延で数百万リクエストを処理可能
  • 静的IPアドレス:固定IPを利用でき、ファイアウォールやセキュリティ設定が容易
  • TCP/UDP通信に対応:ゲームサーバーや金融システムに適用できる
  • 高可用性:複数のアベイラビリティゾーンにまたがり耐障害性を実現

たとえばオンラインゲームやIoT(アイオーティー)デバイスとの接続では、一瞬の遅延が大きな影響を与えるため、NLBの超低遅延性能が役立ちます。

4. ALBとNLBの比較表

4. ALBとNLBの比較表
4. ALBとNLBの比較表
項目 ALB(アプリケーションロードバランサー) NLB(ネットワークロードバランサー)
動作層 第7層(アプリケーション層) 第4層(トランスポート層)
得意分野 Webアプリケーション、API、マイクロサービス ゲーム、金融システム、IoT通信
遅延 やや大きい 非常に小さい
機能 パスベース・ホストベースルーティング 固定IP、超高速通信

5. ユースケースごとの使い分け

5. ユースケースごとの使い分け
5. ユースケースごとの使い分け

ALBとNLBは、それぞれ得意な分野が違うため、利用シーンによって選び方が変わります。

  • ALBを選ぶケース:WebアプリケーションやAPIサーバーを構築するとき。利用者のリクエスト内容に応じて処理を振り分けたい場合に有効。
  • NLBを選ぶケース:低遅延が重要な金融取引システムやゲームサーバー、大量接続が発生するIoTシステムで最適。

また、ユースケースによってはALBとNLBを組み合わせることも可能です。例えば、外部からのアクセスをまずNLBで受け、その後ALBでアプリケーション層に応じたルーティングを行う構成も考えられます。

6. 初心者に分かりやすい例え

6. 初心者に分かりやすい例え
6. 初心者に分かりやすい例え

ALBを例えるなら「デパートの案内係」です。お客様が「食品売り場に行きたい」と言えば案内係が適切なフロアに案内します。一方、NLBは「高速道路の料金所ゲート」のような存在です。車(リクエスト)が大量に来ても、ゲートが素早く整理して各レーンに分けるため渋滞を防ぎます。この違いを知ることで、ALBとNLBのユースケースを直感的に理解できます。

まとめ

まとめ
まとめ

今回は、AWSのロードバランサーであるALBとNLBの違いについて、初心者でも理解しやすいように具体例や比較表を交えて整理しました。アプリケーション層で動作するALBは、URLパスやホスト名を基準に細かな振り分けができるため、WebアプリケーションやAPI、マイクロサービスの構成に非常に向いています。特に複数のエンドポイントをまとめて運用する際は、ALBのパスベースルーティングが大きな力を発揮します。 一方で、NLBはネットワーク層で動作し、TCPやUDPを超高速でさばけるのが大きな強みです。低遅延が求められるゲームサーバーや金融システム、IoTの大量デバイス通信などでは、ミリ秒単位のレスポンスが安定して提供されるNLBが最適です。固定IPを利用できる点もネットワーク構成上大きなメリットとなります。 さらにALBとNLBはどちらか一方だけを使う必要はなく、ユースケースに応じて組み合わせることで柔軟なアーキテクチャを構築できます。例えば外部からの接続をまずNLBで処理し、その後ALBでアプリケーション層のルーティングを行う構成は、耐障害性と柔軟性の両方を高められる代表的なパターンです。 AWSのロードバランサーは、クラウドアーキテクチャを考える上で欠かせない重要な要素であり、ALBとNLBの強みを理解することは、より安定したシステム設計につながります。今回解説したポイントを参考に、プロジェクトの特性や将来の拡張性を見据えつつ、適切なロードバランサーを選択してみてください。

サンプル設定コード

ここでは、ALBでパスベースルーティングを設定する簡単な例を示します。実際のAWS環境ではTerraformやCloudFormationを利用することもありますが、ここでは概念を把握しやすいようにXML風の構成例でまとめています。


<LoadBalancer type="ALB">
    <Listener protocol="HTTPS" port="443">
        <Rule path="/login" targetGroup="auth-service"/>
        <Rule path="/shop" targetGroup="shop-service"/>
        <Rule path="/api/*" targetGroup="api-service"/>
    </Listener>
</LoadBalancer>

次は、NLBの固定IP設定のイメージ例です。高速処理を重視した構成で、金融取引システムやゲームサーバーなどに利用されます。


<LoadBalancer type="NLB">
    <Listener protocol="TCP" port="443">
        <TargetGroup name="realtime-system"/>
    </Listener>
    <StaticIP enabled="true"/>
</LoadBalancer>
先生と生徒の振り返り会話

生徒

「先生、今回学んだことで一番重要なのは何ですか?」

先生

「一番大切なのは、ALBとNLBが“どの層で動くのか”と“どんな特性を持っているか”を理解することですね。アプリケーション層かネットワーク層かでできることが大きく変わるので、設計の判断が変わってきます。」

生徒

「たしかに、ALBは案内係のように細かく振り分けてくれて、NLBは大量の通信を高速でさばいてくれる、というイメージがとても分かりやすかったです。」

先生

「そのイメージを覚えておくと、実際のシステム設計で迷ったときに判断しやすくなりますよ。WebアプリケーションならALB、リアルタイム通信ならNLB、といった基準が自然に身につきます。」

生徒

「ユースケースに応じて使い分ける理由がよく分かりました。次はALBとNLBを組み合わせる構成にも挑戦してみたいです!」

先生

「ぜひ試してみてください。設計の幅が広がって、AWSの理解もさらに深まりますよ。」

この記事を読んだ人からの質問

この記事を読んだ人からの質問
この記事を読んだ人からの質問

プログラミング初心者からのよくある疑問/質問を解決します

AWSのロードバランサーにはどんな種類があるの?

AWSのロードバランサーには主にALB(アプリケーションロードバランサー)とNLB(ネットワークロードバランサー)の2種類があり、それぞれ異なる特徴とユースケースがあります。

理解度のクイズ問題

理解度のクイズ
この記事の理解度をクイズで確認しよう

以下の選択肢の中から、当てはまるものを1つ選んでください。

問題
ある開発チームは、大規模なWebアプリケーションを構築しています。
リクエストのURLパスやホスト名に基づいて異なるサーバーに振り分けたいと考えています。
さらに、セキュリティ証明書を利用してHTTPS通信を行いたい場合に、
最も適したロードバランサーはどれでしょうか。

A. Amazon CloudFront
B. Application Load Balancer (ALB)
C. Network Load Balancer (NLB)
D. Classic Load Balancer

正解. B Bが正解です。Application Load Balancer (ALB) は、第7層(アプリケーション層)で動作し、 リクエストの内容(URLパスやホスト名)に応じたルーティングが可能です。 また、HTTPS通信に対応しており、セキュリティ証明書を利用することもできます。 Aは間違いです。Amazon CloudFrontはコンテンツ配信ネットワーク(CDN)であり、 ロードバランサーではありません。 Cは間違いです。Network Load Balancer (NLB) は第4層で動作し、高速処理やTCP/UDP通信向けに適しています。 Dは間違いです。Classic Load Balancerは古い世代のロードバランサーであり、 現在ではALBやNLBの利用が推奨されています。

下記をクリックすると、解答が表示されます
カテゴリの一覧へ
新着記事
New1
シェルとターミナル基礎
Linuxのシェルとは?初心者でもわかる役割と基本を完全解説
New3
Linux ディストリビューション
Linuxディストリビューションの選び方完全ガイド!初心者でも失敗しない選択基準とおすすめの選び方
人気記事
No.1
Java&Spring記事人気No1
S3(オブジェクトストレージ)
AWS S3の料金体系をわかりやすく解説
No.2
Java&Spring記事人気No2
AWS 基本
AWSの公式料金計算ツール(Pricing Calculator)の使い方
No.3
Java&Spring記事人気No3
S3(オブジェクトストレージ)
AWS S3イベント通知を設定してLambdaをトリガーする方法を初心者向けに解説!
No.4
Java&Spring記事人気No4
VPC(プライベートクラウド)
AWS VPCでNATゲートウェイを構成してプライベートサブネットから外部アクセスする方法を初心者向けに解説!
No.5
Java&Spring記事人気No5
ELB(ロードバランサー)
AWS ELBでターゲットグループを設定する方法を初心者向けに解説!
No.6
Java&Spring記事人気No6
Direct Connect(専用線接続)
AWS Direct Connect Gatewayの使い方と制限事項を初心者向けにやさしく解説
No.7
Java&Spring記事人気No7
RDS(データベース)
AWS RDSのスケーリング(インスタンスサイズ変更)を初心者向けにやさしく解説!
No.8
Java&Spring記事人気No8
Linux 基礎概要
Linuxとは何か?初心者向けに意味・特徴をわかりやすく解説