Edge for Private Cloud v4.18.01
新機能
4.18.01 - Edge for Private Cloud リリースノートをご覧ください。
Apigee コミュニティへのアクセス
Apigee コミュニティは、Apigee に関する質問、ヒント、その他の問題について Apigee のスタッフや他の Apigee ユーザーに問い合わせたり、情報交換したりできる無料のリソースです。コミュニティに投稿する前に、既存の投稿を検索して同じ質問に対する回答がないかどうかご確認ください。
アーキテクチャの概要
Apigee Edge for Private Cloud をインストールする前に、Edge モジュールとソフトウェア コンポーネントの全体的な構成を理解しておく必要があります。
Apigee Edge for Private Cloud は次のモジュールで構成されています。
- Apigee Edge Gateway(API サービス)
- Apigee Edge 分析
- Apigee API BaaS
- Apigee Edge デベロッパー チャネル
- Apigee Edge Monetization Services(デベロッパー サービス収益化)
注: Apigee Edge Developer Channel は、Edge for Private Cloud インストーラによるインストールには使用できません。オンプレミスでは、デベロッパー チャネルを別のスクリプトで入手できます。デベロッパー チャンネルをインストールする場合は、Apigee Edge サポートにお問い合わせください。
Apigee Edge ゲートウェイ
Edge Gateway は Apigee Edge のコア モジュールであり、API を管理するためのメインツールです。Gateway UI には、API の追加と構成、リソースのバンドルの設定、デベロッパーとアプリの管理を行うためのツールが用意されています。Gateway は、管理に関する多くの懸念事項をバックエンド API からオフロードします。API を追加する際に、セキュリティ、レート制限、メディエーション、キャッシュ、その他のコントロールに関するポリシーを適用できます。カスタム スクリプトの適用やサードパーティの API の呼び出しなど、API の動作をカスタマイズすることもできます。
ソフトウェア コンポーネント
Edge Gateway は、以下の主要コンポーネントから構築されます。
- エッジ管理サーバー
- Apache ZooKeeper
- Apache Cassandra
- エッジルーター
- Edge Message Processor
- OpenLDAP
- Edge UI
Edge Gateway は、これらをすべて単一のホストにインストールすることも、複数のホストに分散させることもできます。
Apigee Edge 分析
Edge Analytics は、長期使用傾向を確認できる強力な API 分析を備えています。トップ デベロッパーやアプリ別にオーディエンスを分割したり、API メソッドごとの使用状況を把握して投資すべき分野を把握したり、ビジネスレベルの情報に関するカスタム レポートを作成したりできます。
データが Apigee Edge を通過すると、URL、IP、API 呼び出しのユーザー ID、レイテンシ、エラーデータなど、いくつかのデフォルトの情報が収集されます。ポリシーを使用すると、ヘッダー、クエリ パラメータ、XML または JSON から抽出されたリクエストまたはレスポンスの一部など、他の情報を追加できます。
すべてのデータは Edge Analytics にプッシュされ、バックグラウンドで分析サーバーによって管理されます。データ集計ツールを使用すると、さまざまな組み込みレポートやカスタム レポートをまとめることができます。
ソフトウェア コンポーネント
Edge Analytics は以下の要素で構成されます。
- Qpid。次の要素で構成されます。
- Apache Qpid メッセージング システム
- Apigee Qpid Server サービス - Apache Qpid の管理に使用される Apigee の Java サービス
- Postgres。次の要素で構成されます。
- PostgreSQL データベース
- Apigee Postgres Server サービス - PostgreSQL データベースの管理に使用される Apigee の Java サービス
Apigee API BaaS
API BaaS は、Edge に加えてインストールするモバイルアプリとウェブアプリを強化する、完全なバックエンド サービス(BaaS)です。API BaaS を使用すると、柔軟なデータストアや、ソーシャル グラフ、位置情報、ユーザー管理、プッシュ通知、パフォーマンス モニタリングなどの主要な差別化機能にアクセスできます。API BaaS は、iOS、Android、JavaScript などの SDK でこれらの機能を利用できるようにします。アプリ デベロッパーは、中核となるバックエンド サービスやインフラストラクチャの実装に時間を費やすことなく、クライアント アプリを真に差別化する豊富な機能やユーザー エクスペリエンスの作成に注力できます。
API BaaS 機能
Apigee のドキュメント サイトには、API BaaS 機能に関する豊富な情報が記載されています。http://apigee.com/docs/app-services/content/app-services-features をご覧ください。
次の図は、API BaaS コンポーネントがどのように相互作用するかを示しています。
ソフトウェア コンポーネント
API BaaS は次の主要コンポーネントから構成されています。
- API BaaS スタック - Tomcat ウェブサーバーにデプロイ
- API BaaS ポータル - Nginx ウェブサーバーにデプロイされた UI
- ElasticSearch - 分散型全文検索エンジン。ElasticSearch は API BaaS Stack と同じノードにインストールすることも、独自のノードにインストールすることもできます。
Tomcat サーバーを追加し、ロードバランサを使用してすべてのアクティブなサーバーにウェブ リクエストをルーティングすることで、API BaaS REST API 機能を水平方向にスケーリングできます。
API BaaS の開始方法の詳細については、http://apigee.com/docs/content/build-apps-home をご覧ください。
Apigee Edge デベロッパー チャネル
Edge デベロッパー チャンネルは、コンテンツとコミュニティを管理するためのテンプレート ポータルです。オープンソースの Drupal(http://www.drupal.org)プロジェクトに基づいています。デフォルトの設定では、API ドキュメント、フォーラム、ブログを作成、管理できます。組み込みのテスト コンソールを使用して、ポータル内からリアルタイムで API をテストできます。
デベロッパー チャンネルには、コンテンツ管理のほかにも、ユーザーの手動登録、自動登録、ユーザー コメントの管理など、コミュニティ管理に役立つさまざまな機能が用意されています。ロールベースのアクセス制御(RBAC)モデルは、デベロッパー チャンネルの機能へのアクセスを制御します。たとえば、登録ユーザーにフォーラムへの投稿やテスト コンソールの使用などを許可する制御を有効にできます。
Apigee Edge for Private Cloud のデプロイ スクリプトには、デベロッパー チャネルのデプロイは含まれていません。オンプレミスでのデベロッパー チャネルのデプロイは、独自のインストール スクリプトによってサポートされています。デベロッパー チャンネルをインストールして構成する場合は、Apigee のサポートにお問い合わせください。
Apigee Edge Monetization Services
Edge Monetization Services は、Apigee Edge for Private Cloud の強力な拡張機能です。API プロバイダとして、API から収益を得るには、API を収益化する簡単で柔軟な方法が必要です。Monetization Services を使用することで、これらの要件に対応できます。 Monetization Services を使用すると、パッケージにバンドルされた API の使用に対してデベロッパーに請求するさまざまな料金プランを作成できます。このソリューションは、前払いプラン、後払いプラン、定額プラン、変動料金プラン、「フリーミアム」プラン、特定のデベロッパーに合わせたプラン、デベロッパー グループを対象としたプランなど、幅広い柔軟性を提供します。
また、Monetization Services にはレポートと請求機能が備わっています。たとえば、API プロバイダは、デベロッパーが料金プランを購入した API パッケージへのトラフィックに関する概要レポートまたは詳細レポートを取得できます。これらのレコードは必要に応じて調整できます。また、API パッケージの使用に関する課金ドキュメント(適用される税金を含む)を作成し、それらのドキュメントをデベロッパーに公開できます。
API パッケージのパフォーマンスを管理およびモニタリングし、それに応じて対応できるように制限を設定することも可能です。また、制限に近づいた、または到達したときに自動通知を設定することもできます。
注: Monetization Apigee を使用するには、中核となる Apigee Edge(Gateway and Analytics)が前提条件となります。
Monetization Services の機能
Edge Monetization Services の主な特長は次のとおりです。
- API プラットフォームと完全に統合されているため、リアルタイムのインタラクションが可能
- シンプルな料金ベースのプランから最も複雑な課金/収益分配プランまで、あらゆるビジネスモデルを「すぐに使える」サポート(プランの作成、変更も簡単)
- 各トランザクション内でのボリューム、つまり「カスタム属性」に関するトランザクションを評価します。トランザクションは Gateway PLUS その他のシステム(Apigee Edge の外部)の API で構成できます。
- パフォーマンスのモニタリングとプロセスの管理のための上限や通知などの自動化ツール
- 請求/支払いによる購入を管理するための、デベロッパー/パートナー ワークフローと制御の統合
- ビジネス ユーザーとデベロッパー/パートナー向けの完全なセルフサービスであるため、技術的な費用をかけずに済む
- すべてのバックエンド販売、会計、ERP システムと統合
ソフトウェア コンポーネント
Edge Monetization Services は、
- エッジ管理サーバー
- Edge Message Processor
Edge UI を使用して Monetization Services を開始する方法の詳細については、http://apigee.com/docs/monetization-services/content/get-started-using-monetization-services をご覧ください。
オンプレミス デプロイメント
コア Apigee Edge for Private Cloud(Gateway and Analytics)のオンプレミス インストールにより、オンプレミス クライアントの顧客に代わって API トラフィックを実行するために必要なインフラストラクチャが提供されます。
Edge Gateway のオンプレミス インストールでは、次のようなコンポーネントが提供されます。
- Router は、ロードバランサからのすべての着信 API トラフィックを処理し、リクエストを処理する API プロキシの組織と環境を決定します。また、使用可能な Message Processor 間でリクエストのバランスをとり、リクエストを送信します。Router は HTTP リクエストを終了し、TLS/SSL トラフィックを処理します。仮想ホスト名、ポート、URI を使用して、適切な Message Processor にリクエストを転送します。
- Message Processor が API リクエストを処理します。Message Processor は受信リクエストを評価し、Apigee ポリシーを実行してバックエンド システムやその他のシステムを呼び出してデータを取得します。受信したレスポンスは、Message Processor によってフォーマットされ、クライアントに返されます。
- Apache Cassandra は、ゲートウェイで実行されているアプリケーションの構成、分散割り当てカウンタ、API キー、OAuth トークンを格納するランタイム データ リポジトリです。
- Apache ZooKeeper には、さまざまな Apigee コンポーネントの場所と構成に関する構成データが含まれ、異なるサーバーに構成の変更を通知します。
- システムと組織のユーザーとロールを管理する OpenLDAP(LDAP)。
- Management Server: これらのコンポーネントをまとめて保持します。Management Server は、Edge Management API リクエストのエンドポイントです。また、Edge UI ともやり取りします。
- UI はブラウザベースのツールを提供します。このツールを使用すると、API プロキシ、API プロダクト、アプリ、ユーザーの作成、構成、管理に必要なほとんどのタスクを実行できます。
Edge Analytics のオンプレミス インストールで提供されるコンポーネントには、次のようなものがあります。
- Qpid Server は、分析データ用のキューシステムを管理します。
- Postgres Server は PostgreSQL 分析データベースを管理します。
次の図は、Apigee Edge コンポーネント間の関係を示しています。