このページの内容は Apigee と Apigee ハイブリッドに該当します。
Apigee Edge のドキュメントを表示する。
Apigee Adapter for Envoy とは
Apigee Adapter for Envoy は、Apigee が管理する API ゲートウェイで、Envoy を使用して API トラフィックをプロキシします。Envoy は、よく使われているオープンソースのエッジおよびサービス プロキシで、クラウドネイティブ アプリケーション用に設計されています。Apigee Adapter for Envoy は、オンプレミスまたはマルチクラウド環境で実行できます。
Apigee Adapter for Envoy を使用することで、バックエンド アプリケーションの近くで実行する比較的小さいフットプリントの API ゲートウェイ アプリケーションを実現します。Apigee Adapter for Envoy は、次の目的で Apigee を使用します。
- API の認証と認可(API キーと OAuth を使用)
- 割り当て管理
- API 分析
動画を視聴する
この動画では、Google Cloud の Apigee Adapter for Envoy の概要とデモについて説明します。
この動画では、サービス メッシュで Apigee Adapter for Envoy を使用することについて説明します。
インストール オプション
Apigee Adapter for Envoy は、次のように使用できます。
- Apigee ハイブリッドと統合された Istio サービス メッシュにデプロイされたサービスとして。Apigee ハイブリッドでの Apigee Adapter for Envoy の使用をご覧ください。
Apigee Adapter for Envoy
次の図は、Apigee Adapter for Envoy の構成概要を示したものです。このアーキテクチャは、Google Cloud Platform(GCP)にデプロイされた管理プレーン コンポーネントと、オンプレミスまたはクラウド プロバイダ環境で、リモートで動作しているデータプレーン コンポーネントから構成されています。データプレーンには、Envoy プロキシと Apigee Remote Service が含まれています。図の後に各コンポーネントの役割を示します。
- コンシューマ アプリやクライアント アプリは、Envoy プロキシによって公開された API エンドポイントにアクセスします。
- Envoy プロキシは、セキュリティ コンテキストを(HTTP ヘッダーを使用して)Apigee Remote Service に渡します。Apigee Remote Service は、ポリシー決定点(PDP)として機能し、Envoy がリクエストによる API コンシューマへのアクセスを許可または拒否するように通知します。
- 呼び出しが許可された場合、リクエストは Envoy プロキシによってバックエンドに転送されます。
- Apigee Remote Service は、管理プレーンを非同期的にポーリングし、運用に必要なプロキシ、API プロダクト、その他の構成をダウンロードします。
Apigee Adapter for Envoy を使用する理由
API 管理コンポーネントをバックエンド ターゲット アプリケーションの近くに移動すると、ネットワークのレイテンシを短縮できます。Apigee ハイブリッド オンプレミスはプライベート データセンターにインストールできますが、Apigee ハイブリッドをすべてデプロイすると、全機能一式とキー管理、収益化、分析などのデータ量の多い機能のサポートが必然的に大きく複雑になります。つまり、各データセンターに Apigee ハイブリッド オンプレミスをデプロイすることは必ずしも望ましくありません。
Apigee Adapter for Envoy を使用すると、次のメリットがあります。
-
近接して実行されるサービスに対する API トラフィックのレイテンシが短縮される。
- フルスイートの Apigee Analytics (指標、ダッシュボード、API)の使用。
- セキュリティやコンプライアンス目的で企業が承認した境界内に API トラフィックを留める。
- Apigee との非同期通信により、レイテンシに影響を与えることなく API トラフィック データをキャプチャして Apigee に送信できる。
- 管理プレーンとの一時的な通信中断を許容できる。ただし、時間が経つと、通信中断によって機能が失われることがあります。Apigee Adapter for Envoy では、次の場合に、管理プレーンとの通信が必要になります。
- OAuth トークンの生成
- API キーの検証(最初の検証には接続が必要ですが、その後はキャッシュに保存されます)
- 割り当ての適用
- 分析データの管理プレーンへの送信