API ゲートウェイを作成する

組織では、パートナーにデータへのアクセスを提供する必要性が頻繁に生じます。 このアクセスは、制御および管理される必要があります。

靴の会社の例では、NorthWind Shoes の在庫を保有する小売業者が、注文できる在庫の量を把握する必要があります。 また、顧客は注文した品がいつ届くのか正確に知りたいとも思います。

ここでは、Azure API Management のしくみと、API ゲートウェイを設定する方法を学習します。

Azure API 管理

Azure API 管理サービスは Azure クラウド内でホストされ、API とインターネットの間に置かれます。 Azure API ゲートウェイは Azure API 管理サービスのインスタンスです。

API を発行するときに、Azure portal を使って特定の API がコンシューマーに公開される方法を制御します。 デモの目的で一部の API を開発者が自由に使用できるようにし、その他の API へのアクセスを厳しく制御することができます。

API Management を使う理由

開発者には、API Management を使うさまざまなベネフィットがあります。

  • API ドキュメント。 API のドキュメントにより、呼び出し元のクライアントは各自のソリューションを迅速に統合できます。 API Management を使うと、Open API などの最新の標準を使って API の構造を簡単に呼び出し元のクライアントに公開できます。 API のバージョンを複数用意することができます。 複数のバージョンを用意すると、利用しているアプリで新しいバージョンをすぐに使う必要がないときに、アプリの更新をステージングすることができます。
  • レート制限アクセス。 API を使って大量のデータにアクセスできる可能性がある場合は、クライアントがデータを要求できるレートを制限することをお勧めします。 レート制限は、すべてのクライアントに対して最適な応答時間を維持するのに役立ちます。 API Management では、全体の、または特定の個々のクライアントのレート制限を設定できます。
  • 正常性の監視。 API はリモート クライアントによって使用されます。 そのため、潜在的な問題やエラーを特定することが困難になる可能性があります。 API Management では、エラー応答とログ ファイルを表示し、応答の種類でフィルター処理することができます。
  • JSON などの最新の形式。 API では長年にわたり、XML や CSV を始めとするさまざまなデータ交換形式が使われてきました。 API Management を使うと、JSON などの最新のデータ モデルを使ってこれらの形式を発行できます。
  • 任意の API への接続。 多くの企業で、API はさまざまな国にわたって配置され、さまざまな形式が使われています。 API Management では、これらの異なる API のすべてを 1 つの最新インターフェイスに追加することができます。
  • 分析。 API を開発するときに、自分の API がどのくらいの頻度で、またどのような種類のシステムによって呼び出されているのか確認できたら便利です。 API Management では、このデータを Azure portal 内で視覚化することができます。
  • セキュリティ。 セキュリティは、システム データを処理する場合の最優先事項です。 承認されていない違反により、会社に金銭的なコストがかかり、コードの修正で時間が失われ、会社の評判が落ちる可能性があります。 Azure API 管理と共に使用できるセキュリティ ツールには、OAuth 2.0 ユーザー認証や、Azure Active Directory との統合などがあります。

価格レベル

Azure API 管理ゲートウェイを作成するときに、いくつかの価格レベルのいずれかから選択する必要があります。

  • Developer。 Developer レベルは、API 管理サービスを評価するために使います。 運用環境のデプロイではこのレベルを使わないでください。
  • Basic。 エントリ レベルの運用環境で使用。 SLA は 99.9%。 1000 要求/秒。2 つのスケール ユニット。

注意

スケール ユニットにより、サービスをスケールアップすることができます。 スケール ユニットが多ければ多いほど、より多くサービスをスケールアップできます。

  • Standard。 中程度レベルの運用環境で使用。 SLA は 99.9%。 2500 要求/秒。4 つのスケール ユニット。
  • Premium。 複数リージョンのデプロイ。 高ボリュームの使用。 SLA は 99.95%。 4000 要求/秒。リージョンごとに 10 個のスケール ユニット。
  • Consumption。 サーバーレスの従量課金レベルのプランを使う場合、専用のリソースを用意する代わりに、使用した分だけ支払うことができます。 アドホック テストをすばやく設定することができ、需要が増えたら API アクセスをスケールアップできます。 従量課金レベルには、組み込みの高可用性と自動スケーリングが備わっています。 サーバーレスなので、従量課金レベルのゲートウェイは、他のサーバー ベースのレベルよりもずっと短時間でプロビジョニングできます。

API 管理の設定

API 管理を設定するには、次の操作を行います。

  1. API Management ゲートウェイを作成します。 ゲートウェイに使用する名前は、*.azure-api.net 名前空間内でグローバルに一意である必要があります。
  2. ゲートウェイに既存の Web API を登録します。 API を登録すると、コンシューマーは <ゲートウェイ>.azure-api.net エンドポイントで API を使用できるようになります。
  3. ゲートウェイを介して既存の API を呼び出します。 これで、エンドポイントの URL で、または開発者ポータルを通じて、コンシューマーが API を使用できるようになります。