適用対象: すべての API Management レベル
この記事では、API Management ゲートウェイ コンポーネントのロールと機能に関する情報を提供し、デプロイできるゲートウェイを比較します。
関連情報:
API Management のシナリオ、コンポーネント、および概念の概要については、「Azure API Management とは」を参照してください。
API Management サービスレベルと機能の詳細情報については、以下を参照してください。
ゲートウェイの役割
API Management ゲートウェイ ( データ プレーン または ランタイムとも呼ばれます) は、API 要求のプロキシ、ポリシーの適用、テレメトリの収集を担当するサービス コンポーネントです。
具体的には、ゲートウェイは次のとおりです:
- API 呼び出しを受け入れ、適切なバックエンドにルーティングすることで、バックエンド サービスのファサードとして機能します
- API キーと、要求で提示される JWT や証明書などの他の資格情報を検証します
- 使用クォータとレート制限を適用します
- 必要に応じて、ポリシー ステートメントで指定された要求と応答を変換します
- 構成されている場合、 応答をキャッシュして応答の 待機時間を短縮し、バックエンド サービスの負荷を最小限に抑えます
- 監視、レポート、トラブルシューティング用のログ 、メトリック、トレースを出力します
ノート
API Management ゲートウェイに対するすべての要求 (ポリシー構成によって拒否されたものを含む) は、サービス レベルで適用されている場合、構成されたレート制限、クォータ、課金制限で考慮されます。
マネージドとセルフホステッド
API Management は、マネージド ゲートウェイとセルフホステッド ゲートウェイの両方を提供します。
マネージド - マネージド ゲートウェイは、すべてのサービス レベルのすべての API Management インスタンスに対して Azure にデプロイされる既定のゲートウェイ コンポーネントです。 スタンドアロン マネージド ゲートウェイは、API Management インスタンス内の ワークスペース に関連付けることもできます。 マネージド ゲートウェイを使用すると、API を実装するバックエンドがホストされる場所に関係なく、すべての API トラフィックが Azure を通過します。
ノート
基になっているサービス アーキテクチャの違いが原因で、異なる API Management サービス レベルで提供されるゲートウェイの機能には、いくつかの差異が存在しています。 詳細については、「 機能の比較: マネージド ゲートウェイとセルフホステッド ゲートウェイ」セクションを参照してください。
セルフホステッド - セルフホステッド ゲートウェイ は、一部のサービス レベルで使用できる既定のマネージド ゲートウェイのオプションのコンテナー化されたバージョンです。 これは、API バックエンドがホストされているのと同じ環境で Azure からゲートウェイを実行する要件があるハイブリッドおよびマルチクラウドのシナリオに役立ちます。 セルフホステッド ゲートウェイを利用すると、ハイブリッド IT インフラストラクチャを使用しているお客様は、オンプレミスおよびクラウドに渡ってホストされている API を Azure 内の単一の API Management サービスから管理できるようになります。
セルフホステッド ゲートウェイは Linux ベースの Docker コンテナーとしてパッケージ化され、一般に、Azure Kubernetes Service や Azure Arc 対応 Kubernetes など、Kubernetes にデプロイされます。
各セルフホステッド ゲートウェイは、構成の更新を受信して状態を伝達するクラウドベースの API Management インスタンス内の ゲートウェイ リソースに関連付けられます。
特徴の比較: マネージド ゲートウェイとセルフホステッド ゲートウェイ
次の表は、各 API Management ゲートウェイで使用できる機能を比較しています。
- クラシック - Developer、Basic、Standard、Premium のサービス レベルで使用できるマネージド ゲートウェイ (以前は 専用 レベルとしてグループ化されています)
- V2 - Basic v2 、Standard v2、Premium v2 レベルで使用できるマネージド ゲートウェイ
- 従量課金 - 従量課金レベルで使用可能なマネージド ゲートウェイ
- セルフホステッド - 一部のサービス レベルで使用可能なオプションのセルフホステッド ゲートウェイ
- ワークスペース - 一部のサービス レベルの ワークスペース で使用できるマネージド ゲートウェイ
ノート
- マネージド ゲートウェイとセルフホステッド ゲートウェイの一部の機能は、特定の サービス レベル でのみ、またはセルフホステッド ゲートウェイの特定の デプロイ環境 でのみサポートされます。
- セルフホステッド ゲートウェイの現在サポートされている機能については、セルフホステッド ゲートウェイ コンテナー イメージの最新のメジャー バージョンにアップグレードしていることを確認します。
- セルフホステッド ゲートウェイの 制限事項も参照してください。
インフラストラクチャ
機能のサポート | クラシック | V2 | 消費 | セルフホステッド | ワークスペース |
---|---|---|---|---|---|
カスタム ドメイン | ✔️ | ✔️ | ✔️ | ✔️ | ❌ |
組み込みキャッシュ | ✔️ | ✔️ | ❌ | ❌ | ✔️ |
外部 Redis 互換キャッシュ | ✔️ | ✔️ | ✔️ | ✔️ | ❌ |
仮想ネットワークの挿入 | 開発者、プレミアム | Premium v2 | ❌ | ✔️1、2 | ✔️ |
インバウンド プライベート エンドポイント | Developer、Basic、Standard、Premium | Standard v2 | ❌ | ❌ | ❌ |
アウトバウンド仮想ネットワーク統合 | ❌ | Standard v2、Premium v2 | ❌ | ❌ | ✔️ |
可用性ゾーン | プレミアム | ✔️3 | ❌ | ✔️1 | ✔️3 |
複数リージョンのデプロイ | プレミアム | ❌ | ❌ | ✔️1 | ❌ |
証明書検証用の CA ルート証明書 | ✔️ | ✔️ | ❌ | ✔️4 | ❌ |
マネージド ドメイン証明書 | Developer、Basic、Standard、Premium | ❌ | ✔️ | ❌ | ❌ |
TLS 設定 | ✔️ | ✔️ | ✔️ | ✔️ | ❌ |
HTTP/2 (クライアントからゲートウェイへ) | ✔️5 | ✔️5 | ❌ | ✔️ | ❌ |
HTTP/2 (ゲートウェイからバックエンドへ) | ❌ | ❌ | ❌ | ✔️ | ❌ |
Defender for API を使用した API 脅威の検出 | ✔️ | ✔️ | ❌ | ❌ | ❌ |
1 ゲートウェイのデプロイ方法によって異なりますが、お客様の責任です。
2 セルフホステッド ゲートウェイ v2 構成エンドポイントへの接続には 、エンドポイント ホスト名の DNS 解決が必要です。
3 2つのゾーンがデフォルトで有効になっています。構成できません。
セルフホステッド ゲートウェイの 4 つの CA ルート証明書は、ゲートウェイごとに個別に管理されます
5 クライアント プロトコルを有効にする必要があります。
バックエンド API
機能のサポート | クラシック | V2 | 消費 | セルフホステッド | ワークスペース |
---|---|---|---|---|---|
OpenAPI 仕様 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
WSDL 仕様 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
WADL 仕様 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
ロジック アプリ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
App Service | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
関数アプリ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
コンテナー アプリ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Service Fabric | 開発者、プレミアム | ❌ | ❌ | ❌ | ❌ |
パススルー GraphQL | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
合成 GraphQL | ✔️ | ✔️ | ✔️1 | ✔️1 | ❌ |
パススルー WebSocket | ✔️ | ✔️ | ❌ | ✔️ | ✔️ |
パススルー gRPC | ❌ | ❌ | ❌ | ✔️ | ❌ |
OData | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Azure OpenAI と LLM | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
バックエンドのサーキット ブレーカー | ✔️ | ✔️ | ❌ | ✔️ | ✔️ |
負荷分散されたバックエンド プール | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
1 合成 GraphQL サブスクリプション (プレビュー) はサポートされていません。
ポリシー
マネージド ゲートウェイとセルフホステッド ゲートウェイでは、次の例外を除き、ポリシー 定義で使用可能 なすべてのポリシーがサポートされます。 各ポリシーの詳細については、ポリシー リファレンスを参照してください。
機能のサポート | クラシック | V2 | 消費 | セルフホステッド1 | ワークスペース |
---|---|---|---|---|---|
Dapr の統合 | ❌ | ❌ | ❌ | ✔️ | ❌ |
GraphQL リゾルバー と GraphQL 検証 | ✔️ | ✔️ | ✔️ | ❌ | ❌ |
承認コンテキストを取得する | ✔️ | ✔️ | ✔️ | ❌ | ❌ |
マネージド ID を使用して認証する | ✔️ | ✔️ | ✔️ | ✔️ | ❌ |
Azure OpenAI と LLM セマンティック キャッシュ | ✔️ | ✔️ | ✔️ | ❌ | ❌ |
クォータとレートの制限 | ✔️ | ✔️ | ✔️2 | ✔️3 | ✔️ |
1 セルフホステッド ゲートウェイでサポートされていない構成済みのポリシーは、ポリシーの実行中にスキップされます。
2 キー別のレート制限、キー別のクォータ、AI トークン制限ポリシーは、従量課金レベルでは使用できません。
セルフ ホステッド ゲートウェイの 3 つのレート制限数は、Kubernetes の Helm チャートデプロイや Azure portal デプロイ テンプレートを使用して、(クラスター ノード間のゲートウェイ インスタンス間で) ローカルに同期するように構成できます。 ただし、レート制限数は、クラウドのマネージド ゲートウェイを含め、API Management インスタンスで構成されている他のゲートウェイ リソースと同期しません。
詳細情報
監視
監視オプションの詳細については、「 Azure API Management の監視可能性」を参照してください。
機能のサポート | クラシック | V2 | 消費 | セルフホステッド | ワークスペース |
---|---|---|---|---|---|
API 分析 | ✔️ | ✔️1 | ❌ | ❌ | ❌ |
Application Insights | ✔️ | ✔️ | ✔️ | ✔️2 | ✔️ |
Event Hubs を使用したログ記録 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Azure Monitor のメトリック | ✔️ | ✔️ | ✔️ | ✔️ | ❌ |
OpenTelemetry のコレクター | ❌ | ❌ | ❌ | ✔️ | ❌ |
Azure Monitor と Log Analytics でログを要求する | ✔️ | ✔️ | ❌ | ❌ 3 | ❌ |
ローカル メトリックとログ | ❌ | ❌ | ❌ | ✔️ | ❌ |
要求トレース | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
1 v2 レベルでは、Azure Monitor ベースの分析がサポートされます。
2 ゲートウェイは 、Azure Application Insight の組み込みメモリ バッファー を使用し、配信の保証を提供しません。
3 セルフホステッド ゲートウェイは現在、リソース ログ (診断ログ) を Azure Monitor に送信しません。 必要に応じて、メトリックを Azure Monitor に 送信 するか、セルフホステッド ゲートウェイがデプロイされている ローカルでログを構成して保持 します。
認証と権限承認
マネージド ゲートウェイとセルフホステッド ゲートウェイでは、次の例外を除き、使用可能なすべての API 認証と承認オプション がサポートされます。
機能のサポート | クラシック | V2 | 消費 | セルフホステッド | ワークスペース |
---|---|---|---|---|---|
資格情報管理 | ✔️ | ✔️ | ✔️ | ❌ | ❌ |
ゲートウェイ スループットとスケーリング
重要
スループットは、同時クライアント接続の数とレート、構成済みのポリシーの種類と数、ペイロード サイズ、バックエンド API のパフォーマンス、およびその他の要因によって影響を受けます。 セルフホステッド ゲートウェイのスループットは、実行されるホストのコンピューティング容量 (CPU とメモリ) にも依存します。 予想される運用条件を使用してゲートウェイのロード テストを実行し、予想されるスループットを正確に判断します。
マネージド ゲートウェイ
API Management サービス レベルでのゲートウェイの推定最大スループットについては、 API Management の価格に関する説明を参照してください。
重要
スループットの数値は情報に対してのみ表示され、容量と予算プランに依存してはなりません。 詳細については、 API Management の価格 に関するページを参照してください。
クラシック レベル
- スケール ユニットを追加および削除してゲートウェイ容量をスケーリングするか、サービス レベルをアップグレードします。 (開発者レベルではスケーリングを使用できません。)
- Basic レベル、Standard レベル、Premium レベルで、必要に応じて Azure Monitor の自動スケールを構成します。
- Premium レベルで、必要に応じてゲートウェイ容量を追加し、複数 のリージョンに分散します。
v2 レベル
- スケール ユニットを追加および削除してゲートウェイ容量をスケーリングするか、サービス レベルをアップグレードします。
利用階層
- 従量課金レベルの API Management インスタンスは、トラフィックに基づいて自動的にスケーリングします。
セルフホステッド ゲートウェイ
- Kubernetes などの環境では、予想される使用状況を処理するために複数のゲートウェイ レプリカを追加します。
- 必要に応じて、トラフィックの需要を満たすように 自動スケールを構成 します。
ワークスペース ゲートウェイ
ワークスペース ゲートウェイでスケール ユニット を追加および削除して、容量をスケーリングします。
関連するコンテンツ
詳しく知る:
- ハイブリッドとマルチクラウドの世界での API Management
- スケーリングの決定のための容量メトリック
- API Management の監視機能
- API Management の AI ゲートウェイ機能