API Gateway・ALB・CloudFrontの違いを初心者向けに解説
AWSでAPIやWebアプリの入口として使われるAPI Gateway、Application Load Balancer、Amazon CloudFrontの違いを、サーバーレス、負荷分散、CDN、試験ポイントの観点で整理します。
比較対象サービス
サービス名をクリックすると、用語詳細ページで復習できます。
結論
API Gateway、ALB、CloudFrontは、どれも外部からのリクエストを受ける入口になります。
ただし、目的が違います。
- サーバーレスAPIを公開するならAPI Gateway
- EC2やECSなどWebアプリを負荷分散するならALB
- コンテンツを高速配信・キャッシュするならCloudFront
このプロジェクトでは、静的サイト配信にCloudFront、問い合わせAPIにAPI Gatewayを使います。
比較表
| 項目 | API Gateway | ALB | CloudFront |
|---|---|---|---|
| 分類 | API管理サービス | ロードバランサー | CDN |
| 主な用途 | REST API / HTTP API / WebSocket API公開 | Webアプリの負荷分散 | 静的・動的コンテンツの高速配信 |
| 代表的な接続先 | Lambda、HTTPエンドポイント、AWSサービス | EC2、ECS、Lambda | S3、ALB、API Gateway、HTTPオリジン |
| 認証・認可 | IAM、Lambda Authorizer、Cognitoなど | OIDC認証など | 署名付きURL、WAF連携など |
| キャッシュ | APIキャッシュ機能あり | 主目的ではない | 得意 |
| サーバーレスとの相性 | 高い | 中 | 高い |
| WebSocket | 対応 | 主目的ではない | 主目的ではない |
| 試験キーワード | serverless API, REST, HTTP API, Lambda | load balancing, HTTP routing | CDN, edge, cache, static content |
初学者向け説明
API Gatewayは、APIの入口です。
Frontend
↓ POST /contact
API Gateway
↓
Lambdaこのプロジェクトの問い合わせフォームでも、API Gatewayを使う設計です。
ALBは、Webアプリの入口です。
User
↓
ALB
↓
EC2 / ECS複数のアプリケーションサーバーに通信を振り分けます。
CloudFrontは、ユーザーに近い場所からコンテンツを返すCDNです。
User
↓
CloudFront
↓
S3静的サイトや画像配信でよく使います。
試験で問われるポイント
API Gatewayが正解になりやすいケース
- LambdaでAPIを作りたい
- HTTP APIまたはREST APIを公開したい
- WebSocket APIを作りたい
- API単位で認証・レート制限・監視をしたい
- サーバーレス構成が要件にある
ALBが正解になりやすいケース
- EC2やECS上のWebアプリを負荷分散したい
- HTTP/HTTPSのパスベースルーティングが必要
- コンテナアプリケーションへリクエストを振り分けたい
- Webアプリの入口が必要
CloudFrontが正解になりやすいケース
- 静的コンテンツを高速配信したい
- S3をオリジンにしたい
- グローバルユーザーへ低レイテンシで配信したい
- オリジンへのアクセス回数を減らしたい
- HTTPS配信とキャッシュを組み合わせたい
実務での使い分け
サーバーレス問い合わせAPI
API Gatewayを使います。
Contact Form
↓
API Gateway
↓
Lambda
↓
DynamoDBこのプロジェクトのMVPでは、この構成が問い合わせAPIの中心です。
EC2 / ECS Webアプリ
ALBを使います。
User
↓
ALB
↓
ECS ServiceコンテナやEC2を複数台構成にする場合、ALBで負荷分散します。
静的サイト・画像配信
CloudFrontを使います。
User
↓
CloudFront
↓
S3S3を直接公開せず、CloudFront経由で配信できます。
CloudFront + API Gateway
APIにもCloudFrontを前段に置けます。
User
↓
CloudFront
↓
API Gateway
↓
Lambdaただし、MVPでは構成を複雑にしないため、まずは静的サイト配信はCloudFront、APIはAPI Gateway URLを利用する構成でも十分です。
よくある間違い
間違い1:API GatewayとALBを同じAPI入口として覚える
どちらもHTTPリクエストを受けられますが、設計思想が違います。
Lambda中心のサーバーレスAPIならAPI Gateway、EC2/ECSのWebアプリ負荷分散ならALBです。
間違い2:CloudFrontをAPI Gatewayの代替にする
CloudFrontはCDNです。
APIの作成・認証・ステージ管理・APIキー管理などはAPI Gatewayの領域です。
間違い3:静的サイト配信にAPI Gatewayを使う
静的サイト配信はS3 + CloudFrontが基本です。
API GatewayはAPI用の入口として使います。
関連用語
関連問題
まとめ
API Gateway、ALB、CloudFrontは、目的で分けると理解しやすいです。
- API Gateway:APIの入口
- ALB:Webアプリの負荷分散
- CloudFront:コンテンツの高速配信
このプロジェクトでは、CloudFrontとAPI Gatewayを使うため、ポートフォリオ説明でも重要な比較です。
次に学ぶ内容
比較で違いを理解したら、関連用語と模擬問題で知識を確認してください。 資格試験では「似ているサービスの使い分け」が問われます。
関連比較
Networking
ALB・NLB・CloudFrontの違いを初心者向けに解説
AWSの通信入口で混同しやすいApplication Load Balancer、Network Load Balancer、Amazon CloudFrontの違い、試験ポイント、実務での使い分けを整理します。
Networking
Route 53・CloudFront・Global Acceleratorの違いを初心者向けに解説
「全部グローバルサービス」で混同しやすいAmazon Route 53、Amazon CloudFront、AWS Global Acceleratorの違い、試験ポイント、実務での使い分けを整理します。