システム開発

APIゲートウェイ えーぴーあいげーとうぇい

API管理認証レートリミットマイクロサービスルーティングセキュリティ
APIゲートウェイについて教えて

簡単に言うとこんな感じ!

複数のバックエンドAPIへの「受付カウンター」みたいな存在だよ! 外部からのリクエストをここで受け取って、「この人は認証済みか?」「呼び出し回数が多すぎないか?」を確認してから、適切なサービスに転送してくれるんだ。セキュリティと管理を一箇所に集約できるのが最大の強みなんだよ!


APIゲートウェイとは

APIゲートウェイは、クライアントとバックエンドサービス群の間に配置される単一の入口(エントリーポイント)となるコンポーネントです。外部からのAPIリクエストを受け取り、認証・認可・レートリミット・ルーティング・ログ記録などを一元的に処理してから、適切なバックエンドサービスに転送します。

マイクロサービスアーキテクチャでは、多数のサービスが存在するため、クライアントが直接各サービスを呼び出すと複雑さが増大します。APIゲートウェイが「ファサード(窓口)」として機能することで、クライアントは1つのエンドポイントだけを知っていればよくなります。


APIゲートウェイの主な機能

機能内容
認証・認可JWTトークン・APIキーの検証。不正アクセスをゲートウェイで遮断
レートリミット1秒に1000回まで等の呼び出し制限。DoS攻撃や過負荷を防ぐ
ルーティング/api/orders→注文サービス、/api/users→ユーザーサービスに転送
負荷分散複数インスタンスへのリクエスト分散
SSL終端HTTPSの暗号化・復号をここで一元処理
ログ・監視全APIリクエストのログ記録・分析
キャッシュ頻繁なリクエストをキャッシュして高速化
API変換RESTGraphQL変換、バージョン管理

代表的なAPIゲートウェイ製品

製品種別特徴
KongOSS・商用豊富なプラグインエコシステム
AWS API GatewayマネージドサービスAWSとの統合が容易
Azure API ManagementマネージドサービスMicrosoftエコシステム対応
Google Apigeeマネージドサービスエンタープライズ向け高機能
NginxOSS軽量・高速。設定が柔軟
TraefikOSSKubernetes環境で人気

歴史と背景

  • 2000年代 — SOAPベースのWebサービスでESB(Enterprise Service Bus)が使われていた。APIゲートウェイの前身
  • 2010年代初頭REST APIの普及でAPI管理の需要が拡大。AWS・Azure・Google CloudがマネージドAPIゲートウェイを提供開始
  • 2014年AWS API GatewayリリースクラウドネイティブなAPIゲートウェイの普及を加速
  • 2015年マイクロサービスアーキテクチャの普及でAPIゲートウェイが標準コンポーネントに
  • 2017年 — Kongが商用版をリリース。エンタープライズ採用が増加
  • 2020年代Istio等のサービスメッシュとの競合・補完関係が議論される。GraphQL・gRPCへの対応も一般化

APIゲートウェイの配置構成

APIゲートウェイを中心とした構成 Webアプリ スマホApp 外部システム パートナー等 APIゲートウェイ ✓ 認証・認可 ✓ レートリミット ✓ SSL終端 ✓ ログ・監視 ✓ ルーティング 注文サービス ユーザーサービス 在庫サービス 決済サービス

関連する規格・RFC

規格・RFC番号内容
RFC 6749(OAuth 2.0APIゲートウェイの認証に広く使われるプロトコル
RFC 7519(JWT)トークンベース認証の標準形式
OpenAPI SpecificationAPIゲートウェイの設定をOpenAPIから自動生成

関連用語