このページの内容は Apigee と Apigee ハイブリッドに該当します。
Apigee Edge のドキュメントを表示します。
このページには、2021 年までのすべての Apigee Adapter for Envoy ソフトウェアのリリースノートが記載されています。
最新(2022 年以降)のリリースノートについては、Adapter for Envoy をご覧ください。
v2.0.4
2021 年 12 月 3 日に、Apigee Adapter for Envoy のバージョン 2.0.4 をリリースしました。
機能と改善点
- CLI
samples
コマンドに対応している Envoy と Istio のバージョンのリストが更新されました。現在、samples に対応しているバージョンは次のとおりです。- Envoy バージョン 1.18~1.20
- Istio バージョン 1.10~1.12
修正した問題
- 混乱を避けるために、PEM ブロックの秘密鍵の読み込みに nil チェックが追加されました(問題 #360)。
- リモート サービスの認証エラーがデバッグレベルでログに記録されるようになりました。API キーのトークン取得エラーは例外です。この場合、エラーはエラーレベルでログ記録されるため、
apigee-remote-service-envoy
のデバッグログ レベルが無効になっていても表示されます。リモート サービスログ レベルの設定をご覧ください(問題 #104)。
v2.0.3
2021 年 9 月 21 日に、Apigee Adapter for Envoy のバージョン 2.0.3 をリリースしました。
修正した問題
- 直接のレスポンスに関するアナリティクス ロギングの問題を修正しました。この問題は、特定の状況下でのみ発生します。次に例を示します。
- authn/z チェックが不要のリクエストでは、
authContext
は生成されず、動的メタデータは nil になり、アクセス ログエントリは無視されます。 - 拒否されたレスポンスは HTTP コードではなく RPC コードを使用しているため、レコードが Apigee UI に成功として表示されます。
- authn/z チェックが不要のリクエストでは、
v2.0.2
2021 年 6 月 7 日に、Apigee Adapter for Envoy のバージョン 2.0.2 をリリースしました。
修正した問題
- JWT クレーム スコープが nil のときに 403 エラーが発生して混乱を招く可能性のある競合状態を修正しました。
v2.0.1
2021 年 4 月 29 日(火曜日)に、Apigee Adapter for Envoy のバージョン 2.0.1 をリリースしました。
修正した問題
機能 | 説明 |
---|---|
バグ |
Apigee ハイブリッド v1.5.0 または Apigee とともに使用すると、v2.0.0 が機能しなくなる問題を修正しました。Apigee ハイブリッド インストールを v1.5.x にアップグレードする場合、推奨されるアダプターのアップグレード パスは次のとおりです。
Apigee を使用している場合は、アダプターを v2.0.1 にアップグレードするだけです。 |
v2.0.0
2021 年 4 月 6 日(火曜日)に、Apigee Adapter for Envoy のバージョン 2.0.0 をリリースしました。
機能と改善点
機能 | 説明 |
---|---|
マルチテナント環境のサポート | アダプターを有効にして、Apigee 組織内の複数の環境にサービスを提供できるようになりました。この機能を使用すると、1 つの Apigee 組織に関連付けられた 1 つの Apigee Adapter for Envoy を使用して複数の環境にサービスを提供できます。以前は、1 つのアダプターが常に 1 つの Apigee 環境に関連付けられていました。この機能の詳細については、マルチテナント環境のサポートをご覧ください。 |
Envoy v3 API のサポート | |
Envoy メタデータのサポート |
Envoy 1.16 移行では、ヘッダーを使用せずに この機能は、Envoy 1.16 以降と Istio 1.9 以降でのみサポートされています。
この変更により、次の構成が Envoy 構成ファイル( additional_request_headers_to_log: - x-apigee-accesstoken - x-apigee-api - x-apigee-apiproducts - x-apigee-application - x-apigee-clientid - x-apigee-developeremail - x-apigee-environment 特殊なケースのリクエストにヘッダーを追加するには、アダプターの |
remote-token プロキシを remote-service プロキシから分割 |
remote-service プロキシが 2 つの別個のプロキシにリファクタリングされました。v2.0.x のプロビジョニングでは、remote-service と remote-token の 2 つの API プロキシがインストールされます。
この変更により、機能が分離されて使いやすくなりました。現在、remote-service プロキシはアダプターの内部通信にのみ使用されますが、remote-token プロキシはカスタマイズ可能なサンプル OAuth ワークフローを提供します。 |
データ キャプチャのサポート | アダプターでは、Envoy メタデータを Apigee のデータ キャプチャ機能に渡すことができます。これにより、指定した変数でキャプチャされたデータが、カスタム レポートで使用するために Apigee アナリティクスに送信されます。この機能は、Apigee データ キャプチャ ポリシーに似た機能を提供します。この機能の詳細については、カスタム レポート用のデータのキャプチャをご覧ください。 |
RBAC は不要 | 前述の Envoy メタデータのサポートで説明されているとおり、別個の RBAC フィルタを必要とせずに未承認のリクエストをすぐに拒否できるようになりました。RBAC が使用されないため、クライアントはアダプターから必要に応じて次の HTTP ステータス コードを受け取ります。
未承認のリクエストを続行するには、アダプターの |
x-apigee-* ヘッダーはデフォルトで追加されなくなった |
前述の Envoy メタデータのサポート セクションで説明したように、 |
リクエストと Apigee API プロダクト オペレーションのカスタム マッチング |
Envoy メタデータを使用してこのヘッダー値をオーバーライドするには、Envoy から typed_per_filter_config: envoy.filters.http.ext_authz: "@type": type.googleapis.com/envoy.extensions.filters.http.ext_authz.v3.ExtAuthzPerRoute check_settings: context_extensions: apigee_api: httpbin.org |
拒否されたリクエストの分析がすぐにログに記録される | Envoy Adapter では、拒否されたリクエストがアクセスログに返されるのを待たずに、必要に応じてすぐにそのリクエストを分析のために記録するようになりました。この方法はより効率的であり、メタデータをリクエストにアタッチする必要はありません。 |
UDCA のサポート終了 | Apigee ハイブリッドと Apigee での Apigee の Universal Data Collection Agent(UDCA)へのストリーミングは、直接アップロードに置き換えられたため分析には必要なくなりました。この変更によって、このオプションの従来のサポートが削除されます。 |
プロビジョニング / バインディング CLI コマンドで Edge for Private Cloud に mTLS サポートを追加 |
Apigee Edge for Private Cloud のユーザーは、CLI を使用してプロダクト バインディングをプロビジョニングまたは一覧表示する際に、クライアント側の TLS 証明書とルート証明書をそれぞれ |
アダプターと Apigee ランタイム間の mTLS サポート |
アダプターと Apigee ランタイムの間で mTLS を使用するために、アダプターの |
その他の問題と修正
- 同じ API ソースを持つ複数のオペレーション構成が同じ割り当てバケット ID を共有して、割り当ての計算で競合が発生する問題を修正しました(問題 #34)。
- 動詞が指定されていないオペレーションによりリクエストが拒否される問題を修正しました(動詞が指定されていない場合はすべての動詞を許可する動作が想定されています)(問題 #39)。
v1.4.0
2020 年 12 月 16 日(水)に、Apigee Adapter for Envoy のバージョン 1.4.0 をリリースしました。
対応プラットフォーム
MacOS、Linux、Windows のバイナリを公開しています。
Google の distroless、Ubuntu、BoringCrypto を使用する Ubuntu の Docker イメージを公開しています。
このバージョンでは、次のプラットフォームをサポートしています。
- Apigee ハイブリッド バージョン 1.3.x、1.4.x(リリース日は保留中)、Apigee for Public Cloud、Apigee for Private Cloud、Apigee on Google Cloud
- Istio バージョン 1.5、1.6、1.7、1.8
- Envoy バージョン 1.14、1.15、1.16
機能と改善点
機能 | 説明 |
---|---|
remote-service プロキシでは、リモート サービス ターゲットを使用する API プロダクトとの関連付けが不要になりました。 |
この関連付けが不要になったため、次の変更点に注意してください。
|
Apigee 組織管理者ロールがプロビジョニングに不要になりました。 |
プロビジョニングに組織管理者権限を使用するのではなく、IAM ロールの API 作成者とデプロイ担当者を使用できるようになりました。正常にプロビジョニングするには、両方のロールを付与する必要があります |
その他の問題と修正
--rotate
オプションを指定せずに Apigee を再プロビジョニングするとエラーで終了する問題を修正しました。- プロビジョニング CLI で、特定の
config.yaml
ファイルから分析サービス アカウントの認証情報を読み取って再利用できるようになりました(問題 #133)。
v1.3.0
2020 年 11 月 23 日(月曜日)に、Apigee Adapter for Envoy のバージョン 1.3.0 をリリースしました。
対応プラットフォーム
MacOS、Linux、Windows のバイナリを公開しています。
Google の distroless、Ubuntu、BoringCrypto を使用する Ubuntu の Docker イメージを公開しています。
このバージョンでは、次のプラットフォームをサポートしています。
- Apigee ハイブリッド バージョン 1.3.x、1.4.x(リリース日は保留中)、Apigee for Public Cloud、Apigee for Private Cloud、Apigee on Google Cloud
- Istio バージョン 1.5、1.6、1.7、1.8
- Envoy バージョン 1.14、1.15、1.16
機能と改善点
機能 | 説明 |
---|---|
API プロダクト OperationGroups のサポート | OperationGroups は、HTTP メソッドを使用して、プロキシまたはリモート サービスのリソースと関連する割り当ての適用をバインドします。詳細については、OperationGroup をご覧ください。 (Apigee on Google Cloud と Apigee ハイブリッドにのみ適用) |
サンプル生成から動的転送プロキシのサポートを削除 | この変更により、API プロダクトで設定されているリモート サービス ターゲット ホストとホスト名が異なる場合、クライアントは HOST ヘッダーを含める必要があります。次に例を示します。curl -i http://localhost:8080/httpbin/headers -H "HOST:httpbin.org" API プロダクトを作成するをご覧ください。 |
サービス アカウントと Workload Identity のサポート | Apigee ハイブリッド クラスタの外部でアダプターを実行するときに分析データを Apigee にアップロードできるようにするには、apigee-remote-service-cli provision コマンドで analytics-sa パラメータを使用する必要があります。また、アダプターが Google Kubernetes Engine(GKE)の Workload Identity もサポートするようになりました。プロビジョニング コマンドをご覧ください。(Apigee on Google Cloud と Apigee ハイブリッドにのみ適用) |
新しい jwt_provider_key 構成属性 |
このキーは構成ファイルに追加されます。Envoy 構成では JWT プロバイダの payload_in_metadata キー、Istio 構成では RequestAuthentication JWT の発行元を表します。 |
KeepAliveMaxConnectionAge 構成属性のデフォルトが 1 分になりました。 |
以前のデフォルトは 10 分でした。この変更により、よりスムーズなスケーリングが可能になります。この値は、アクセスログ ストリームの存続期間にも使用されます。構成ファイルをご覧ください。 |
CLI コマンドが削除されました。 | 次の CLI コマンドは非推奨になりました。API プロダクトのリモート サービス ターゲットを更新する場合は、代わりに Apigee API を使用することをおすすめします。
|
新しい CLI コマンドの追加 | コマンド:apigee-remote-service-cli samples templates
|
既存の CLI コマンドが変更されました。 | apigee-remote-service-cli samples create コマンドが変更されました。Envoy テンプレートや Istio テンプレートに固有のフラグは厳密にチェックされ、誤って使用されたフラグではエラーが返されます。native テンプレート オプションは非推奨です。使用可能なテンプレートのリストを取得するには、apigee-remote-service-cli samples templates コマンドを使用します。CLI リファレンスもご覧ください。 |
/token エンドポイント レスポンスが OAuth2 仕様を遵守するようになりました。 |
レスポンスに access_token パラメータが追加され、token パラメータが非推奨になりました。 |
v1.2.0
2020 年 9 月 30 日(水曜日)に、Apigee Adapter for Envoy のバージョン 1.2.0 をリリースしました。
対応プラットフォーム
MacOS、Linux、Windows のバイナリを公開しています。
Google の distroless、Ubuntu、BoringCrypto を使用する Ubuntu の Docker イメージを公開しています。
このバージョンでは、次のプラットフォームをサポートしています。
- Apigee ハイブリッド バージョン 1.3.x
- Istio バージョン 1.5、1.6、1.7
- Envoy バージョン 1.14、1.15
機能と改善点
機能 | 説明 |
---|---|
Apigee on Google Cloud のサポート | Apigee on Google Cloud で Apigee Adapter for Envoy を使用できるようになりました。独自のクラスタでアダプターを実行することも、ネイティブ バイナリとしてまたはコンテナ内で Remote Service for Envoy を実行することでアダプターを実行することもできます。プロビジョニング コマンドを使用して、Apigee にアダプターをプロビジョニングします。 |
分析データの直接アップロード | Apigee に分析データを直接アップロードするように Apigee Adapter を構成できるようになりました。Apigee ハイブリッドを使用している場合、この新機能によって、Apigee ハイブリッドがインストールされているクラスタの外部で Kubernetes クラスタにアダプターをデプロイできます。直接アップロードを有効にするには、provision コマンドで新しい --analytics-sa フラグを使用します。プロビジョニング コマンドをご覧ください。 |
API プロダクト データが Apigee から読み込まれた後に、ヘルスチェックから「Ready」が返される | API プロダクト データが Apigee から読み込まれるまで、Kubernetes ヘルスチェックから「Ready」は返されません。この変更により、準備ができるまでは新しくインスタンス化されたアダプターにトラフィックが送信されないため、スケーリングとアップグレードに役立ちます。 |
その他の問題と修正
- 潜在的な割り当て同期のデッドロックの問題が修正されました(問題 #17)。
- Prometheus のアノテーションが Pod の仕様に移動されました(問題 #69)。
- 不適切に表示される確認エラーの問題が修正されました(問題 #62)。
v1.1.0
2020 年 8 月 26 日(水曜日)に、Apigee Adapter for Envoy のバージョン 1.1.0 をリリースしました。
対応プラットフォーム
MacOS、Linux、Windows のバイナリを公開しています。
Google の distroless、Ubuntu、BoringCrypto を使用する Ubuntu の Docker イメージを公開しています。
バージョン 1.1.0 では、次のプラットフォームをサポートしています。
- Apigee ハイブリッド バージョン 1.3
- Istio バージョン 1.5、1.6、1.7
- Envoy バージョン 1.14、1.15
機能と改善点
機能 | 説明 |
---|---|
バインディングの確認 | 新しいコマンドの apigee-remote-service-cli bindings verify が CLI に追加されました。このコマンドは、バインドされている特定の API プロダクトとそれに関連付けられたデベロッパー アプリにも、リモート サービス プロダクトが関連付けられていることを確認します。バインディングを確認するをご覧ください。 |
サンプルの生成 | 新しいコマンドの apigee-remote-service-cli samples create が CLI に追加されました。このコマンドを使用すると、ネイティブの Envoy または Istio のデプロイ用にサンプル構成ファイルが作成されます。このコマンドで生成した構成ファイルは、以前のバージョンの Adapter for Envoy にインストールされたサンプル ファイルと置き換えられます。サンプル コマンドをご覧ください。 |
OAuth2 認証 | Apigee で多要素認証(MFA)が有効になっている場合、アダプターは OAuth2 認証を使用するようになりました。--legacy フラグを使用する場合は、必ず --mfa フラグを使用してください。 |
Distroless コンテナ | アダプターは、デフォルトの Docker イメージベースとして scratch の代わりに Google の Distroless(gcr.io/distroless/base )イメージを使用するようになりました。 |
その他の問題と修正
- OPDK のバインディング コマンドに対する CLI の問題が修正されました(#29)。
- 接続が失われると、割り当てが停止することがあります(apigee / apigee-remote-service-envoy)(#31)。
- Docker イメージが、root 以外のユーザー(999)でビルドされるようになりました。
- Kubernetes のサンプルでは、root 以外のユーザーにする必要があります。
- プロキシ エンドポイントに対する curl コマンドで、
--http1.1
が不要になりました。このフラグは、例から削除されています。
v1.0.0
2020 年 7 月 31 日(金曜日)に、Apigee Adapter for Envoy の一般提供版バージョンをリリースしました。
対応プラットフォーム
MacOS、Linux、Windows のバイナリを公開しています。
スクラッチ、Ubuntu、BoringCrypto を使用する Ubuntu の Docker イメージを公開しています。
バージョン 1.0.0 では、次のプラットフォームをサポートしています。
- Apigee ハイブリッド バージョン 1.3
- Istio バージョン 1.5、1.6
- Envoy バージョン 1.14、1.15
追加と変更
v1.0-beta4 リリースと一般提供までの間に、アダプターに次の変更が加えられました。
Go Boring のビルド
FIPS 遵守の Go BoringSSL ライブラリを使用する新しいビルドを利用できるようになりました。
- ログレベルのフラグの変更
apigee-remote-service-envoy サービスのロギングレベルのフラグが、整合性を保つために変更されました。
旧フラグ 新フラグ log_level
log-level
json_log
json-log
- 新しい CLI フラグ
CLI の
token
コマンドに、次の新フラグが追加されました。フラグ 説明 --legacy
Apigee Cloud を使用している場合は、このフラグを設定します。 --opdk
Apigee for Private Cloud を使用している場合は、このフラグを設定します。