Azure API Management の API ゲートウェイ

適用対象: すべての API Management レベル

この記事では、API Management ゲートウェイ コンポーネントの役割と特徴に関する情報を提供し、デプロイできるゲートウェイを比較します。

関連情報:

ゲートウェイの役割

API Management ゲートウェイ (データ プレーンまたはランタイムとも呼ばれます) は、API 要求のプロキシ処理、ポリシーの適用、テレメトリの収集を担当するサービス コンポーネントです。

具体的には、ゲートウェイは次のとおりです:

Note

API Management ゲートウェイに対するすべての要求 (ポリシー構成によって拒否されたものを含む) は、サービス レベルで適用されている場合、構成されたレート制限、クォータ、課金制限で考慮されます。

マネージドとセルフホステッド

API Management は、マネージド ゲートウェイとセルフホステッド ゲートウェイの両方を提供します。

  • マネージド - マネージド ゲートウェイは、すべてのサービス レベルのすべてのAPI Management インスタンスに対して Azure にデプロイされる既定のゲートウェイ コンポーネントです。 マネージド ゲートウェイを使用すると、API を実装するバックエンドがホストされる場所に関係なく、すべての API トラフィックが Azure を通過します。

    Note

    基になっているサービス アーキテクチャの違いが原因で、異なる API Management サービス レベルで提供されるゲートウェイの機能には、いくつかの差異が存在しています。 詳細については、「 機能の比較: マネージド ゲートウェイとセルフホステッド ゲートウェイの比較」セクションを参照してください。

  • セルフホステッド - セルフホステッド ゲートウェイ は、特定のサービス レベルで使用できる既定のマネージド ゲートウェイのコンテナー化されたバージョンであり、オプションで使用できます。 これは、API バックエンドがホストされているのと同じ環境で Azure からゲートウェイを実行する要件があるハイブリッドおよびマルチクラウドのシナリオに役立ちます。 セルフホステッド ゲートウェイを利用すると、ハイブリッド IT インフラストラクチャを使用しているお客様は、オンプレミスおよびクラウドに渡ってホストされている API を Azure 内の単一の API Management サービスから管理できるようになります。

    • セルフホステッド ゲートウェイは、Linux ベースの Docker コンテナーとしてパッケージ化されており、通常は Kubernetes にデプロイされます。これには、Azure Kubernetes ServiceAzure Arc 対応 Kubernetes が含まれます。

    • 各セルフホステッド ゲートウェイは、構成更新プログラムを受信して状態を通信するクラウドベースのAPI Management インスタンス内のゲートウェイ リソースに関連付けられます。

重要

Azure API Management セルフホステッド ゲートウェイ バージョン 0 およびバージョン 1 コンテナー イメージのサポートは、それに対応する Configuration API v1 とともに 2023 年 10 月 1 日に終了します。 Configuration API v2 でセルフホステッド ゲートウェイ v2.0.0 以上を使用するには、移行ガイドを使用してください。 非推奨に関するドキュメントで詳細を確認する

特徴の比較: マネージド ゲートウェイとセルフホステッド ゲートウェイ

次の表は、各 API Management ゲートウェイで使用できる機能を比較しています。

  • クラシック - Developer、Basic、Standard、Premium のサービス レベルで使用できるマネージド ゲートウェイ (以前は、専用レベルとしてグループ化されていました)
  • V2 - Basic v2 および Standard v2 レベルで使用可能なマネージド ゲートウェイ
  • 従量課金 - 従量課金レベルで使用可能なマネージド ゲートウェイ
  • セルフホステッド - 特定のサービス レベルで使用可能な、オプションのセルフホステッド ゲートウェイ

Note

  • マネージド ゲートウェイとセルフホステッド ゲートウェイの一部の特徴は、特定の サービス レベル でのみ、またはセルフホステッド ゲートウェイの特定の デプロイ環境 でのみサポートされます。
  • セルフホステッド ゲートウェイの現在サポートされている機能については、セルフホステッド ゲートウェイのコンテナー イメージの最新メジャー バージョンにアップグレードしていることを確認してください。
  • セルフホステッド ゲートウェイの「制限事項」も参照してください。

インフラストラクチャ

機能サポート クラシック V2 従量課金 セルフホステッド
カスタム ドメイン ✔️ ✔️ ✔️ ✔️
ビルトイン キャッシュ ✔️ ✔️
外部 Redis と互換性のあるキャッシュ ✔️ ✔️ ✔️ ✔️
仮想ネットワーク インジェクション 開発者、プレミアム ✔️1、2
受信プライベート エンドポイント Developer、Basic、Standard、Premium
送信仮想ネットワーク統合 標準 V2
可用性ゾーン Premium ✔️1
複数リージョンのデプロイ Premium ✔️1
証明書検証用の CA ルート証明書 ✔️ ✔️ ✔️3
証明書検証用の CA ルート証明書 ✔️ ✔️ ✔️3
マネージド ドメインの証明書 Developer、Basic、Standard、Premium ✔️
TLS の設定 ✔️ ✔️ ✔️ ✔️
HTTP/2 (クライアントからゲートウェイ) ✔️4 ✔️4 ✔️
HTTP/2 (ゲートウェイからバックエンド) ✔️
Defender for API を使用した API の脅威検出 ✔️ ✔️

1 ゲートウェイのデプロイ方法によって異なりますが、お客様の責任です。
2 セルフホステッド ゲートウェイ v2 構成エンドポイントへの接続には、エンドポイント ホスト名の DNS 解決が必要です。
3 セルフホステッド ゲートウェイの CA ルート証明書は、ゲートウェイごとに個別に管理されます
4 クライアント プロトコルを有効にする必要があります。

バックエンド API

機能のサポート クラシック V2 従量課金 セルフホステッド
OpenAPI の仕様 ✔️ ✔️ ✔️ ✔️
WSDL 仕様 ✔️ ✔️ ✔️ ✔️
WADL の指定 ✔️ ✔️ ✔️ ✔️
ロジック アプリ ✔️ ✔️ ✔️ ✔️
App Service ✔️ ✔️ ✔️ ✔️
関数アプリ ✔️ ✔️ ✔️ ✔️
Container App ✔️ ✔️ ✔️ ✔️
Service Fabric 開発者、プレミアム
パススルー GraphQL ✔️ ✔️ ✔️ ✔️
合成 GraphQL ✔️ ✔️ ✔️1 ✔️1
パススルー WebSocket ✔️ ✔️ ✔️
パススルー gRPC (プレビュー) ✔️
OData (プレビュー) ✔️ ✔️ ✔️ ✔️
パススルー GraphQL ✔️ ✔️ ✔️ ✔️
Azure OpenAI ✔️ ✔️ ✔️ ✔️
バックエンドのサーキット ブレーカー (プレビュー) ✔️ ✔️ ✔️
負荷分散バックエンド プール (プレビュー) ✔️ ✔️ ✔️ ✔️

1 合成 GraphQL サブスクリプション (プレビュー) はサポートされていません。

ポリシー

マネージド ゲートウェイとセルフホステッド ゲートウェイでは、ポリシー定義で使用可能なすべての ポリシーが サポートされます。ただし、次の例外があります。

機能のサポート クラシック V2 従量課金 セルフホステッド1
Dapr 統合 ✔️
GraphQL リゾルバーGraphQL 検証 ✔️ ✔️ ✔️
認可コンテキストを取得する ✔️ ✔️ ✔️
クォータとレートの制限 ✔️ ✔️2 ✔️3 ✔️4

1 セルフホステッド ゲートウェイでサポートされていない構成済みのポリシーは、ポリシーの実行中にスキップされます。
2 v2 レベルでは、キー ポリシー別のクォータは使用できません。
2 キー別のレート制限とキー ポリシー別のクォータは、従量課金レベルでは使用できません。
3 セルフホステッド ゲートウェイのレート制限数は、Kubernetes の Helm グラフのデプロイや Azure portal デプロイ テンプレートの使用などにより、(クラスター ノード全体のゲートウェイ インスタンス間で) ローカルに同期するように構成できます。 ただし、レート制限数は、クラウドのマネージド ゲートウェイを含め、API Management インスタンスで構成されている他のゲートウェイ リソースと同期しません。 詳細情報

監視

モニタリングオプションの詳細については、「Azure API Management での監視」を参照してください。

機能のサポート クラシック V2 従量課金 セルフホステッド
API 分析 ✔️ ✔️1
Application Insights ✔️ ✔️ ✔️ ✔️
Event Hubs を使用したログ ✔️ ✔️ ✔️ ✔️
Azure Monitor のメトリック ✔️ ✔️ ✔️ ✔️
OpenTelemetryのコレクター ✔️
Azure Monitor と Log Analytics の要求ログ ✔️ ✔️ 2
ローカルメトリックとログ ✔️
要求トレース ✔️ 3 ✔️ ✔️

1 v2 レベルでは、Azure Monitor ベースの分析がサポートされます。
2 現在、セルフホステッド ゲートウェイは、Azure Monitor にリソース ログ (診断ログ) を送信しません。 オプションとして、Azure Monitor にメトリックを送信したり、セルフホステッド ゲートウェイのデプロイ先のローカルでログを構成して永続化したりします。
3 現在、v2 レベルではトレースを使用できません。

認証と認可

マネージド ゲートウェイとセルフホステッド ゲートウェイでは、使用可能なすべての API 認証および承認オプションがサポートされます。ただし、次の例外があります。

機能のサポート クラシック V2 従量課金 セルフホステッド
資格情報マネージャー ✔️ ✔️ ✔️

ゲートウェイ スループットとスケーリング

重要

スループットは、同時クライアント接続の数とレート、構成済みのポリシーの種類と数、ペイロード サイズ、バックエンド API のパフォーマンス、およびその他の要因によって影響を受けます。 セルフホステッド ゲートウェイのスループットは、実行されるホストのコンピューティング容量 (CPU とメモリ) にも依存します。 予想される運用条件を使用してゲートウェイのロード テストを実行し、予想されるスループットを正確に判断します。

マネージド ゲートウェイ

API Management サービス レベルでのゲートウェイの推定最大スループットについては、API Managementの価格に関する説明を参照してください。

重要

スループットの数値は情報に対してのみ表示され、容量と予算プランに依存してはなりません。 詳細については、「API Management の価格」を参照してください。

  • クラシック レベル

    • スケール ユニットを追加および削除してゲートウェイ容量をスケーリングするか、サービス レベルをアップグレードします。 (開発者レベルではスケーリングを使用できません。)
    • Basic、Standard、 Premium レベルでは、必要に応じて Azure Monitor の自動スケーリングを構成します。
    • Premium レベルでは、必要に応じてゲートウェイ容量を追加し、複数 のリージョンに均等配置します。
  • v2 レベル

    • スケール ユニットを追加および削除してゲートウェイ容量をスケーリングするか、サービス レベルをアップグレードします。
  • Consumption レベル

    • 従量課金レベルの API Management インスタンスは、トラフィックに基づいて自動的にスケーリングします。

セルフホステッド ゲートウェイ

  • Kubernetes などの環境では、予想される使用をハンドルするために複数のゲートウェイ レプリカを追加します。
  • 必要に応じて、トラフィックの需要を満たすように 自動スケールを構成 します