ネットワーク ・
Amazon API Gateway 完全ガイド|REST / HTTP / WebSocket API
Amazon API Gateway は API のフルマネージドフロントエンドサービス。REST API・HTTP API・WebSocket API を構築でき、Lambda・EC2・他 HTTP バックエンドと統合する。認証・認可・スロットリング・キャッシュ・モニタリ...
REST / HTTP / WebSocket API のフルマネージド窓口サービス。Lambda 統合でサーバーレス API の中核。
1. 概要(端的に)
Amazon API Gateway は API のフルマネージドフロントエンドサービス。REST API・HTTP API・WebSocket API を構築でき、Lambda・EC2・他 HTTP バックエンドと統合する。認証・認可・スロットリング・キャッシュ・モニタリング を組み込みで提供し、サーバーレス API の標準フロント。
2. 何ができるか
- API エンドポイント提供:HTTPS で API 公開
- 3 種類の API:REST / HTTP / WebSocket
- Lambda 統合:サーバーレス API の鉄板
- 認証認可:Cognito / IAM / Lambda Authorizer / API Key
- スロットリング:レート制限
- キャッシング:レスポンスキャッシュで高速化
- CORS 対応:プリフライトリクエスト処理
- 使用量プラン:API Key 別の課金・制限
- カスタムドメイン:独自ドメイン + ACM 証明書
3 種類の API
| API タイプ | 用途 | 特徴 |
|---|---|---|
| REST API | 高機能 REST | 全機能対応、料金高め |
| HTTP API | 軽量 REST(推奨) | 70% 安価、機能限定 |
| WebSocket API | 双方向通信 | チャット・リアルタイム |
3. 特徴
| 観点 | 特徴 |
|---|---|
| 追加料金 | リクエスト数 + データ転送(REST)/ HTTP は約 70% 安 |
| 無料枠 | 月 100 万リクエスト |
| スループット | デフォルト 10,000 RPS(リージョン全体) |
| レイテンシ | 数十 ms(リージョン内) |
| HTTPS | 標準対応(カスタムドメイン + ACM) |
| ステータスログ | CloudWatch Logs / X-Ray 統合 |
REST vs HTTP API
| 機能 | REST | HTTP |
|---|---|---|
| Lambda 統合 | ○ | ○ |
| HTTP バックエンド統合 | ○ | ○ |
| 認証(IAM/Cognito/Lambda) | ○ | ○ |
| API Key | ○ | × |
| 使用量プラン | ○ | × |
| キャッシュ | ○ | × |
| WAF 統合 | ○ | × |
| 料金 | 高 | 約 70% 安い |
| 推奨 | 全機能必要時 | シンプル API に最適 |
4. 仕組み
API Gateway は クライアントとバックエンド(Lambda 等)の間のリバースプロキシとして動作。リクエストの認証・変換・ルーティング・レスポンス変換を一手に担う。
構成要素
- API:API 定義の単位
- リソース:URL パス(
/users/orders等) - メソッド:HTTP メソッド(GET / POST / PUT / DELETE)
- インテグレーション:バックエンド(Lambda / HTTP / Mock 等)
- オーソライザー:認証ロジック
- ステージ:デプロイ環境(dev / prod 等)
- ステージ変数:環境別変数
動作の流れ
- クライアントが API Gateway URL に HTTPS リクエスト
- 認証:Cognito / IAM / Lambda Authorizer 評価
- スロットリング:レート制限チェック
- キャッシュ確認(REST のみ)
- インテグレーション実行:Lambda 呼び出し等
- レスポンス変換:マッピングテンプレート
- クライアントへ返却
Lambda Authorizer(カスタム認証)
- 任意の認証ロジックを Lambda で実装
- JWT 検証・OAuth・社内認証等に対応
- レスポンスキャッシュで高速化
API Key + Usage Plan
[API Key A] → 1,000 RPS 上限、月 100 万リクエスト
[API Key B] → 10 RPS 上限、月 1 万リクエスト
→ 顧客プラン別の API 提供
5. ユースケース
ユースケース 1:サーバーレス API
API Gateway + Lambda + DynamoDB の鉄板構成。
ユースケース 2:マイクロサービス入口
複数の Lambda・ECS をパスで振り分け。
ユースケース 3:レガシー API のラッパー
既存 HTTP API を API Gateway 経由でモダン化(認証・スロットリング追加)。
ユースケース 4:API 課金
Usage Plan で SaaS 的な従量課金。
ユースケース 5:WebSocket チャット
WebSocket API + Lambda + DynamoDB でチャット基盤。
ユースケース 6:BFF パターン
モバイル・Web 向けに最適化された BFF(Backend for Frontend)。
6. 関連用語
- Lambda — 主要バックエンド
- Cognito — 認証統合
- IAM — 認証統合
- CloudWatch — ログ・メトリクス
- X-Ray — 分散トレース
- WAF — REST API のセキュリティ統合
7. 関連サイト
AWS 公式
参考
🎓 試験での出題傾向
| 試験 | 重要度 | 主な出題パターン |
|---|---|---|
| CLF | 中 | API 公開の概念 |
| SAA | 高 | サーバーレス設計、認証統合 |
| DVA | 高 | API Gateway + Lambda 構築(最頻出)、認証実装 |
| SOA | 中 | API 運用・モニタリング |