API ゲートウェイを作成する
組織では、パートナーにデータへのアクセスを提供する必要性が頻繁に生じます。 このアクセスは、制御および管理される必要があります。
靴の会社の例では、NorthWind Shoes の在庫を保有する小売業者が、注文できる在庫の量を把握する必要があります。 また、顧客は注文した品がいつ届くのか正確に知りたいとも思います。
ここでは、Azure API Management のしくみと、API ゲートウェイを設定する方法を学習します。
Azure API 管理
Azure API Management サービスは Azure クラウド内でホストされ、API とインターネットの間に配置されます。 API Management インスタンスは Azure API ゲートウェイとして動作します。
API を発行するときに、Azure portal を使って特定の API がコンシューマーに公開される方法を制御します。 デモの目的で一部の API を開発者が自由に使用できるようにし、その他の API へのアクセスを厳しく制御することができます。
API Management を使う理由
開発者には、API Management を使うさまざまなベネフィットがあります。
- API ドキュメント。 API のドキュメントにより、呼び出し元のクライアントは各自のソリューションを迅速に統合できます。 API Management を使うと、OpenAPI などの最新の標準を使って 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 ユーザー認可や、Microsoft Entra ID との統合などがあります。
- 価格レベル。 API Management には、要求スループット、SLA、ネットワーク分離、アップグレードの柔軟性など、さまざまな機能を持つレベルが用意されています。 Azure API Management ゲートウェイを作成する際には、ニーズに合ったレベルを選びます。
API 管理の設定
API 管理を設定するには、次の操作を行います。
- API Management ゲートウェイを作成します。 ゲートウェイに使用する名前は、.azure-api.net 名前空間内でグローバルに一意である必要があります。
- ゲートウェイに既存の Web API を登録します。 API を登録すると、コンシューマーは <ゲートウェイ>.azure-api.net エンドポイントで API を使用できるようになります。
- ゲートウェイを介して既存の API を呼び出します。 コンシューマーは、エンドポイント URL で API を呼び出すことができるようになります。