メインコンテンツへ移動
Networking中級優先度 高

ALB・NLB・CloudFrontの違いを初心者向けに解説

AWSの通信入口で混同しやすいApplication Load Balancer、Network Load Balancer、Amazon CloudFrontの違い、試験ポイント、実務での使い分けを整理します。

公開日:2026-06-07/更新日:2026-06-07
CLF-C02SAA-C03

比較対象サービス

サービス名をクリックすると、用語詳細ページで復習できます。

結論

ALB、NLB、CloudFrontは、どれもユーザーからの通信を受ける入口として登場します。

ただし、役割は違います。

  • WebアプリのHTTP/HTTPSリクエストを振り分けるならALB
  • TCP/UDPなど低レイヤーで高速に振り分けるならNLB
  • 静的コンテンツ配信、キャッシュ、世界中への高速配信ならCloudFront

AWS試験では、「ロードバランサーが必要なのか」「CDNが必要なのか」を切り分けることが重要です。

比較表

項目ALBNLBCloudFront
正式名Application Load BalancerNetwork Load BalancerAmazon CloudFront
分類ロードバランサーロードバランサーCDN
主なレイヤーL7L4エッジ配信
主な用途WebアプリのHTTP/HTTPS振り分けTCP/UDP/TLSの高速振り分け静的・動的コンテンツの高速配信
代表的な接続先EC2、ECS、LambdaなどEC2、IPアドレス、ALBなどS3、ALB、API Gateway、カスタムオリジン
URLパスによる振り分け得意不向きキャッシュビヘイビアで制御可能
ホスト名による振り分け得意不向き可能
固定IP基本は不向き向いている標準ではCloudFrontドメインまたは独自ドメイン
キャッシュしないしないする
グローバル配信主目的ではない主目的ではない得意
試験でのキーワードHTTP, HTTPS, path routing, host routingTCP, UDP, static IP, high performanceCDN, edge location, cache, S3 static site

初学者向け説明

ALBは、Webアプリの入口です。

例えば、以下のような振り分けができます。

/app  → アプリケーションサーバー
/admin → 管理画面サーバー
/api  → APIサーバー

NLBは、より低いレイヤーで高速に通信を流す入口です。

HTTPの中身を見るというより、TCPやUDPの通信を高速にターゲットへ届ける用途で使います。

CloudFrontは、ロードバランサーではなくCDNです。

ユーザーの近くにあるエッジロケーションからコンテンツを返すことで、表示速度を上げます。S3静的サイトや画像配信と相性が良いです。

試験で問われるポイント

ALBが正解になりやすいケース

  • HTTP/HTTPSのWebアプリを負荷分散したい
  • URLパスごとにターゲットを分けたい
  • ホスト名ごとにターゲットを分けたい
  • ECSやLambdaと組み合わせたい
  • Webアプリケーション向けの入口を作りたい

NLBが正解になりやすいケース

  • TCP/UDP通信を扱いたい
  • 高スループット・低レイテンシが必要
  • 固定IPが必要
  • HTTPのパスルーティングではなく、ネットワークレベルで振り分けたい

CloudFrontが正解になりやすいケース

  • 静的ファイルを世界中に高速配信したい
  • S3の画像、HTML、CSS、JavaScriptをキャッシュしたい
  • ユーザーに近いエッジロケーションから配信したい
  • オリジンへのアクセスを減らしたい
  • S3を直接公開せずに配信したい

実務での使い分け

S3静的サイトを公開する場合

CloudFrontを使います。

User
↓
CloudFront
↓
S3

このプロジェクトの本番構成も、S3 + CloudFrontが基本です。

EC2やECSでWebアプリを動かす場合

ALBを使います。

User
↓
ALB
↓
EC2 / ECS

HTTP/HTTPSのWebアプリなら、まずALBを検討します。

TCPベースの高性能通信が必要な場合

NLBを使います。

User
↓
NLB
↓
EC2

ゲームサーバー、独自TCPプロトコル、高性能なネットワーク入口などで候補になります。

グローバル配信とWebアプリ負荷分散を組み合わせる場合

CloudFrontとALBを組み合わせます。

User
↓
CloudFront
↓
ALB
↓
EC2 / ECS

CloudFrontでキャッシュ・TLS終端・エッジ配信を行い、ALBでアプリケーションへ振り分けます。

よくある間違い

間違い1:CloudFrontをロードバランサーとして覚える

CloudFrontはCDNです。

オリジンとしてALBを指定することはできますが、ALBの代わりにターゲットグループへ直接負荷分散するサービスではありません。

間違い2:ALBとNLBを「どちらも同じLB」と覚える

ALBはアプリケーション層、NLBはネットワーク層です。

URLパスで振り分けるならALB、TCP/UDPや固定IPならNLBです。

間違い3:静的サイトにALBを使う

静的サイトなら、基本はS3 + CloudFrontです。

ALB + EC2で静的サイトを配信すると、常時起動サーバーが必要になり、MVPではコスト面で不利です。

関連用語

関連問題

まとめ

ALB、NLB、CloudFrontの違いは、AWS試験でも実務でも頻出です。

最初は次のように覚えると判断しやすいです。

  • WebアプリのHTTP/HTTPS振り分け:ALB
  • TCP/UDPや固定IP:NLB
  • 静的コンテンツ配信・キャッシュ・エッジ配信:CloudFront

次に学ぶ内容

比較で違いを理解したら、関連用語と模擬問題で知識を確認してください。 資格試験では「似ているサービスの使い分け」が問われます。

関連比較