コンテンツにスキップ

API ゲートウェイとは

原文

API ゲートウェイ API ゲートウェイとは、クライアントとバックエンドサービスの中間に位置する単一のエントリーポイントです。 こんな風に考えてみてください。猫がアプリを開いて「今すぐツナが欲し...

要約

API ゲートウェイはクライアントとバックエンドサービス間の単一エントリーポイント。認証、レート制限、ルーティング、ロードバランシングなどを一元管理する。マイクロサービスアーキテクチャでは必須のコンポーネント。

解説

API ゲートウェイの役割

クライアントなし(直接アクセス):
  モバイルアプリ → ユーザーサービス
  モバイルアプリ → 商品サービス
  モバイルアプリ → 注文サービス
  → クライアントが全サービスのURLを知る必要がある
  → 認証処理が各サービスに分散

API ゲートウェイあり:
  モバイルアプリ → [API Gateway] → ユーザーサービス
                                  → 商品サービス
                                  → 注文サービス
  → クライアントはGatewayのURLだけ知ればいい
  → 認証はGatewayで一元処理

主な機能

  1. ルーティング: /api/users/* → ユーザーサービス、/api/products/* → 商品サービス
  2. 認証・認可: JWT検証やAPIキーの確認をGatewayで実施
  3. レート制限: 1ユーザーあたり100リクエスト/分などの制限
  4. ロードバランシング: 複数インスタンスへの負荷分散
  5. リクエスト/レスポンス変換: データ形式の変換
  6. ロギング・モニタリング: 全リクエストの記録

代表的なAPI ゲートウェイ

  • AWS API Gateway: サーバーレス、Lambda連携
  • Kong: オープンソース、プラグイン豊富
  • Nginx: リバースプロキシとしても利用
  • Envoy: サービスメッシュ(Istio)で使用

リンク