API Gateway 概要【REST vs HTTP API・WebSocket・選択基準】
API Gateway の 3 つのタイプ(REST/HTTP/WebSocket)の使い分け、料金比較、CORS、認証方式、試験での選択ポイント。
学習順Step 60 / 91サービスAPI Gateway試験ドメインパフォーマンス
Amazon API Gatewayの概要
Amazon API Gatewayは、オンラインサービスへのリクエストを受け付ける機能を提供するAWSのサービスです。リクエストのタイプに応じて複数のAPIをサポートしています。
API Gateway が提供するAPIの種類
API Gateway では、以下の 3 種類のAPI を作成できます。
詳細比較:REST API vs HTTP API
| 項目 | REST API | HTTP API | 用途 |
|---|---|---|---|
| プロトコル | HTTP/HTTPS | HTTP/HTTPS | HTTP/S は必須 |
| 認可方法 | IAM、Lambda オーサライザー、Cognito ユーザープール | IAM、Lambda オーサライザー、OIDC、OAuth2.0 | HTTP API は標準認証に対応 |
| VPC リンク | ✓ あり(プライベートエンドポイント向け) | ✓ あり | EC2、ALB へのプライベート転送 |
| ステージ変数 | ✓ あり | △ 限定的 | 環境別デプロイの柔軟性 |
| リクエスト検証 | ✓ あり | × なし | スキーマ検証・型チェック |
| CORS | 手動設定 | 自動対応(推奨) | ブラウザから異なるドメイン呼び出し |
| 料金 | $3.5/百万呼び出し + キャッシュ | $0.9/百万リクエスト + 処理量(GB) | HTTP API が約 70% 安い想定 |
| スループット | リージョンあたり 10K RPS 制限 | 制限なし | HTTP API がハイスループット向け |
| 推奨用途 | 複雑な API ゲートウェイパターン、既存システム統合 | シンプルな REST、マイクロサービス、モバイルバックエンド | 新規はデフォルト HTTP |
WebSocket API
| 項目 | 説明 |
|---|---|
| プロトコル | WebSocket(双方向通信) |
| 料金 | $3.5/百万接続 + $0.35/百万メッセージ |
| 用途 | チャット、リアルタイムダッシュボード、通知プッシュ |
| バックエンド | Lambda、HTTP、AWS サービス |
🎯 API タイプ選択の判断フロー
┌─ 双方向通信(チャット・ダッシュボード)?
│ ├─ YES → WebSocket API
│ └─ NO ↓
│
├─ VPC リンク・IAM 認可・リクエスト検証が必須?
│ ├─ YES → REST API
│ └─ NO ↓
│
└─ シンプルな REST + 高スループット + 低コスト?
└─ YES → HTTP API(推奨)
📊 料金・スループット比較(試験出題)
シナリオ 1:月 1 億リクエスト、レイテンシ < 100 ms
| API タイプ | 月額(推定) | 帯域幅料(1GB/リクエスト) | 合計 |
|---|---|---|---|
| REST API | $350 | $100 | $450/月 |
| HTTP API | $90 | $100 | $190/月 |
| 削減効果 | HTTP = REST の 42% | - | - |
試験ポイント:「コスト削減で REST → HTTP へ移行したい」というシナリオで、機能面での制約を判断できるか。
認証方式の選択
REST API での認可
| 方式 | 説明 | 用途 |
|---|---|---|
| IAM | AWS IAM ロール/ユーザーで認可(Signature Version 4) | AWS リソースへのアクセス制御 |
| Lambda オーサライザー | Lambda で独自ロジック実装(JWT トークン検証など) | 複雑な認可ロジック |
| Cognito ユーザープール | AWS Cognito でユーザー管理 | モバイル/Web アプリの ID 管理 |
HTTP API での認可
| 方式 | 説明 | 用途 |
|---|---|---|
| IAM | REST と同等 | AWS リソース連携 |
| Lambda オーサライザー | REST と同等 | 複雑なロジック |
| OIDC | OpenID Connect プロバイダ(Auth0、Okta など) | エンタープライズ SSO |
| OAuth 2.0 | 標準 OAuth フロー対応 | サードパーティ API 連携 |
REST にない OIDC/OAuth は HTTP API の強み → 試験で「OAuth 2.0 で保護したい」なら HTTP 推奨。
Amazon CloudFrontとAPI Gatewayの連携
API GatewayのREST APIは、Amazon CloudFrontと連携し、さまざまな統合タイプ(Lambda関数、HTTPエンドポイント、Mock、AWSサービス、VPCリンクなど)を通じて、AWSリソースや外部サービスにリクエストを転送します。
REST APIの詳細
REST APIは、RESTアーキテクチャスタイルに基づくAPIです。クライアントからのリクエストを受け付けるエンドポイントには、以下の3つのタイプがあります:
- Lambda関数
- HTTPエンドポイント
- VPCリンク
それぞれのエンドポイントを通じて、AWSリソースや外部サービスと連携できます。
重要ポイント
- ▸REST API = 高機能・拡張性重視(認可、VPC リンク、等)、スループット制限あり
- ▸HTTP API = 軽量・低コスト・高スループット、OIDC/OAuth2 標準対応
- ▸WebSocket = 双方向通信(チャット、ダッシュボード、リアルタイム)
- ▸料金: REST は呼び出し数、HTTP は処理容量、共に データ転送は別課金
- ▸REST・HTTP とも CloudFront/Lambda 統合で CORS や認証を設計
このトピックの学習を完了しますか?
完了状態はいつでも切り替えられます
同じサービスの関連トピック
Amazon API Gateway に関連するトピックを続けて確認できます。