Azure Managed Service Column <Azure運用コラム>

管理者と開発者にメリットのあるソリューションAzure API Managementについて解説します!

Category: 入門編

2023.04.10

API Managementの構成要素、特徴、機能、価格について

近年、 DX 化の推進によりインターネット上から提供されるクラウドサービスやアプリケーションが普及しました。クラウドサービスやアプリケーションから提供されるデータは、さまざまな場面で利用されることから、素早く応答できる高いパフォーマンスに、常に最新のデータであることが求められます。また可用性、機密性、堅牢性などあらゆる面から高品質な運用も求められます。

このクラウドサービスやアプリケーションの裏側では必ずと言っていいほど、 API が動いています。現代のクラウドサービスに欠かせない API とは具体的にどのような仕組みだかご存知でしょうか?クラウドサービスやアプリケーションの進化、開発環境の進化に応じてAPIも多様化し、進化しています。

Azure API Management (以下、 API Management )は、 API を統合的に管理することを目的としたプラットフォームです。導入することで管理者と開発者の両方にメリットをもたらします。本記事では、 API Management の概要、機能、メリットについて解説します。

1.Azure API Managementとは?

まず大前提となる「エーピーアイ」とはなんでしょうか? API について解説します。

APIとは

API とは、 Application Programming Interface の頭文字をとった略語です。接続先のシステムを呼び出すための接続の窓口(インターフェース)であり、互いのソフトウェアやアプリケーション機能の共有を実現する機能です。API を通じ連携することで、アプリケーションの機能拡張を容易に実現でき、接続される双方の機能が更に拡張され便利になるメリットがあります。

API の基本的なプロセスは「リクエスト(要求)」と「レスポンス(応答)」で構成されています。リクエストをするのが API 利用者で、レスポンスをするのが API の提供者です。

ユーザーはクラウドサービスやアプリケーションを使う際に、 API の動きを意識することはありません。 API は裏側で幅広く使われている機能です。

例えば、最近では既存の Google アカウントや SNS アカウントを利用して別のクラウドサービスにログインできる連携機能が増えています。これは API によってログイン情報が連携される仕組みが裏側で動いています。また電子マネーで買い物する際など、決済代行サービスのAPIによって電子マネーの決済情報なども連携事例の代表的な一つです。

APIとは

Azure API Managementとは

Azure が提供する API の統合管理サービスです。サービスを拡張・連携するためのコネクト機能(ゲートウェイとなる接続点)を提供します。接続要求を受けたらバックエンドの API サービスへ接続を仲介するサービスです。

バックエンドの API をまとめて管理し、セキュリティを担保しながら、データ変換、レート制限といった様々な処理を行っています。

また API Management ではユーザ管理も実現します。管理者と開発者という2つのロールが存在し、 API Management は両者の運用をサポートします。

Azure API Managementの構成要素

API Management は API ゲートウェイとパブリッシャーポータル、そして開発者ポータルという 3 つのコンポーネントから構成されています。構成要素について解説します。

APIゲートウェイ

API Management の中核となる機能です。 API リクエストを集約して、バックエンドサービスにルーティングする基本機能を中心に、認証・認可や流量制限、監視、分析などの横断的機能を提供してくれます。

Azureポータル

管理者が API をセットアップするために利用するポータルです。具体的には、 API スキーマの定義やインポート、 API の製品化、 API のポリシー設定、分析、ユーザー管理などを行います。

開発者ポータル

開発者ポータルでは API のドキュメントの参照や、 API のテスト、 API キーの取得などが可能です。

各機能については次章より詳細を解説します。

Azure API Managementの構成要素

図版出典:Microsoft 公式サイト

2. Azure API Managementの機能

APIゲートウェイの機能

他システムからの API 呼び出しを受け入れ、適切な API サービスにルーティングする機能を担います。 API キーと、要求で提示されるトークンや証明書などの資格情報を検証することで安全で間違いのない API サービスを提供してくれます。

利用制御機能

使用量クォータとレート制限を適用することで、ボリュームと帯域幅クォータの両方またはそのどちらかをサブスクリプションに基づいて、 API の使用量の急増を防ぎながら利用することが可能です。

キャッシュ機能

応答のキャッシュ機能を使用することで API の呼び出し元と API プロバイダーのバックエンド読み込みの待機時間を大幅に短縮することができます。

監視機能

モニタリング、レポート、トラブルシューティングのためのログ、メトリックを出力できるため、 Azure Monitor と連携し API Management を監視することができます。

オンプレとの連携機能

セルフホステッド ゲートウェイ機能を使用することで、オンプレミスにホストされている API を API Management サービスから管理できるようになります。

Azureポータル(管理プレーン)の機能

API Management サービスを利用するために、まずは Azure ポータル上でのプロビジョニングが必要です。プロビジョニングとデプロイが完了すると、 Azure ポータル上から API Management のダッシュボード画面に移動でき、各種機能が利用可能となります。

移植機能

Open API 、 Azureコンピューティング、 Azure サービス、 WebSocket 、 Graph QL バックエンドなど、さまざまなソースから API スキーマを定義またはインポートする機能があるため、既存の環境から移植が容易です。

ユーザ管理機能

管理プレーンではユーザ管理機能を提供しています。 API Management には、次の組み込みのグループが存在します。

  • 管理者
  • 開発者
  • ゲスト

管理者は、カスタムグループを作成したり、関連付けられている Azure Active Directory テナントで外部グループを使用したりして、開発者が API 製品を表示およびアクセスできるようにすることもできます。またユーザーは複数のグループに属することができます。

連携機能

Azure ポータルを通じ、他の Azure サービスと連携することが可能です。クライアント証明書とシークレットを安全に保管して管理するための Azure Key Vault 、管理操作、システム イベント、 API 要求に関するログ記録、レポート、警告、トラブルシュートのための Azure Monitor 、 Application Insights 、開発者の認証と要求の承認のための Azure Active Directory 、イベントをストリーミングするための Event Hubs など様々なサービスと連携が可能です。

開発者ポータルの機能

開発者ポータルは、自動的に生成され、カスタマイズ可能な、 API ドキュメントが含まれる Web サイトです。開発者向けにカスタムコンテンツを追加したり、スタイルをカスタマイズしたり、ブランドを追加したりすることによって、開発者ポータルを拡張することも可能です。

学習機能

API のドキュメントが提供可能であることからアプリ開発者は開発者ポータルを使って使用方法を学習することができます。

開発者向けのツール提供

開発者向けの対話型コンソールを介して API を呼び出すことができます。また開発者ポータルからサインアップすることで、許可された成果物を利用することができます。 API 定義をダウンロード、 API キーの管理も可能です。

3. Azure API Managementの料金

API Management の利用プランは大きく分けて、使用量に応じた従量課金プランと、単位時間あたりの使用量に応じたプランの2種類に分類されます。従量課金プランの機能は大きく制限されますが、 100 万リクエスト/月 まで無料です。

また API Management は Developer 、 Basic 、 Standard 、 Premium などの機能レベルがあり、どれを選ぶかによって時間あたりの料金、キャッシュ容量、帯域、スループットなどの機能定義が異なります。レベル機能に応じて利用できる範囲、料金も変わってくるため、詳しくは公式サイトでご確認ください。

4.まとめ

API Managementでは様々な管理機能を搭載し、APIの管理を効率的に行うことのできるサービスです。またクラウド環境のみならず、オンプレの開発環境にも対応しています。

さらに開発者向けにも様々な機能・サービスが提供されることから、管理のみならず開発者にとってもスマートなアプリ開発の環境構築に大いに役立つでしょう。

API Management を活用し、複雑な管理、開発環境の改善に、API Management を推奨します。また利用においては専門家への相談をお勧めします。

Azure の導入を相談したい

Azure導入支援サービス

Azure 導入支援サービス

Microsoft Azure 導入の具体的な方法の検討や技術検証を専門家にサポートいたします。

Free

資料ダウンロード

課題解決に役立つ詳しいサービス資料はこちら

資料ダウンロード
  • Azure導入支援・構築・運用サービス総合カタログ

    Microsoft Azure サービスの導入検討・PoC、設計、構築、運用までを一貫してご支援いたします。
    Azure導入・運用時のよくあるお悩み、お悩みを解決するためのアールワークスのご支援内容・方法、ご支援例などをご確認いただけます。

Microsoft Azureを利用したシステムの設計・構築を代行します。お客様のご要件を実現する構成をご提案・実装いたします。

Azure導入個別相談会(無料)

Tag: Azure API Management

Contactお問い合わせ

お見積もり・ご相談など、お気軽にお問い合わせください。

single.php