Apigee Edge と Apigee X の違い

Apigee Edge のドキュメントを表示しています。
Apigee X のドキュメントに移動
情報

このトピックでは、Apigee X(「Apigee」とも呼ばれる)と Apigee Edge の違いについて説明します。この情報は、Apigee X への移行を検討している既存の Apigee Edge のお客様を対象としています。

Apigee X の機能の詳細については、Apigee X の機能の概要をご覧ください。

次の表に、このトピックで比較されている Apigee API 管理プロダクトを示します。

プロダクト ホストされている場所 管理者
Apigee Edge for Public Cloud Apigee のクラウド Apigee
Apigee Edge for Private Cloud お客様のプライベート データセンター。 顧客
Apigee X Google Cloud Apigee
Apigee ハイブリッド Google Cloud とお客様のプライベート データセンターの両方 Apigee が管理プレーンを管理し、お客様がランタイム プレーンを管理します。

Apigee Edge と Apigee X の機能の比較

以降のセクションでは、Apigee Edge Public/Private Cloud の機能と Apigee X および Apigee Hybrid の機能を比較します。

Apigee X の上限Apigee Edge の上限とは異なります。

現在の機能に関する相違点の概要

次の表に、Apigee X(およびハイブリッド)と Apigee Edge for Public Cloud および Private Cloud プラットフォームとの機能レベルでの違いを示します。

Apigee Edge の機能 Apigee X とハイブリッドでのサポート
API プロキシ リビジョン

デプロイ時に変更不可

アクティブ ヘルスチェック 外部 MIG(VM を使用する)でサポートされています。Private Service Connect を使用する場合はサポートされていません。ルーティング タイプの詳細については、ルーティングを構成するをご覧ください。
Apigee Adapter for Istio 非推奨: 代わりに Apigee Adapter for Envoy を使用することをおすすめします。
企業 デベロッパー

類似のソリューションはありますが、同じではありません。AppGroups を使用してアプリのオーナー権限を整理するをご覧ください。

CwC(コードと構成)

計画済み

デプロイ
  • 非同期デプロイ
  • デプロイ ステータスの取得は、ランタイム プレーンが管理プレーンで最後に「チェックイン」された時刻に基づき行われます。
環境
  • 環境グループのサポート
  • Apigee の UI と API によるセルフサービス
  • トポロジを提供する際の柔軟性が高い
  • MP Pod は 1 つの環境のみを提供可能

詳細については、環境と環境グループについてをご覧ください。

Hosted Targets

Cloud Run または Cloud Functions を使用してください。

HTTP/1.1 ヘッダー フィールド名の処理 バックエンドへの転送時に、HTTP/1.1 ヘッダー フィールド名を小文字に変換します。Apigee Edge では、ヘッダー フィールド名の大文字と小文字が保持されます。
ロールベースのきめ細かなアクセス制御のための IAM ロール

計画済み

[@.length-x] を使用する JSONPath

JSONPath 式での [@.length-x] の使用は、Apigee X ではサポートされていません。JSONPath 仕様では、式は基盤となるスクリプト言語に依存すると規定されています。length-x は Java ではなく JavaScript のコンストラクトであり、[@.length-x] は仕様の一部として実装されていません。Apigee X では、式 [@.length-x] はインデックス スキーム([-x])に置き換えられています。

この例の場合、次の手順で作成します。

{
    "books": [
      {
        "name": "A",
      },
      {
        "name": "B",
      }
    ]
}

入力: $.books[@.length-1] は Apigee Edge で {“name”: “B”} を返し、Apigee X で [{“name”: “B”}] を返します。

キーストア / トラストストア

ノースバウンドは Kubernetes Secret として管理される

KVM
  • Apigee UI で、暗号化された環境スコープの KVM を作成できます。KVM は常に暗号化されます。UI で KVM エントリを追加、更新、表示することはできません。
  • デバッグ(Trace)セッションで KVM 情報を非表示にするには、GET コマンドですべての変数と一緒に private. 属性を使用します。private. 属性が使用されていない場合、KVM は暗号化されています。ただし、KVM 情報はデバッグ(Trace)セッションで復号され、例外はスローされません。
  • KVM エントリは、keyvaluemaps.entries API または KeyValueMapOperations ポリシーを使用して管理できます。
  • KVM と同じユースケースの一部で、プロパティ セットを使用できます。プロパティ セットの使用をご覧ください。
  • <MapName> 要素を使用すると、KeyValueMapOperations ポリシーが実行時に動的に使用する KVM を識別できます。

UI で KVM を作成する方法の詳細については、Key-Value マップの使用をご覧ください。適切なデータ永続性メカニズムの選択方法については、構成データへのアクセスをご覧ください。

Microgateway 代わりに Apigee Adapter for Envoy を使用することをおすすめします。
収益化 収益化との違いをご覧ください。
Node.js
  • Node.js API プロキシはサポートされていません。
  • Node.js アプリケーションは Kubernetes(同じクラスタまたは別のクラスタ)内の別のコンテナとしてホストすることをおすすめします。
ノースバウンド mTLS Google Cloud ロードバランサを介してサポートされます。外部アプリケーション ロードバランサを使用した Apigee X ノースバウンド相互 TLS をご覧ください。
OAuth 新しい Revoke OAuthv2 ポリシーは、エンドユーザー ID、アプリ ID、またはその両方によってトークンを取り消します。このポリシーは、Apigee Edge API に代わるもので、OAuth2 トークンを取り消します。
ポリシー
  • 新しいポリシー:
    • AssertCondition ポリシーは、リクエスト フローまたはレスポンス フローのランタイムで条件文を評価します。
    • CORS ポリシー: ウェブページ内で実行される JavaScript XMLHttpRequest(XHR)呼び出しが、オリジン以外のドメインのリソースとやり取りできるようにします。
    • DataCapture ポリシー: StatisticsCollector ポリシーに代わるものです。
    • ExternalCallout ポリシー: gRPC サーバーに gRPC リクエストを送信して、Apigee ポリシーでサポートされていないカスタム動作を実装します。
    • GraphQL ポリシー: GraphQL ペイロードを解析してメッセージ フロー変数にする、スキーマに対する GraphQL リクエストを検証する、またはその両方を行います。
    • PublishMessages ポリシー: API プロキシフロー情報を Google Cloud Pub/Sub トピックに公開します。
    • Revoke OAuthv2 ポリシー: ユーザー ID、アプリ ID、またはその両方によってトークンを取り消します。
    • TraceCapture ポリシー: Apigee ランタイムのトレースデータに変数を追加します。
  • ポリシーがサポートされていません:
    • StatisticsCollector ポリシー(新しい DataCapture ポリシーに置き換えられました)
  • 変更済みポリシー:
reasonPhrase サポートされていません。
リソース 組織レベルのリソースは使用できません。
ロールと権限
  • Google Cloud コンソールの IAM サービスを介して管理されます。
  • キュレートされた事前定義の役割がいくつか用意されています。
  • 他の Google Cloud 権限を含めることができるカスタムロールを作成できます。

詳細については、ユーザーとロールをご覧ください。

Sense Advanced API Security を使用する。
[Build a Proxy] ウィザードの SOAP サービス 非対応。Apigee と一緒に使用する SOAP ユーティリティを提供するオープンソース プロジェクト wsdl2apigee をご覧ください。
セッションのトレース / デバッグ Trace との相違点をご覧ください。
仮想ホスト

Apigee ハイブリッドの場合:

  • Ingress は Anthos Service Mesh を介して実装されます。
  • 鍵と証明書は Kubernetes に直接デプロイされます。

Apigee X の場合:

  • 各インスタンスは自己署名証明書を使用して HTTPS エンドポイントを公開します。証明書を照会すると、証明書の CA をダウンロードできます。

Trace との相違点

次の表は、Apigee X および Apigee ハイブリッドと Apigee Edge Cloud での動作の違いを示しています。

機能 Apigee Edge Cloud Apigee X とハイブリッド
適時性 リアルタイム、同期 わずかな遅延、非同期
セッション名 / ID ユーザーからセッション名を取得する ユーザーからセッション名を取得しない
フィルタ ヘッダーやクエリ パラメータのフィルタリングなど、基本的なフィルタのサポート 複雑なフィルタリング論理のサポート(AND 論理演算、OR 論理演算など)。任意のフロー変数(フロー変数のリファレンスを参照)へのアクセス。構文は、条件リファレンスにある条件と同じです。
セッション タイムアウト

デバッグ セッションの長さとデータの保持期間を定義します。

API 呼び出しで開始した場合のデフォルト値は 20 分、UI で開始した場合は 10 分です。

デバッグ セッションの長さのみを定義します。Message Processor がデバッグモードで実行するリクエストを受信したときが開始ポイントになります。

セッションが API で開始した場合のデフォルト値は 5 分、UI で開始した場合は 10 分です。

データは 24 時間保持された後、ハイブリッドによって自動的に削除されます。

セッションの有効性

セッション作成リクエストの有効期間。この時間内にデバッグ セッションが開始しない場合、Synchronizers はセッション作成リクエストを無視します。前提条件に記載されているように、Synchronizers のクロックを同期させてください。
トレースのリクエスト数 Message Processor あたり 20 まで Message Processor あたりのデフォルトは 10、最大値は 15 です。
API Apigee Edge Cloud Apigee X
Apigee X は Debug Session APIDebug Session Data API を公開していますが、Apigee X API 経由で以下の対象をサポートしていません。
デバッグ セッションの停止

 特定の トランザクションを削除する

収益化との違い

次の表に、Apigee Edge Monetization と Apigee X Monetization の主な機能の比較を示します。

Apigee Edge Monetization Apigee X/ハイブリッドの収益化
料金プランは、複数の API プロダクトに接続可能な API プロダクト バンドルに関連付けられます 料金プランは、API プロダクトに関連付けられます(1 対 1 の関係)
アプリ デベロッパーは、料金プランを購入します アプリ デベロッパーは、API プロダクトを購入します
割り当ては、API プロキシレベルで管理されます 割り当ては、API プロダクト レベル(ビジネスレベル)で管理されます
公開済みの料金プランは期限切れになる可能性のみがあり、編集または削除はできません 公開済みの料金プランは期限切れになる可能性があり、編集、下書きに移動、または削除ができます。
複雑な構成(ウィザードまたはプレビュー ツールは使用しない) ウィザードとプレビュー ツールを使用した、簡素化された構成の料金プラン
アプリ デベロッパーがサブスクリプションを購入していない場合、最初の API 呼び出しが処理された後に MonetizationLimitsCheck ポリシーによりアクセスがブロックされます。 アプリ デベロッパーがサブスクリプションを購入していない場合、または割り当てを超えている場合、MonetizationLimitsCheck ポリシーにより直ちにアクセスがブロックされます
Transaction Recording ポリシーでカスタム変数を使用して、トランザクションの収益化データをキャプチャできます。 Apigee は収益化データを自動的にキャプチャします。トランザクションの収益化データは、DataCapture ポリシーを使用してオーバーライドできます。詳しくは、収益化データをキャプチャするをご覧ください。
前払いアカウントと後払いアカウントは、デベロッパーと料金プランの両方に対して構成できます。 前払いアカウントと後払いアカウントは、デベロッパーに対してのみ構成できます。

Apigee X でサポートされていない Apigee Edge の機能

Google では、次の機能をサポートする予定はありません

  • Apigee Edge 拡張機能
  • OpenAPI 仕様ストア
  • OAuth アクセス トークンの検索または取り消しを行う API(トークンはハッシュ化されるため)
  • OAuth v1 または OAuth v1.0a ポリシー
  • Trireme(2019 年 10 月 10 日でサポート終了)
  • 接頭辞が「X-Apigee-」のヘッダーは Apigee X ではサポートされていません。ターゲットとクライアントに送信する前に、リクエストとレスポンスから削除されます。

API の比較

一般に、ほとんどの Apigee Edge API に同等の Apigee API があります。このセクションでは、次の情報を提供します。

API の使用に関する変更の概要

Apigee Edge API と比較した場合の、すべての Apigee X API における動作の変更点の一覧を以下に示します。

動作 Apigee Edge API Apigee X API
ベースドメイン api.enterprise.apigee.com apigee.googleapis.com
メディアの種類 application/json
application/xml
application/json
認証 OAuth2、SAML、Basic OAuth2
キーのタイムスタンプ int64 形式
{
  "createdAt": 1234,
  "lastModifiedAt": 5678
}
String 形式
{
  "createdAt": "1234",
  "lastModifiedAt": "5678"
}
expand=false クエリ パラメータの構造
[
        "helloworld",
        "weather"
      ]
{
  "proxies": [
    {
      "name": "helloworld"
    },
    {
      "name": "weather"
    }
  ]
}
先頭にアンダースコアが付いたクエリ パラメータ サポートされている(_optimal=true サポートされていない(optimal=true
ペイロード内の次のプロパティ:
  • created_by
  • modified_by
  • self
サポート対象 サポート対象外
ペイロード内のデフォルト値 含まれる 含まれていません
エラー処理の構造
{
        "code": "...",
        "message": "..",
        "contexts": []
      }
{
  "error": {
    "code": 409,
    "message": "...",
    "status": "ABORTED",
    "details": [...]
  }
}
キャッシュ削除のレスポンス 戻り値: 200 OK とキャッシュの詳細 戻り値: 204 No Content
Cache API オペレーション listcreategetupdatedeleteclear all、および clear の各オプション listdelete のみ。API プロキシをデプロイすると、有効期間の短い L1 キャッシュが自動的に作成されます。詳細については、キャッシュの仕組みをご覧ください。

Apigee Edge と Apigee X の指標 API の違い

API の使用に関する変更の概要では、Apigee Edge API と Apigee X API の一般的な相違点について記載しています。次の表に、指標 API に特有の違いを示します。

機能 Apigee Edge API Apigee X API
API エンドポイント api.enterprise.apigee.com apigee.googleapis.com
日次分析メール サポート対象の API が存在しない
Async Query List API 非同期分析クエリのリストを取得する userId プロパティはレスポンスから除外されます。メソッド: organizations.environments.queries.list をご覧ください。
カスタム レポート API Reports API createdBy プロパティと lastModifiedBy プロパティはレスポンスから削除されました。レポート API をご覧ください。

サポートされていない Apigee Edge API

次の表に、サポートされていない Apigee Edge API(同等の Apigee X API が存在しない)を示します。

API カテゴリ サポートされていない Apigee Edge API
API モニタリング サポート対象の API が存在しない
API プロキシ
  • API プロキシの強制的なデプロイ解除
  • npm の依存関係の取得
  • npm モジュールの管理
監査 Stackdriver Logging API を使用
キャッシュ保存されたログ API のサポートなし
カンパニー API のサポートなし
企業アプリ サポート対象の API が存在しない
企業アプリ ファミリー サポート対象の API が存在しない
企業アプリキー サポート対象の API が存在しない
デバッグ セッション
  • トレース セッションを停止できない
  • 個別のトランザクションを削除できない

詳細については、トレースとの相違点をご覧ください。

デベロッパー アプリ API リソースの数の取得
デベロッパー アプリ ファミリー サポート対象の API が存在しない
拡張機能 サポート対象の API が存在しない
キーストア: トラストストア キーストアまたはトラストストアのテスト
LDAP API のサポートなし
Monetization API のサポートなし
OAuth V2 API のサポートなし
ポリシー API のサポートなし
リソース ファイル
  • API プロキシ リビジョン スコープ
  • 組織スコープ
Sense API のサポートなし
ユーザーとユーザーロール API を使用したユーザー、ロール、権限の管理の説明に従って、Google Identity and Access Management(IAM)関連の API を使用します。
仮想ホスト サポート対象の API が存在しない

Apigee Edge for Private Cloud と Apigee ハイブリッド

次の表に、Apigee Edge for Private Cloud と Apigee ハイブリッドの比較を示します。

サービス Apigee プロダクトまたは機能領域
Apigee Edge for Private Cloud Apigee ハイブリッド
アナリティクス Qpid サーバーと Postgres サーバー ランタイム プレーンのデータ収集 Pod は、fluentdUDCA(Universal Data Collection Agent)を使用して分析情報を収集し、データを管理プレーンの UAP(統合アナリティクス プラットフォーム)に読み込みます。
API プロキシ ゲートウェイ Message Processor Message Processor(MP)が受信リクエストを処理します。MP は、ランタイム プレーンで 1 つ以上のコンテナ化アプリとして実装されています。
永続性 Cassandra ノードまたはリング Cassandra が、KMS、KVM、割り当て、キャッシュ機能のための永続性(データストア)を提供します。
デプロイ ZooKeeper Synchronizer により、管理プレーンとランタイム プレーンの間で API プロキシ構成、環境情報、その他のデータが最新の状態に保たれます。
管理ユーザー インターフェース Apigee Edge UI は Management Server でホストされます。 Apigee UI は管理プレーンでホストされます。
負荷分散 ルーター Istio Ingress コントローラが、ランタイム プレーンの Message Processor(MP)コンテナ化アプリにリクエストを渡します。
API 管理サーバー Apigee X API には Management ServerMART を介してアクセスします。MART はローカル Cassandra データストアとインタラクションして、Apigee X API の API プロバイダとして機能し、ランタイム データ エンティティにアクセスして管理します。
指標 JMX で構成された各コンポーネント すべてのサービスに対応する単一の Prometheus サーバーがクラスタごとに存在し、このサーバーによって管理されます。