Azure API Management の API ゲートウェイ
適用対象: すべての API Management レベル
この記事では、API Management ゲートウェイ コンポーネントの役割と特徴に関する情報を提供し、デプロイできるゲートウェイを比較します。
関連情報:
API Managementシナリオ、コンポーネント、概念の概要については、「Azure API Managementとは」を参照してください。
API Management サービスレベルと機能の詳細情報については、以下を参照してください。
ゲートウェイの役割
API Management ゲートウェイ (データ プレーンまたはランタイムとも呼ばれます) は、API 要求のプロキシ処理、ポリシーの適用、テレメトリの収集を担当するサービス コンポーネントです。
具体的には、ゲートウェイは次のとおりです:
- API 呼び出しを受け入れ、適切なバックエンドにルーティングすることで、バックエンド サービスのファサードとして機能します
- API キーと、要求で提示される JWT トークンや証明書などのその他の資格情報を検証します
- 使用量クォータとレート制限を適用する
- 必要に応じて、ポリシー ステートメントで指定されている要求と応答を変換します
- 構成されている場合は、応答の待機時間を改善し、バックエンド サービスへの負荷を最小限に抑えるために応答をキャッシュする
- モニタリング、レポート、およびトラブルシューティングのためのログ、メトリック、トレースをに対して出力する
Note
API Management ゲートウェイに対するすべての要求 (ポリシー構成によって拒否されたものを含む) は、サービス レベルで適用されている場合、構成されたレート制限、クォータ、課金制限で考慮されます。
マネージドとセルフホステッド
API Management は、マネージド ゲートウェイとセルフホステッド ゲートウェイの両方を提供します。
マネージド - マネージド ゲートウェイは、すべてのサービス レベルのすべてのAPI Management インスタンスに対して Azure にデプロイされる既定のゲートウェイ コンポーネントです。 スタンドアロン マネージド ゲートウェイは、API Management インスタンス内のワークスペースに関連付けることもできます。 マネージド ゲートウェイを使用すると、API を実装するバックエンドがホストされる場所に関係なく、すべての API トラフィックが Azure を通過します。
Note
基になっているサービス アーキテクチャの違いが原因で、異なる API Management サービス レベルで提供されるゲートウェイの機能には、いくつかの差異が存在しています。 詳細については、「 機能の比較: マネージド ゲートウェイとセルフホステッド ゲートウェイの比較」セクションを参照してください。
セルフホステッド - セルフホステッド ゲートウェイ は、特定のサービス レベルで使用できる既定のマネージド ゲートウェイのコンテナー化されたバージョンであり、オプションで使用できます。 これは、API バックエンドがホストされているのと同じ環境で Azure からゲートウェイを実行する要件があるハイブリッドおよびマルチクラウドのシナリオに役立ちます。 セルフホステッド ゲートウェイを利用すると、ハイブリッド IT インフラストラクチャを使用しているお客様は、オンプレミスおよびクラウドに渡ってホストされている API を Azure 内の単一の API Management サービスから管理できるようになります。
セルフホステッド ゲートウェイは、Linux ベースの Docker コンテナーとしてパッケージ化されており、通常は Kubernetes にデプロイされます。これには、Azure Kubernetes Service や Azure Arc 対応 Kubernetes が含まれます。
各セルフホステッド ゲートウェイは、構成更新プログラムを受信して状態を通信するクラウドベースのAPI Management インスタンス内のゲートウェイ リソースに関連付けられます。
特徴の比較: マネージド ゲートウェイとセルフホステッド ゲートウェイ
次の表は、各 API Management ゲートウェイで使用できる機能を比較しています。
- クラシック - Developer、Basic、Standard、Premium のサービス レベルで使用できるマネージド ゲートウェイ (以前は、専用レベルとしてグループ化されていました)
- V2 - Basic v2 および Standard v2 レベルで使用可能なマネージド ゲートウェイ
- 従量課金 - 従量課金レベルで使用可能なマネージド ゲートウェイ
- セルフホステッド - 特定のサービス レベルで使用可能な、オプションのセルフホステッド ゲートウェイ
- ワークスペース - 一部のサービス レベルのワークスペースで使用できるマネージド ゲートウェイ
Note
- マネージド ゲートウェイとセルフホステッド ゲートウェイの一部の特徴は、特定の サービス レベル でのみ、またはセルフホステッド ゲートウェイの特定の デプロイ環境 でのみサポートされます。
- セルフホステッド ゲートウェイの現在サポートされている機能については、セルフホステッド ゲートウェイのコンテナー イメージの最新メジャー バージョンにアップグレードしていることを確認してください。
- セルフホステッド ゲートウェイの「制限事項」も参照してください。
インフラストラクチャ
機能サポート | クラシック | V2 | 従量課金 | セルフホステッド | ワークスペース |
---|---|---|---|---|---|
カスタム ドメイン | ✔️ | ✔️ | ✔️ | ✔️ | ❌ |
ビルトイン キャッシュ | ✔️ | ✔️ | ❌ | ❌ | ✔️ |
外部 Redis と互換性のあるキャッシュ | ✔️ | ✔️ | ✔️ | ✔️ | ❌ |
仮想ネットワーク インジェクション | 開発者、プレミアム | ❌ | ❌ | ✔️1、2 | ✔️ |
受信プライベート エンドポイント | Developer、Basic、Standard、Premium | ❌ | ❌ | ❌ | ❌ |
送信仮想ネットワーク統合 | ❌ | 標準 V2 | ❌ | ❌ | ✔️ |
可用性ゾーン | Premium | ✔️3 | ❌ | ✔️1 | ✔️3 |
複数リージョンのデプロイ | Premium | ❌ | ❌ | ✔️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 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
関数アプリ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Container App | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Service Fabric | 開発者、プレミアム | ❌ | ❌ | ❌ | ❌ |
パススルー GraphQL | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
合成 GraphQL | ✔️ | ✔️ | ✔️1 | ✔️1 | ❌ |
パススルー WebSocket | ✔️ | ✔️ | ❌ | ✔️ | ❌ |
パススルー gRPC | ❌ | ❌ | ❌ | ✔️ | ❌ |
OData | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Azure OpenAI | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
バックエンドでの遮断器 | ✔️ | ✔️ | ❌ | ✔️ | ✔️ |
負荷分散バックエンド プール | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
1 合成 GraphQL サブスクリプション (プレビュー) はサポートされていません。
ポリシー
マネージド ゲートウェイとセルフホステッド ゲートウェイでは、ポリシー定義で使用可能なすべての ポリシーが サポートされます。ただし、次の例外があります。
機能のサポート | クラシック | V2 | 従量課金 | セルフホステッド1 | ワークスペース |
---|---|---|---|---|---|
Dapr 統合 | ❌ | ❌ | ❌ | ✔️ | ❌ |
GraphQL リゾルバーとGraphQL 検証 | ✔️ | ✔️ | ✔️ | ❌ | ❌ |
認可コンテキストを取得する | ✔️ | ✔️ | ✔️ | ❌ | ❌ |
クォータとレートの制限 | ✔️ | ✔️2 | ✔️3 | ✔️4 | ✔️ |
1 セルフホステッド ゲートウェイでサポートされていない構成済みのポリシーは、ポリシーの実行中にスキップされます。
2 v2 レベルでは、キー ポリシー別のクォータは使用できません。
3 キー別のレート制限、キー別のクォータ、Azure OpenAI トークン制限の各ポリシーは、従量課金レベルでは使用できません。
4 セルフホステッド ゲートウェイのレート制限数は、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 レベル
- スケール ユニットを追加および削除してゲートウェイ容量をスケーリングするか、サービス レベルをアップグレードします。
Consumption レベル
- 従量課金レベルの API Management インスタンスは、トラフィックに基づいて自動的にスケーリングします。
セルフホステッド ゲートウェイ
- Kubernetes などの環境では、予想される使用をハンドルするために複数のゲートウェイ レプリカを追加します。
- 必要に応じて、トラフィックの需要を満たすように 自動スケールを構成 します。
ワークスペース ゲートウェイ
ワークスペース ゲートウェイでスケール ユニットを追加および削除して、容量をスケーリングします。
関連するコンテンツ
詳しく知る:
- ハイブリッドかつマルチクラウドの世界における API Management
- スケーリングの判断のための容量メトリック
- API Management の監視機能
- API Management の GenAI ゲートウェイ機能