【えーぴーあいげーとうぇい】
APIゲートウェイ とは?
最終更新:
💡 API呼び出しを受けて振り分ける「受付窓口」
クライアントからのAPI呼び出しを受け、適切なサービスへ中継する入口。ルーティング、認証、流量制御などをまとめられますが、対応機能と安全性は製品・設定・構成によって異なります。
📌 このページのポイント
複数のサービスへの入口をまとめるためだよ。例えば/usersは利用者サービスへ、/ordersは注文サービスへ中継し、共通の処理を受け持つ構成にできるんだ。
ロードバランサーとは別物?
入口で認証したら、中では確認不要?
そうではないよ。本人だと分かっても、その人がその注文を読めるかは別の話。サービス側の認可や、入口を迂回できない構成も必要なんだ。
リクエスト数を制限すれば攻撃を防げる?
過負荷を抑える助けにはなるけれど、すべての攻撃を防ぐ機能ではないよ。制限の単位・超過時の応答・サービス側の処理能力を合わせて設計するんだ。
入口が止まったら困るね。
もっと詳しく知りたい人へ
認証と認可はどちらをゲートウェイに置く?
トークン検証など共通の本人確認を入口へ集約しつつ、注文の所有者かといった業務データに依存する認可はサービスで行う設計が考えられます。境界は構成によります。クライアントが自由に設定できるヘッダーを、そのまま確認済みの身元として信頼してはいけません。
📖 おまけ:英語の意味
「API Gateway」 = APIの入口・関所
💬 担当するAPIの呼び出しを受け付ける入口のイメージ。すべての通信が必ず通るとは限らないよ。