Azure API Management とは

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

この記事では、Azure API Management の一般的なシナリオと主なコンポーネントの概要について説明します。 Azure API Management は、あらゆる環境にわたる API のためのハイブリッドなマルチクラウド管理プラットフォームです。 サービスとしてのプラットフォームである API Management は API ライフサイクル全体をサポートします。

ヒント

API Management に慣れ、開始する準備ができている場合は、次のリソースを参照してください。

シナリオ

API では、デジタル エクスペリエンスを実現し、アプリケーション統合を簡素化し、新しいデジタル製品を支え、データとサービスを再利用してユニバーサルにアクセスできるようにします。 API の急増とそれらに対する依存の増加に伴い、組織はライフサイクル全体にわたってファーストクラスの資産としてそれらを管理する必要があります。

結合されたエクスペリエンスでの API のロールを示す図。

Azure API Management は、お客様がこれらの課題に対応するのに役立ちます。

  • API コンシューマーのバックエンド アーキテクチャの多様性と複雑さを抽象化する
  • API として Azure 内外でホストされるサービスを安全に公開する
  • API の保護、高速化、および監視を行う
  • 内外のユーザーが API を検出して使用できるようにする

一般的なシナリオは、次のとおりです。

  • 従来の資産の解放 - API は、従来のバックエンドを抽象化して最新化し、新しいクラウド サービスや最新のアプリケーションからアクセスできるようにするために使用されます。 API を使用することで、移行のリスク、コスト、および遅延が発生することなくイノベーションを実現できます。
  • API 中心のアプリ統合 - API は、データ、アプリケーション、およびプロセスの公開とアクセスのための使いやすい標準ベースの自己記述型メカニズムです。 アプリ統合のコストを簡略化して減らします。
  • マルチチャネル ユーザー エクスペリエンス - API は、Web、モバイル、ウェアラブル、モノのインターネット アプリケーションなどのユーザー エクスペリエンスを実現するためによく使用されます。 API を再利用して開発と ROI を加速させます。
  • B2B 統合 - パートナーやお客様に公開される API は、ビジネス プロセスを統合し、ビジネス エンティティ間でデータを交換するための障壁を低くします。 API により、ポイントツーポイント統合に固有のオーバーヘッドがなくなります。 特にセルフサービス検出とオンボードが有効になっている場合、API は B2B 統合をスケーリングするための主要なツールとなります。

API Management コンポーネント

Azure API Management は、API ''ゲートウェイ''、''管理プレーン''、''開発者ポータル'' で構成されています。 これらのコンポーネントは、既定で Azure によってホストされて完全に管理されています。 API Management は、容量と機能が異なるさまざまなレベルで使用できます。

Azure API Management の主なコンポーネントを示す図。

API ゲートウェイ

クライアント アプリケーションからのすべての要求は、最初に API ゲートウェイに到着してから、それぞれのバックエンド サービスに転送されます。 API ゲートウェイは、バックエンド サービスのファサードとして機能します。これにより、API プロバイダーは API の実装を抽象化し、API コンシューマーに影響を与えることなくバックエンド アーキテクチャを進化させることができます。 ゲートウェイは、ルーティング、セキュリティ、調整、キャッシュ、および可観測性の一貫した構成を可能にします。

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

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

セルフホステッド ゲートウェイを使用すると、お客様は API をホストしているのと同じ環境に API ゲートウェイをデプロイし、API トラフィックを最適化し、ローカルの規制やガイドラインに確実に準拠できます。 セルフホステッド ゲートウェイを利用すると、ハイブリッド IT インフラストラクチャを使用しているお客様は、オンプレミスおよびクラウドに渡ってホストされている API を Azure 内の単一の API Management サービスから管理できるようになります。

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

詳細情報:

管理プレーン

API プロバイダーは、管理プレーンを介してサービスとやり取りします。これにより、API Management サービス機能へのフル アクセスが提供されます。

お客様は、いくつかの一般的なプログラミング言語で、Azure portal、Azure PowerShell、Azure CLI、Visual Studio Code 拡張機能、REST API、クライアント SDK を含む、Azure ツールを介して管理プレーンとやり取りします。

管理プレーンを使用して次のことを行います。

  • API Management サービス設定をプロビジョニングして構成する
  • OpenAPI、WSDL、OData 定義、Azure コンピューティング サービス、WebSocket、GraphQL、gRPC バックエンドを含む、さまざまなソースから API スキーマを定義またはインポートする
  • API を製品にパッケージ化する
  • API のクォータや変換などのポリシーを設定する
  • 分析から洞察を得る
  • ユーザーの管理

開発者ポータル

オープンソースの開発者ポータルは、自動的に生成され、完全にカスタマイズ可能な、API のドキュメントが含まれる Web サイトです。

API Management 開発者ポータル - 管理者モードのスクリーンショット。

API プロバイダーは、カスタム コンテンツを追加したり、スタイルをカスタマイズしたり、ブランドを追加したりすることによって、開発者ポータルのルックアンドフィールをカスタマイズできます。 セルフホストで開発者ポータルをさらに拡張します。

アプリ開発者はオープンソースの開発者ポータルを使って API を検出し、それらを使用するためにオンボードし、アプリケーションでのそれらの使用方法を学習します (市民開発者が検出して使用するために、API を Power Platform にエクスポートすることもできます)。

開発者は、開発者ポータルを使用して次のことができます。

  • API のドキュメントを読む
  • 対話型コンソールを介して API を呼び出す
  • API キーを取得するためにアカウントを作成してサブスクライブする
  • 自分自身の使用に関する分析にアクセスする
  • API 定義をダウンロードする
  • API キーを管理する

API Management レベル

API Management は、多様な顧客のニーズを満たすために、さまざまな価格レベルで提供されています。 各レベルには、さまざまなシナリオに合わせて、機能、パフォーマンス、容量制限、スケーラビリティ、SLA、価格の異なる組み合わせが用意されています。 レベルは次のようにグループ化されます。

  • クラシック - Developer、Basic、Standard、Premium レベルなどの元の API Management オファリング。 Premium レベルは、プライベート バックエンドへのアクセス、強化されたセキュリティ機能、マルチリージョン デプロイ、可用性ゾーン、高いスケーラビリティを必要とする企業向けに設計されています。 Developer レベルは非運用環境での使用に適した経済的なオプションですが、Basic、Standard、Premium レベルは運用環境に対応したレベルです。
  • V2 - 開発とテスト用の Basic v2、運用環境ワークロード用の Standard v2 など、高速なプロビジョニングとスケーリングを提供する新しいレベルのセットです。 Standard v2 では、ネットワーク分離バックエンドへの簡略化された接続がサポートされています。
  • 従量課金 - 従量課金レベルは、需要に基づいてスケーリングされ、実行ごとに課金される API を管理するためのサーバーレス ゲートウェイです。 これは、サーバーレス コンピューティング、マイクロサービスベースのアーキテクチャ、可変トラフィック パターンでのアプリケーション向けに設計されています。

その他の情報:

Azure サービスとの統合

API Management は、次のような多くの補完的な Azure サービスと統合されて、エンタープライズ ソリューションを作成しています。

その他の情報:

主要な概念

API

API Management サービス インスタンスの基礎となるのは API です。 各 API は、アプリ開発者が使用できる一連の ''操作'' を表します。 各 API には、API を実装するバックエンド サービスへの参照が含まれており、その操作はバックエンド操作にマップされます。

操作は、API Management で細かく設定することができます。URL のマッピング、クエリとパスのパラメーター、要求と応答の内容、操作から返される応答のキャッシュを制御することが可能です。

詳細情報:

製品

開発者から見える API の全体像が成果物です。 API Management の製品には 1 つまたは複数の API があり、''オープン'' にすることも ''保護'' することもできます。 保護された製品にはサブスクリプション キーが必要ですが、オープンな製品は自由に使用できます。

開発者に使用してもらう準備が整ったら、成果物を発行することができます。 発行されると、開発者は開発者ポータルを使用してこれを表示またはサブスクライブできます。 サブスクリプションの承認は製品レベルで構成され、管理者の承認を要求するか、自動で行うことができます。

詳細情報:

グループ

開発者に成果物の表示を許可するかどうかは、グループを使用して管理します。 API Management には、次の組み込みのグループがあります。

  • 管理者 - API Management サービス インスタンスを管理し、開発者が使用する API、操作、および製品を作成します。

    Azure サブスクリプション管理者は、このグループのメンバーになります。

  • 開発者 - API を使用してアプリケーションを構築する認証された開発者ポータル ユーザー。 開発者は、開発者ポータルへのアクセスが認められており、API の操作を呼び出すアプリケーションを構築します。

  • ゲスト - 開発者ポータルにアクセスする見込み顧客など、認証されていない開発者ポータル ユーザー。 特定の読み取り専用アクセスを許可することができます (API の閲覧はできるが、呼び出すことはできないなど)。

管理者は、カスタム グループを作成したり、関連付けられている Microsoft Entra テナントで外部グループを使用したりして、開発者が API 製品を表示およびアクセスできるようにすることもできます。 たとえば、パートナー組織の開発者が製品内の API の特定のサブセットにアクセスするためのカスタム グループを作成します。 ユーザーは複数のグループに属することができます。

詳細情報:

開発者向け

開発者は、API Management サービス インスタンス内のユーザー アカウントです。 開発者は、管理者が作成したり参加を呼びかけたりすることができるほか、開発者ポータルからサインアップすることもできます。 それぞれの開発者はグループ (複数可) に所属し、そのグループに閲覧が認められている成果物をサブスクライブすることができます。

開発者が製品をサブスクライブすると、製品の API を呼び出すときに使用する製品のプライマリとセカンダリのキーが付与されます。

詳細情報:

ワークスペース

ワークスペースを活用することで、分散型 API 開発チームは独自の API を管理および製品化できるようになります。一方で、中央 API プラットフォーム チームは API Management インフラストラクチャを維持します。 各ワークスペースには、ワークスペース コラボレーターのみがアクセスできる API、製品、サブスクリプション、および関連エンティティが含まれています。 アクセスは Azure ロールベースのアクセス制御 (RBAC) によって制御されます。

その他の情報:

ポリシー

ポリシーを使用すると、API パブリッシャーは構成を通じて API の動作を変更できます。 API の要求または応答に対して順に実行される一連のステートメントが集まってポリシーが形成されます。 一般的なステートメントには、XML から JSON への形式変換や、開発者からの着信呼び出しの数を制限する呼び出しレート制限が含まれます。 完全な一覧については、「API Management のポリシー」を参照してください。

ポリシーの式は、ポリシーで特に指定されていない限り、任意の API Management ポリシーで属性値またはテキスト値として使用できます。 制御フロー ポリシーや変数の設定ポリシーなど、一部のポリシーはポリシーの式に基づいています。

ポリシーは、ニーズに応じて異なるスコープ (グローバル (すべての API)、ワークスペース、製品、特定の API、または API 操作) で適用できます。

その他の情報:

次のステップ

次のクイックスタートを完了して、Azure API Management の使用を開始します。