API Gateway

API・Web技術 | IT用語集

この用語をシェア

API Gatewayとは

API Gateway(APIゲートウェイ)とは、複数のマイクロサービスやAPIエンドポイントの前面に配置され、APIアクセスを一元管理・制御するサービスです。クライアントからのAPIリクエストを受け付け、適切なバックエンドサービスへルーティングしながら、認証、ログ記録、レート制限などの横断的な機能を提供します。

主な機能

1. APIルーティング

クライアントからのリクエストを適切なバックエンドサービスにルーティングします。パスベース、ヘッダーベース、クエリパラメータベースなど、様々なルーティング条件を設定できます。

2. 認証・認可

APIキー、JWT(JSON Web Token)、OAuth 2.0などによる認証機能を提供。リクエストを処理する前に、呼び出し元の身元確認とアクセス権限の検証を行います。

3. レート制限(スロットリング)

特定のクライアントやAPIキーに対して、単位時間あたりのリクエスト数を制限。システムの過負荷を防ぎ、公平なリソース利用を実現します。

4. ログ記録・監視

すべてのAPIリクエストとレスポンスを記録し、パフォーマンス監視、エラー追跡、利用状況分析を可能にします。

メリット

  • 一元管理: 認証、ログ、レート制限などの機能をAPI Gatewayに集約し、各マイクロサービスの責務を簡素化
  • セキュリティ強化: バックエンドサービスを直接公開せず、API Gatewayを経由することでセキュリティを向上
  • 運用効率化: APIの利用状況やパフォーマンスを一箇所で監視・分析可能
  • 開発生産性: 横断的な機能をAPI Gatewayに委ねることで、ビジネスロジックの開発に集中

主要なAPI Gatewayサービス

サービス 提供者 特徴
AWS API Gateway Amazon サーバーレス、完全マネージド、AWS サービスとの統合
Kong Kong Inc. オープンソース、プラグイン豊富、オンプレミス対応
Nginx Plus F5 Networks 高パフォーマンス、ロードバランサー機能内蔵
Azure API Management Microsoft Enterprise機能豊富、開発者ポータル内蔵

実装例(AWS API Gateway)

# AWS CLIを使用したAPI Gateway作成例
aws apigateway create-rest-api --name "MyAPI"

# リソース作成
aws apigateway create-resource \
  --rest-api-id "api-id" \
  --parent-id "root-resource-id" \
  --path-part "users"

# メソッド作成
aws apigateway put-method \
  --rest-api-id "api-id" \
  --resource-id "resource-id" \
  --http-method GET \
  --authorization-type "AWS_IAM"

# Lambda統合設定
aws apigateway put-integration \
  --rest-api-id "api-id" \
  --resource-id "resource-id" \
  --http-method GET \
  --type AWS_PROXY \
  --integration-http-method POST \
  --uri "arn:aws:apigateway:region:lambda:path/functions/function-arn/invocations"

設計時の考慮点

⚠️ 重要な設計ポイント

  • 単一障害点: API Gatewayが障害となると全APIがアクセス不能になるリスク
  • パフォーマンス: 追加のネットワークホップによるレイテンシ増加
  • 運用複雑性: ルーティング設定やセキュリティポリシーの適切な管理
  • コスト: リクエスト数に応じた従量課金モデルのコスト計算

関連技術

マイクロサービス

API Gatewayの主要な適用アーキテクチャ

ロードバランサー

トラフィック分散との組み合わせ

サーキットブレーカー

障害時の自動復旧機能

この用語についてもっと詳しく

API Gatewayに関するご質問や、システム導入のご相談など、お気軽にお問い合わせください。