Apigee ハイブリッドとは

デプロイの定型化イメージ

Apigee ハイブリッドは、ハイブリッド デプロイモデルを備える API プロキシを開発、管理するためのプラットフォームです。ハイブリッド モデルには、クラウドで Apigee がホストする管理プレーンと、サポートされている Kubernetes プラットフォームのいずれか 1 つにインストールして管理するランタイム プレーンがあります。

すべての API を 1 つのプレーンで管理する

Apigee ハイブリッドは、Google Cloud を使用した内部 API と外部 API の管理を支援します。

統合された API 管理により、デベロッパー、パートナー、お客様に一貫性のある API プログラム エクスペリエンスを提供できます。

セキュリティとコンプライアンスに対処

コンプライアンスとセキュリティの観点から、アプリケーションをオンプレミスにデプロイする必要がある場合は、エンタープライズ グレードのハイブリッド ゲートウェイを使用することにより、オンプレミスで Apigee ハイブリッド ランタイム プレーンをホストして管理できます。

ランタイムを管理して制御することで、既存のコンプライアンス、ガバナンス、セキュリティのインフラストラクチャを利用できます。

マルチクラウド戦略をサポート

コストとパフォーマンスのバランスを取ることにより、ハイブリッド戦略につながる場合があります。

さまざまなクラウド プロバイダを検討している段階でも、すでにハイブリッド戦略を選択済みの場合でも、API 管理プラットフォームには、必要としている柔軟性が用意されています。データセンター、Google Cloud、またはその両方で、エンタープライズ グレードのハイブリッド ゲートウェイをホストして管理します。

 

ハイブリッドの詳細をご覧ください。

詳細を読む

 

 

ハイブリッドをインストールするには:

始める

 

ハイブリッド世界での API プログラム

Apigee ハイブリッドは、Google が管理する管理プレーンと、サポートされている Kubernetes プラットフォーム上にインストールするランタイム プレーンで構成されています。次の画像が示すように、両方のプレーンは Google Cloud Platform サービスを使用します。

管理プレーン、ランタイム プレーン、Google Cloud サービスを含めたハイブリッド プラットフォームの概要

ご覧のように、ハイブリッドは次の主要コンポーネントで構成されています。

  • Apigee が実行する管理プレーン: クラウドでホストされ、Google が維持する一連のサービス。これらのサービスには、UI、Management API、分析が含まれます。
  • お客様管理のランタイム プレーン: 独自の Kubernetes クラスタでお客様が設定および維持を行う、コンテナ化された一連のランタイム サービス。すべての API トラフィックは、ランタイム プレーンを通過し、その中で処理されます。

    段階的な公開、自動スケーリング、その他の運用上のメリットにより、アジリティを高めるために Kubernetes クラスタでコンテナ化されたランタイムを管理します。

  • Google Cloud: Google がホストする一連のクラウド サービスです。

ハイブリッドについて知っておくべき重要なことの 1 つは、すべての API トラフィックがネットワークの境界線の内側でお役様の管理下で処理される一方で、UI や API 分析などの管理サービスはクラウドで実行され、Google が維持することです。詳しくは、データはどこに保存されますか?をご覧ください。

次の動画では、ハイブリッド アーキテクチャについて詳しく解説します。

ランタイム プレーンの概要

ランタイム プレーンは、サポートされている Kubernetes プラットフォームで動作する独自の Kubernetes クラスタでお客様が設定と維持を行う、コンテナ化された一連のランタイム サービスです。すべての API トラフィックは、ランタイム プレーンを通過し、その中で処理されます。ランタイム プレーンには次の主要コンポーネントが含まれている。

ランタイム プレーンは、お客様が維持するサポートされている Kubernetes プラットフォームで実行されている Kubernetes クラスタで実行されます。

次の画像は、ランタイム プレーンで実行される主要なサービスを示しています。

ハイブリッド ランタイム プレーンで実行される主要なサービス

ランタイム コンポーネントに関する一般情報については、以降のセクションをご覧ください。さらに、ランタイム サービス構成の概要もご覧ください。

以降のセクションでは、これらの主なランタイム プレーン サービスについてそれぞれ詳しく説明します。

Message Processor

ハイブリッド Message Processor(MP)では、ランタイム プレーンで API リクエストの処理とポリシーの実行を行います。MP は、デプロイされたプロキシ、リソース、ターゲット サーバー、証明書、キーストアのすべてをローカル ストレージから読み込みます。クラスタ外部からのリクエストに対して MP を公開するように Istio Ingress コントローラを構成します。

Synchronizer

Synchronizer は、管理プレーンから API 環境に関する構成データを取得し、ランタイム プレーンにわたって配布します。ダウンロードしたデータはコントラクトとも呼ばれ、ローカルのファイル システムに保存されます。

Synchronizer は変更について定期的に Management Server にポーリングし、変更が検出されるたびに新しい構成をダウンロードします。構成データは取得され、Message Processor がアクセスできるローカルのファイル システムに JSON ファイルとして保存されます。

ダウンロードした構成データにより、ランタイム プレーンは管理プレーンから独立して機能します。契約により、ランタイム プレーン上の Message Processor では、ローカルに保存されたデータを構成として使用します。管理プレーンとランタイム プレーン間の接続がダウンしても、ランタイム プレーン上のサービスは引き続き機能します。

Synchronizer によってダウンロードされる構成データには、次のものが含まれます。

Cassandra データストア

Apache Cassandra は、ランタイム プレーンに向けてデータ永続性を提供するランタイム データストアです。

Cassandra は、ランタイム プレーンでデータの永続性を実現する分散データシステムです。Cassandra データベースを StatefulSet ノードプールとして Kubernetes クラスタにデプロイします。これらのエンティティをランタイム処理サービスの近くに配置すると、セキュリティと高スケーラビリティの要件に対応できます。

Cassandra データベースには、次のエンティティに関する情報が保存されます。

  • 鍵管理システム(KMS)
  • Key-Value マップ(KVM)
  • Response cache
  • OAuth
  • 割り当て

Management API for Runtime data(MART)

組織に属していて、ランタイム API 呼び出し時にアクセスされるデータは、Cassandra によってランタイム プレーンに保存されます。

このデータには以下が含まれます。

  • アプリケーションの構成
  • 鍵管理システム(KMS)データ
  • キャッシュ
  • Key-Value マップ(KVM)
  • API プロダクト
  • デベロッパー アプリ

Apigee ハイブリッド UI または Apigee API を使用して、データにアクセス、更新する(たとえば、新しい KVM を追加する、環境を削除する)ことができます。MART サーバー(Management API for Runtime data)は、ランタイム データストアに対する API 呼び出しを処理します。

このセクションでは、Apigee API を呼び出してランタイム データストアにアクセスするときに MART が果たすロールについて説明します。

 
MART が行うこと

Apigee API を呼び出すには、認証済みリクエストを管理プレーンの管理サーバー(MS)に送信します。MS はリクエストを認証および認可し、ランタイム プレーンの MART に転送します。事前構成されたサービス アカウントを使用して、MS により生成されたトークンがそのリクエストに添付されます。

MART はリクエストを受信し、それを認証、認可してから、ビジネス検証を実行します。(たとえば、アプリが API プロダクトの一部である場合、MART はそれが有効なリクエストであることを確認します。)リクエストが有効であると判断してから、MART はそれを処理します。

Cassandra は、MART が処理するランタイム データを格納します(すなわち、ランタイム データストアです)。MART は、リクエストの種類に応じて、Cassandra からデータを読み取るか、データを更新します。

ほとんどのハイブリッド サービスと同様、MART はステートレスです。ランタイムでは独自の状態を保持しません。

MART ではないこと

管理プレーンは、Apigee Connect エージェントのロールを持つサービス アカウント(多くのインストールでは MART サービス アカウント)を介して MART と通信します。MART を直接呼び出すことはありません。

さらに、MART は API プロキシ リクエストを受信しません。それらの呼び出しは、ランタイム Ingress コントローラによって処理され、クラスタの Message Processor にルーティングされます。

 

MART と Message Processors は両方とも同じランタイム データストア(Cassandra)にアクセスできます。これにより、KMS、KVM、キャッシュなどのデータが共有されるので注意してください。

次の図は、Apigee の API 呼び出しのフローを示しています。

ハイブリッドの API 呼び出しのフロー

UDCA

Universal Data Collection Agent(UDCA)は、分析、トレース、デプロイのステータス データを抽出して UAP に送信する、ランタイム プレーンのデータ収集 Pod 内で実行されるサービスです。

詳細については、トレース、分析、デプロイのステータス データの収集をご覧ください。

管理プレーンの概要

管理プレーンは Google Cloud で実行されます。次のような管理サービスがあります。

  • Apigee ハイブリッド UI: API プロキシの作成とデプロイ、ポリシーの構成、API プロダクトの作成、デベロッパー アプリの作成を行うための UI をデベロッパーに提供します。管理者は Apigee ハイブリッド UI を使用して、デプロイのステータスをモニタリングできます。
  • Apigee API: 組織と環境を管理するためのプログラマティック インターフェースを提供します。
  • 統合分析プラットフォーム(UAP): ランタイム プレーンから分析とデプロイのステータス データを受信して処理します。

次の画像は、管理プレーンで実行される主要なサービスを示しています。

Apigee ハイブリッド管理プレーンで実行されるサービス

Google Cloud サービスについて

次の表は、ハイブリッドで使用する主要な Google Cloud サービスを示したものです。

Google Cloud サービス 説明
ID ユーザー アカウント認証では、Google Cloud アカウントが使用されます。認可では、Google Cloud サービス アカウントが使用されます。
役割 ハイブリッドのアクセス管理では、Google のロール エンジンである IAM を使用し、デフォルトの Apigee のロールをサポートします。
リソース階層 リソースは、Google Cloud プロジェクトにまとめられ、Apigee の組織にリンクされます。
Cloud Monitoring ロギングと指標データ分析を行います。
 

ユーザーの種類

Apigee では、ハイブリッドのユーザーの主な種類を、次のように特定しています。

役割 一般的な責任 / タスク 関連の分野
システム管理者 / オペレーター
  • ハイブリッドのランタイム プレーンへのサービスのインストールと構成
  • Google Cloud、Apigee、サービス アカウントの設定
  • Google Cloud サービスとプロジェクトの作成
  • Kubernetes クラスタの管理
  • 上記のすべてを維持する
  • API プロキシのトラブルシューティング
デベロッパー
  • Apigee ハイブリッド UI または Apigee API を使用した API プロキシの構築
  • API プロキシのランタイム プレーンへのデプロイ
  • API プロキシのトラブルシューティング
  • API プロキシをテストする
 

利点

Apigee ハイブリッドには次のようなメリットがあります。

アジリティの向上
ハイブリッドはコンテナで配信されて実行されるため、コンテナ化されたシステムの段階的な公開、自動スケーリング、その他の運用上のメリットを実現できます。
レイテンシの削減
ハイブリッド管理プレーンとの通信はすべて非同期で、クライアント API リクエストの処理の一部として行われるものではありません。
API 採用の増加
Apigee を使用して内部 API を処理することは可能ですが、ハイブリッドを使用するとレイテンシの短縮と効率性が達成できるため、ハイブリッドによる内部 API の処理が魅力的な選択肢となります。この効率性の一部は、API ゲートウェイがバックエンド サービスのすぐそばでオンプレミスで実行されるために達成されます。また、Apigee を使用している場合は、内部 API をハイブリッドで処理することで、Apigee の採用も増やせます。
より詳細な管理
多くの企業がハイブリッド戦略に乗り出しています。プライベート データセンターにデプロイされた API ランタイムを管理する能力は、大企業にとって重要な要件です。現在、ハイブリッド ランタイム プレーンは Google Cloud またはご利用のデータセンターにデプロイできます。

次のステップ

ハイブリッド インストール プロセスの概要については、全体的な方針をご覧ください。