🌐
[AWS] API Gatewayの種類と使い分け - REST API、HTTP API、WebSocket APIの特徴
🌟 はじめに
おぐまです。
AWSのAPI GatewayはAPIの作成と管理を簡単に行えるフルマネージドサービスです。
本記事では、API Gatewayで利用可能な3つのAPIタイプの特徴と使い分けについて解説します。
📚 API Gatewayの種類
REST API
最も機能が豊富で柔軟性の高いAPIタイプです。
主な特徴
- OpenAPI(Swagger)のサポート
- クライアントSDKの自動生成
- APIキーによる認証
- 詳細なリクエスト制御
- カスタムドメインの設定
適用シーン
- エンタープライズアプリケーション
- 複雑な認証要件がある場合
- 詳細なAPIドキュメントが必要な場合
HTTP API
シンプルで低コストなAPIタイプです。
主な特徴
- REST APIと比べて最大71%のコスト削減
- 低レイテンシー
- OIDC/JWT認証のサポート
- シンプルな機能セット
適用シーン
- プロキシ統合のみ必要な場合
- コスト最適化が重要な場合
- シンプルなサーバーレスアプリケーション
WebSocket API
双方向通信を実現するAPIタイプです。
主な特徴
- リアルタイム通信
- 永続的な接続
- 3つの標準ルート($connect、$disconnect、$default)
- バックエンドとの柔軟な統合
適用シーン
- チャットアプリケーション
- リアルタイムダッシュボード
- オンラインゲーム
- 株価情報配信システム
💡 API選択のポイント
コスト面での比較
APIタイプ | コスト | レイテンシー | 機能性 |
---|---|---|---|
REST API | 高 | 中 | 高 |
HTTP API | 低 | 低 | 中 |
WebSocket | 中 | 低 | 高 |
開発の容易さ
-
REST API : 豊富な機能と詳細な設定が可能だが、学習コストが高い
-
HTTP API : シンプルで直感的、素早い開発が可能
-
WebSocket API : 双方向通信の実装が必要で、やや複雑
🎯 使用シーンに応じた選択ガイド
REST APIを選ぶケース
- 複雑な認証/認可が必要
- APIキーによる使用量制限が必要
- 詳細なリクエスト/レスポンス変換が必要
HTTP APIを選ぶケース
- シンプルなプロキシ統合のみ
- コスト最適化が重要
- CORS対応が必要
WebSocket APIを選ぶケース
- リアルタイムデータ更新が必要
- サーバーからクライアントへのプッシュ通知
- 双方向通信が必須
🎉 まとめ
API Gatewayの各APIタイプにはそれぞれ特徴と最適な使用シーンがあります。プロジェクトの要件、予算、開発期間などを考慮して、適切なAPIタイプを選択することが重要です。
- REST API: 機能豊富で柔軟性が高い
- HTTP API: シンプルで低コスト
- WebSocket API: リアルタイム通信に最適
プロジェクトの初期段階で適切なAPIタイプを選択することで、開発効率の向上とコスト最適化を実現できます。
WebSocketは知識としてはなんとなくわかってるんですが使ったことないのでなんか作ります!!
Discussion