API Gateway
API Gatewayは、APIの公開・管理・保護を一元的に行うフルマネージドサービスです。バックエンドのアプリケーションへのリクエストを仲介し、認証、スロットリング、キャッシュ、変換といった横断的な関心事をAPI の手前で処理します。
所要時間
約40分
学べること
- API Gatewayの基本概念と2つのAPI タイプ(REST API / HTTP API)
- スロットリングの仕組み(Rate / Burst / 使用量プ ラン)
- クライアント別のクォータ管理とAPIキー運用
- WAFレート制限との使い分けと多層防御の設計
- IDサービスにおけるAPI保護パターン
前提知識
- ロードバランシングの基本知識
- セキュリティサービスのWAFの基本概念
- REST APIの基礎知識
目次
- API Gatewayの位置付け
- REST API vs HTTP API
- スロットリングの仕組み
- 使用量プランとAPIキー
- キャッシュ
- 認証と認可
- WAFレート制限との使い分け
- IDサービスでの活用
1. API Gatewayの位 置付け
クライアント → CloudFront → WAF → API Gateway → ALB → アプリケーション
│ │
│ ├── スロットリング(流量制御)
│ ├── APIキー検証
│ ├── リクエスト検証
│ └── レスポンスキャッシュ
│
└── レート制限(攻撃遮断)
SQLi/XSSフィルタ
WAFが「悪意のあるリクエストを遮断する」のに対し、API Gatewayは「正常なリクエストの流量を制御する」サービスです。両者は排他ではなく、組み合わせて多層防御を構成します。
ALBとの違い
ALBとAPI Gatewayはどちらも「バックエンドの手前に置く」サービスですが、役割が異なります。
| 観点 | ALB | API Gateway |
|---|---|---|
| 主な役割 | トラフィックの分散 | APIの管理・保護 |
| スロットリング | なし | あり(Rate/Burst) |
| APIキー管理 | なし | あり(使用量プラン) |
| レスポンスキャッシュ | なし | あり(REST APIのみ) |
| リクエスト変換 | なし | あり(マッピングテンプレート) |
| 料金モデル | 時間 + LCU | リクエスト数 |
小規模では「ALB直接」で十分ですが、APIの流量制御・クライアント別の利用制限が必要になったタイミングでAPI Gatewayの導入を検討しま す。
2. REST API vs HTTP API
API Gatewayには2つのAPIタイプがあります。
| 比較項目 | REST API | HTTP API |
|---|---|---|
| 料金 | $3.50 / 100万リクエスト | $1.00 / 100万リクエスト |
| レイテンシ | やや高い(~30ms追加) | 低い(~10ms追加) |
| スロットリング | ステージ別 + メソッド別 | ルート別 |
| 使用量プラン | あり | なし |
| APIキー | あり | なし |
| レスポンスキャッシュ | あり | なし |
| WAF統合 | あり | なし |
| リクエスト検証 | あり | あり |
| Lambda Authorizer | あり | あり |
| OIDC/JWT認証 | Lambda Authorizer経由 | ネイティブ対応 |
選定の判断基準:
クライアント別のクォータ管理が必要?
├── Yes → REST API(使用量プラン + APIキー)
└── No
├── レスポンスキャッシュが必要?
│ ├── Yes → REST API
│ └── No
│ ├── WAF統合が必要?
│ │ ├── Yes → REST API
│ │ └── No → HTTP API(コスト1/3、レイテンシ低)
└──
IDサービスの場合、スロットリングとWAF統合が重要なためREST APIが適しています。