Apigee ハイブリッドとは

デプロイのイメージ図

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

すべての 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 にポーリングし、変更が検出されるたびに新しい構成をダウンロードします。構成データが取得され、JSON ファイルとして Message Processor がアクセスできるローカル ファイル システム上に保存されます。

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

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

Cassandra データストア

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

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

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

  • 鍵管理システム(KMS)
  • Key-Value マップ(KVM)
  • レスポンス キャッシュ
  • OAuth
  • 割り当て

Management API for Runtime データ(MART)

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

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

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

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

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

 
MART が行うこと

Apigee API を呼び出すには、認証済みリクエストを管理プレーンの Management Server(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)は、ランタイム プレーンのデータ収集 Pod 内で実行されるサービスです。UDCA は分析、トレース、デプロイのステータス データを抽出して UAP に送信します。

詳細については、デバッグ、アナリティクスとデプロイのステータス データの収集をご覧ください。

管理プレーンについて

管理プレーンは Google Cloud Platform 上で動作します。次のような管理サービスがあります。

  • 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 Operations ロギングと指標データの分析を行います。
 

ユーザーの種類

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 またはご利用のデータセンターにデプロイできます。

次のステップ

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