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 Gateway のアーキテクチャ

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つのタイプがあります:

  1. Lambda関数
  2. HTTPエンドポイント
  3. VPCリンク

それぞれのエンドポイントを通じて、AWSリソースや外部サービスと連携できます。


重要ポイント

  • REST API = 高機能・拡張性重視(認可、VPC リンク、等)、スループット制限あり
  • HTTP API = 軽量・低コスト・高スループット、OIDC/OAuth2 標準対応
  • WebSocket = 双方向通信(チャット、ダッシュボード、リアルタイム)
  • 料金: REST は呼び出し数、HTTP は処理容量、共に データ転送は別課金
  • REST・HTTP とも CloudFront/Lambda 統合で CORS や認証を設計

このトピックの学習を完了しますか?

完了状態はいつでも切り替えられます