Send Docs Feedback

Note: Most user interface tasks can be performed in Edge Classic or the New Edge experience. For an overview, getting started topics, and release notes specific to the New Edge experience, see the docs.

Apigee Edge とは?

Apigee Edge is a platform for developing and managing API proxies. Think of a proxy as an abstraction layer that "fronts" for your backend service APIs and provides value-added features like security, rate limiting, quotas, analytics, and more. The primary consumers of Edge API proxies are app developers who want to use your backend services. For example, you can view a webcast about how Walgreens uses APIs and Apigee Edge to provide a rich app ecosystem around photo printing, prescriptions, and other services that they provide. 

デジタルビジネスの促進

このビデオでは、お客様がデジタルビジネスへと進展していくうえで Apigee がどのように役立つかについて簡単に説明します。

サービスを Web で使用可能にする

今日の企業は、Web で自社のバックエンドサービスを利用できるようにすることで、モバイルデバイスやデスクトップで実行されているアプリでこれらのサービスを消費できるようすることを希望しています。企業では、製品価格と在庫情報を提供するサービス、販売サービス、注文サービス、注文追跡サービス、およびクライアントアプリに必要なその他のサービスを公開する必要がある場合があります。

企業は、多くの場合、HTTP エンドポイントのセットとしてサービスを公開しています。そのため、クライアントアプリデベロッパは、これらのエンドポイントに対して HTTP リクエストを行います。エンドポイントによっては、サービスで XML または JSON としてフォーマットされたデータがクライアントアプリに返される場合があります。

モバイルデバイスやタブレット用のスタンドアロンアプリとして、ブラウザで実行されている HTML5 アプリとして、または、HTTP エンドポイントに対するリクエストを行い、レスポンスデータを消費できるその他のタイプのアプリとして、これらのサービスを消費するクライアントアプリを実装することができます。これらのアプリは、そのサービスを公開した会社や、公開されているサービスを利用するサードパーティのアプリデベロッパによって開発、リリースされる可能性があります。

次の図に、このタイプのモデルを示します。

Web を介してこれらのサービスを使用きるようにするため、プロバイダは不正アクセスから当該サービスのセキュリティを確保し、保護するために必要なすべての措置を講じていることを保証する必要があります。サービスプロバイダは、次のことを考慮しなければなりません。

  • セキュリティ - 不正アクセスを防ぐため、サービスへのアクセスを制御する方法。
  • 互換性 - サービスがさまざまなプラットフォームやデバイスで機能するかどうか。
  • 測定可能性 - サービスの可用性を確認するためにサービスを監視できる方法。
  • マネタイズ - サービスにアクセスするために顧客を追跡、請求する方法。
  • その他多くの考慮事項

サービスにアクセスするクライアントアプリがリリースされたら、サービスプロバイダは、時間の経過とともにサービスが追加、変更、または削除されたときに、それらのサービスが引き続き機能することを保証する必要があります。サービスプロバイダは、クライアントアプリがこれらのサービスと同期されていることを保証するため、サービスに対する変更をアプリデベロッパに周知させる手段を確保している必要があります。

クライアントアプリのデベロッパは、さまざまなプロバイダのサービスを消費しようとすると、課題に直面します。現在、サービスを公開するためサービスプロバイダが使用しているテクノロジは多くあります。同一のクライアントアプリで、1 つのプロバイダのサービスを消費するために特定のメカニズムを使用し、他のプロバイダのサービスを消費するために他のメカニズムを使用しなければならない場合があります。アプリデベロッパでさえも、同じプロバイダのサービスを消費するためにさまざまなメカニズムを使用する必要がある状況に直面する場合があります。

Apigee Edge を介してサービスを使用可能にする

Java 上に構築された Apigee Edge では、サービス実装を問わず、すべてのサービスで一貫して明確に定義された API を使用して、サービスへのセキュリティが確保されたアクセスを提供することができます。一貫性のある API とは、次のような API のことです。

  • アプリデベロッパがサービスをより簡単に消費できる。
  • パブリック API に影響を与えることなく、バックエンドサービス実装を変更できる。
  • アナリティクス、マネタイズ、デベロッパポータル、および Edge に組み込まれているその他の機能の利点を活用できる。 

次の図に、クライアントアプリからバックエンドサービスへのリクエストを処理する Edge のアーキテクチャを示します。

アプリデベロッパにサービスを直接消費させるのではなく、アプリデベロッパが Edge 上に作成された API プロキシにアクセスします。API プロキシは、公に利用できる HTTP エンドポイントからバックエンドサービスへの対応関係として機能します。API プロキシを作成することで、サービスの保護に必要なセキュリティタスクおよび承認タスクを Edge で処理するだけでなく、それらのサービスの分析、監視、およびマネタイズも Edge で行うことができます。

アプリデベロッパでは、サービスに対して直接ではなく、API プロキシに対して HTTP リクエストを行うため、サービス実装についてすべてを把握している必要はありません。把握している必要があるのは、次のみです。

  • API プロキシエンドポイントの URL。
  • リクエストに渡されるすべてのクエリパラメータ、ヘッダー、または本文パラメータ。
  • 必要な認証および承認の資格情報。
  • XML、JSON などのレスポンスデータ形式を含むレスポンスの形式。

API プロキシにより、バックエンドサービスからアプリデベロッパが分離され​​ます。そのため、パブリック API の一貫性が維持されている限り、サービス実装を自由に変更できます。例えば、データベース実装を変更したり、新しいホストにサービスを移動したり、サービス実装にその他の変更を行ったりすることができます。一貫性のあるフロントエンド API を維持することで、バックエンドでの変更に関係なく、既存のクライアントアプリは引き続き機能します。

API プロキシのポリシーを使用すると、バックエンドサービスに変更を加える必要なく、サービスに機能を追加することができます。例えば、プロキシにポリシーを追加することで、データ変換やフィルタリングを実行したり、セキュリティを強化したり、条件ロジックやカスタムコードを実行したりするなど、多くのアクションを実行することができます。念頭に置く必要のある重要なことは、ポリシーはバックエンドサーバーではなく、Edge で実装するということです。

詳細については、「API と API プロキシについて」を参照してください。

Apigee Edge での API 製品の作成

API プロキシは、デベロッパがバックエンドサービスへのアクセスに使用する Apigee Edge 上の HTTP エンドポイントです。個々の API プロキシを使用可能にすることはできますが、通常は行なわないでください。代わりに、1 つ以上の API プロキシを 1 つの API 製品 (product) にグループ化することはできます。

API 製品とは、API プロキシにサービスプランを組み合わせたバンドルです。サービスプランでは、API プロキシに対するアクセス制限の設定、セキュリティ保護の提供、監視やアナリティクスの許可などの機能を提供できます。また、API 製品は、Edge が API の承認とアクセス制御に使用する中心的なメカニズムです。

API 製品を作成するときには、大幅な柔軟性があります。例えば、複数の API 製品で同じ API プロキシを共有することができます。次の図に、このような 3 つの API 製品を示します。 なお、すべての製品で API プロキシ 3 へのアクセスが許可されるものの、製品 A では、API プロキシ 1 へのアクセスのみが許可されることを確認してください。

各 API 製品には、異なるプロパティを設定することができます。例えば、バーゲン価格の場合は、1 日あたり 1000 件のリクエストなど、低いアクセス制限を設定して、API 製品を使用可能にすることができます。 より高い価格の場合、はるかに高いアクセス制限を設定するのではなく、同じ API プロキシへのアクセスを提供するもう 1 つの API 製品をリリースします。または、サービスへの読み取り専用アクセスを可能にする無料の API 製品を作成して、読み取り/書き込みアクセスを許可する同一の API プロキシに API 製品を販売することができます。

詳細については、「Create API products」参照してください。

クライアント側アプリに API 製品へのアクセスを許可する

アプリデベロッパがサービスにアクセスすることを決定した場合、まず、クライアントアプリを API 製品に登録する必要があります。アプリデベロッパは、登録時に API キーを受け取ります。このキーは、それ以降 API 製品に含まれる API プロキシに対するすべてのリクエストに含める必要があります。そのキーが認証され、認証​​が成功すると、リクエストがバックエンドサービスへのアクセスを許可されます。

キーを取り消してクライアントアプリがサービスにアクセスできないようにすることはいつでもできます。または、キーに時間制限を設けて、デベロッパが所定の期間後にキーを更新しなければならないようにできます。

API 製品にアクセスするためのデベロッパからの登録リクエストを処理する方法を決定します。Apigee Edge デベロッパサービスを使用すると、登録プロセスを自動化したり、手動プロセスを使用してアクセスを制御したりすることができます。

API 製品を作成し、デベロッパがその API 製品を使用できるようにする手順

  1. 公開されている URL をバックエンドサービスにマップする 1 つ以上の API プロキシを作成します。
  2. API プロキシをバンドルする API 製品を作成します。
  3. API プロキシと API 製品を展開します。
  4. API 製品が使用可能であることをデベロッパに通知します。

アプリデベロッパに API 製品が使用可能であることをデベロッパに通知した後、デベロッパは次の手順に従います。

  1. API 製品でクライアントアプリを登録します。
  2. API 製品の API キーを受け取ります。
  3. API プロキシ (API 製品にバンドルされている) を使用して、サービスにリクエストを行い、各リクエストで API キーを渡します。

Apigee Edge のコンポーネント

Apigee Edge は、API の作成、セキュリティ、管理、および運用のための包括的なインフラストラクチャとともに、クライアントアプリを開発するための強力なバックエンドサービスを提供する API、アナリティクス、およびデベロッパサービスで構成されています。

次の図に、Edge サービスを示します。

Edge API サービス

Apigee Edge API サービスには、サービスプロバイダとして API プロキシを構築する場合でも、アプリデベロッパとして API、SDK、およびその他の有用なサービスを使用する場合でも、API の作成、消費に関するすべてが揃っています。

API を構築する側では、API 管理サーバーにより、API プロキシの追加、API 製品の設定、アプリデベロッパとクライアントアプリの管理のためのツールが用意されます。API 管理サーバーを使用することで、バックエンドサービスの管理に関する一般的な懸念事項が軽減されます。API プロキシを追加するときは、セキュリティの強化、レート制限、仲介、キャッシュなどを追加するために API プロキシにポリシーを適用できます。また、カスタムスクリプトを適用して、サードパーティの API およびサービスに対する呼び出しを行うなどの方法により、API プロキシの動作をカスタマイズすることができます。詳細については、「API と API プロキシについて」を参照してください。

API を消費する側では、API サービスにより、柔軟なデータストアや、ソーシャルグラフ、位置情報、ユーザー管理、プッシュ通知、パフォーマンス監視などの主要な機能へのアクセスを与えることによって、モバイルアプリおよび Web アプリが強化されます。iOS、Android、Java Script などのための SDK で使用できるこれらの機能により、アプリデベロッパは、コアのバックエンドサービスとインフラストラクチャの実装に時間を費やすのではなく、クライアントアプリを本当に意味で差別化するリッチな機能とユーザーエクスペリエンスの作成に集中することができます。詳細については、「API BaaS features」を参照してください。

node.js のデベロッパの場合、API と API マッシュアップを作成するために、Edge に node.js モジュールをシームレスに追加できるだけでなく、メッセージ変換からのアナリティクスに対するセキュリティまでの Edge がもたらす利点を活用することができます。

Edge アナリティクスサービス

Apigee Edge アナリティクスサービスでは、API の短期的および長期的な使用状況の傾向を確認できる強力なツールが用意されています。上位のデベロッパやアプリによって対象ユーザーを分類したり、API メソッドで使用状況を理解して投資すべき分野を把握したり、ビジネスまたは運用レベルの情報に関するカスタムレポートを作成したりすることができます。

データが Edge に渡されると、いくつかのデフォルトタイプの情報 (API 呼び出し情報の URL、IP、ユーザー ID 情報、レイテンシ、エラーデータ等を含む) が収集されます。ポリシーを作成すると、XML または JSON から抽出されたリクエストヘッダー、レスポンスヘッダー、クエリパラメータ、リクエストまたはレスポンスの一部などのその他の情報を追加することができます。この情報は、実際のリクエスト/レスポンスフローから非同期に収集されるための API のパフォーマンスには影響を及ぼしません。

The management UI lets you view multiple metrics and dimensions in a browser, as shown in the following figure:

ただし、コマンドラインインターフェイスで、または RESTful API を使用してアナリティクスサービスにアクセスし、制御することもできます。詳細については、「Analytics Services overview」を参照してください。

Edge デベロッパサービス

Apigee Edge デベロッパサービスでは、サービスを使用してアプリデベロッパのコ​​ミュニティを管理するツールが用意されています。デベロッパサービスでは、組織の内外のデベロッパと連携して、財務モデルを使用してこれらの関係性を柔軟に形式化することができます。

Developer Services provides the ability to onboard developers and create a developer portal for your publicly available API products. App developers connect to your portal to access API documentation, forums, and a blog. Every Edge customer can create their own developer portal, either in the cloud or on-premises with Apigee Edge for Private Cloud.

The following figure shows two flavors of Edge developer portals: New Edge and Classic Edge.

New Edge portal, which can be instantly provisioned:

Classic Edge portal, based on the Drupal framework:

マネタイズ機能は、課金のインフラストラクチャやシステムを提供し、開発者コミュニティをデジタルアセットの実際のチャネルに変えることができます。マネタイズ機能を使用すれば、多様な料金プランを作成できます。API 製品の使用について開発者に課金したり、収益を分配するケースで開発者に支払いを行うことも可能です。事前支払いプラン、事後支払いプラン、固定料金プラン、可変料金プラン、「フリーミアム」プラン、特定の開発者向けのカスタマイズプラン、開発者グループを対象とするプランなどがあります。また、マネタイズには、レポート作成機能と請求機能があります。詳細については、「Understand monetization」を参照してください。

クラウドでの Edge とオンプレミスでの Edge の違い

自分の環境に Edge オンプレミス (Apigee Edge for Private Cloud) をインストールすると、環境と展開の分類の完全な制御を維持することができます。または、クラウドホスト (SaaS) バージョンを使用することもできます。このバージョンでは、Apigee がユーザーに代わってクラウド環境の維持を担うことで、ユーザーはサービスの構築やそのサービスに対する API の定義することに集中することができます。

2 つのバージョンの機能はほぼ同じです。違いは、クラウドでは無料と有料の両方のアカウントをサポートしており、ハードウェアとソフトウェア環境が Apigee によって管理されているという点です。オンプレミスインストール (有料アカウントが必要) を使用すると、Edge のインストールと展開を完全に管理できます。オンプレミスインストールを完全にサポートするために、Edge には Apigee 管理サーバー、Apache Cassandra NoSQL データベース、OpenLDAP サーバー、メッセージルーター、メッセージプロセッサのようなコンポーネントが含まれます。

Help or comments?