API ゲートウェイとは¶
原文¶
API ゲートウェイ API ゲートウェイとは、クライアントとバックエンドサービスの中間に位置する単一のエントリーポイントです。 こんな風に考えてみてください。猫がアプリを開いて「今すぐツナが欲し...
要約¶
API ゲートウェイはクライアントとバックエンドサービス間の単一エントリーポイント。認証、レート制限、ルーティング、ロードバランシングなどを一元管理する。マイクロサービスアーキテクチャでは必須のコンポーネント。
解説¶
API ゲートウェイの役割¶
クライアントなし(直接アクセス):
モバイルアプリ → ユーザーサービス
モバイルアプリ → 商品サービス
モバイルアプリ → 注文サービス
→ クライアントが全サービスのURLを知る必要がある
→ 認証処理が各サービスに分散
API ゲートウェイあり:
モバイルアプリ → [API Gateway] → ユーザーサービス
→ 商品サービス
→ 注文サービス
→ クライアントはGatewayのURLだけ知ればいい
→ 認証はGatewayで一元処理
主な機能¶
- ルーティング:
/api/users/*→ ユーザーサービス、/api/products/*→ 商品サービス - 認証・認可: JWT検証やAPIキーの確認をGatewayで実施
- レート制限: 1ユーザーあたり100リクエスト/分などの制限
- ロードバランシング: 複数インスタンスへの負荷分散
- リクエスト/レスポンス変換: データ形式の変換
- ロギング・モニタリング: 全リクエストの記録
代表的なAPI ゲートウェイ¶
- AWS API Gateway: サーバーレス、Lambda連携
- Kong: オープンソース、プラグイン豊富
- Nginx: リバースプロキシとしても利用
- Envoy: サービスメッシュ(Istio)で使用