注: このプロダクトの一部の機能はベータ版です。ハイブリッド インストール オプションは一般提供です。ベータ版プログラムに参加するには、Apigee の担当者にお問い合わせください。

Apigee ハイブリッドとは

デプロイのスタイル イメージ

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

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

Apigee ハイブリッドは、Google Cloud Platform を使用して内部 API と外部の API を管理できます。

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

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

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

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

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

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

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

 

ハイブリッドのより多くを学びたい場合:

詳細を読む

 

 

ハイブリッドのインストールの準備ができている場合:

開始する

 

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

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

管理プレーン、ランタイム プレーン、GCP サービスなどのハイブリッド プラットフォームの高レベルのビュー

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

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

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

  • Google Cloud Platform: 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 は、ランタイム プレーンに Core Persistence Services(CPS)を提供するランタイム データストアです。

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 を呼び出すには、認証済みリクエストを管理プレーンの Management Server(MS)に送信します。MS はリクエストを認証して認可してから、ランタイム プレーンの MART にリクエストを転送します。MS が事前構成されたサービス アカウントを使用して生成したトークンが、そのリクエストに添付されます。

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

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

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

MART ではないこと

MART がポートをパブリック クラウドに公開しても、MART を直接呼び出すことはありません(MART がサービス アカウント経由で MS からの呼び出しを受け取れるように、ポートは公開される必要があります)。

さらに、MART はお客様から API プロキシへのランタイム呼び出しを受け取りません。これらの呼び出しは Ingress コントローラによって処理され、クラスタの Message Processor にルーティングされます。

 

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

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

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

UDCA

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

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

管理プレーンの概要

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

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

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

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

GCP サービスについて

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

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

ユーザーの種類

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

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

メリット

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

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

次のステップ

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