4.17.01 - Edge for Private Cloud リリースノート

Apigee Edge のドキュメントを表示しています。
Apigee X のドキュメントをご覧ください。

2017 年 1 月 25 日(水)、Apigee Edge for Private Cloud の新しいバージョンをリリースしました。

以前の Edge for Private Cloud 機能リリースより、以下のリリースが行われています。

特定のクラウド リリースが Edge for Private Cloud のバージョンに含まれているかどうかを確認するには、リリース番号についてをご覧ください。

リリースの概要

このリリースには、API の制御と保護に役立つ重要な機能が含まれています。

共有フローとフローフックを使用すると、複数の API プロキシ間で再利用可能なポリシーと動作のセットを作成できます。

Key-Value ペアの長期保持のための Edge 機能である Key-Value マップ(KVM)は、データ セキュリティを強化するために暗号化できるようになりました。

API に対するデベロッパー アクセスの柔軟な制御のために、Edge 管理 UI には、API キーとシークレット(認証情報)の作成と管理、デベロッパー アプリの取り消し、デベロッパーの無効化を行うためのさまざまなオプションが用意されています。これらの機能強化により、API キーのローテーションなどの戦略を簡単に実装でき、デベロッパー アプリの取り消し(すべてのキーが無効)またはデベロッパーの無効化(すべてのデベロッパーのアプリとキーの無効化)によって複数の API キーを無効にできます。

サポートの終了にあたり、収益化の上限という機能は廃止されました。

このトピックの残りの部分では、リリースに含まれるすべての新機能、アップデート、バグの修正について詳しく説明します。

非推奨になった機能と廃止された機能

今回のリリースでは、次の機能が非推奨または廃止されました。詳細については、Edge の非推奨ポリシーをご覧ください。

廃止: 収益化の上限(Cloud 16.10.26 UI)

管理 UI から収益化の制限機能を削除しました([管理] > [制限])。使用目的など、非推奨通知の詳細については、http://docs.apigee.com/monetization/content/limit-feature-deprecation-notice をご覧ください。(DEVRT-3259)

RedHat/CentOS バージョン 6.5 のサポートを削除しました

現在 RedHat/CentOS バージョン 6.5 を使用している場合は、Edge 4.17.01 に更新する前にオペレーティング システムをバージョン 6.6 以降に更新する必要があります。

新機能とアップデート

今回のリリースでリリースされた新機能と機能強化についてお知らせいたします。このリリースでは、以下の機能に加え、複数のユーザビリティ、パフォーマンス、セキュリティ、安定性も追加されています。

詳細と手順については、Edge for Private Cloud のドキュメントをご覧ください。

プライベート クラウド

ユーザーが最初に Edge UI にアクセスしたときに、同意モードのバナーを表示できます。同意バナーには、HTML 形式のテキストと、ユーザーがログイン画面に進むボタンを選択します。詳しくは、同意バナーを有効にするをご覧ください。

API BaaS で複数のデータセンターをサポート

複数のデータセンターに API BaaS をインストールできるようになりました。詳細については、API BaaS の複数のデータセンターのインストールをご覧ください。

新しい API BaaS インストール構成パラメータ

API BaaS 構成ファイルに 2 つの新しい構成パラメータが追加されました。

  • BAAS_CASS_DC_LIST - BaaS データセンターのリージョン名を指定します。単一のデータセンターの場合は、BAAS_CASS_LOCALDC と同じ値を指定します。
  • BAAS_CLUSTER_SEEDS - BaaS クラスタのシードを定義するために使用される BaaS スタックノードを指定します。

詳細については、Apigee Edge 4.16.09 を 4.17.01 に更新するをご覧ください。

API BaaS の apigee-service コマンドで「deploy」オプションを実行できなくなりました

API BaaS のスタックとポータルでは、apigee-service コマンドの deploy オプションがサポートされなくなりました。代わりに、configure オプションと restart オプションを使用してください。 詳細については、API BaaS のインストールをご覧ください。

API BaaS の新しいポート要件

他のすべての BaaS Stack ノードからアクセスするために、すべての BaaS Stack ノードはポート 2551 を開く必要があります。複数の BaaS データセンターがある場合は、すべてのデータセンターのすべてのスタックノードからポートにアクセスできる必要があります。

詳細については、API BaaS のインストールインストール要件をご覧ください。

Developer Services ポータルは、Postgres をデータベース、Nginx をウェブサーバーとして使用するようになりました

すべての新規インストールで、ポータルは MySQL や MariaDB ではなくデータベースとして Postgres を使用します。以前のバージョンから 4.17.01 にアップグレードするお客様は、引き続き MySQL または MariaDB を使用します。

4.17.01 が新規インストールされた場合は、Nginx もウェブサーバーとしてインストールされます。以前のバージョンから 4.17.01 にアップグレードするお客様は、引き続き Apache を使用します。

Developer Services ポータルで SmartDocs がデフォルトで有効にならない

SmartDocs をポータルで有効にする必要があります。SmartDocs の詳細については、SmartDocs を使用した API のドキュメント化をご覧ください。

Developer Services ポータルが RPM からインストールされる

4.17.01 バージョンの Developer Services ポータルは、Edge および API BaaS と同じリポジトリとツールを使用して RPM からインストールされます。詳細については、デベロッパー サービス ポータルのインストールをご覧ください。

RPM ベースのインストールと .tar ベースのアップデータでは、異なるコンポーネントを使用します。

RPM ベースのインストール

.tar ベースのインストール

ウェブサーバー

Nginx

Apache

ウェブルート

/opt/apigee/apigee-drupal

/var/www/html

ポート

8079

80

データベース

PostgreSQL

MySQL

PHP

php-fpm(FastCGI)

mod_php(Apache によるインプロセス)

Qpid がバージョン 1.35 にアップグレードされました

このリリースには Qpid バージョン 1.35 が含まれています。

Cassandra がバージョン 2.1.16 にアップグレードされました

このリリースには Cassandra バージョン 2.1.16 が含まれています。

Play がバージョン 2.4 にアップグレードされました

このリリースには、Play 2.4 UI フレームワークが含まれています。

RedHat/CentOS バージョン 7.3 のサポートを追加しました。

Edge は RedHat/CentOS バージョン 7.3 をサポートするようになりました。

ベータ版モニタリング ダッシュボードの更新

Edge Monitoring ダッシュボードのベータ版が次のように更新されました。

  • Cassandra、Zookeeper、OpenLDAP、Postgres、Qpid 用の新しいダッシュボードを含める。
  • Influx バージョンは 4.16.09 から 0.11 から 1.0.2 にアップグレードしました。
  • 安定性に関するいくつかの修正を追加しました。

詳細については、Apigee Monitoring ダッシュボード(ベータ版)の概要をご覧ください。

インストール構成ファイルで Postgres のパスワードを設定できるようになりました

インストール構成ファイルで Postgres パスワードを設定するには、PG_PWD プロパティを使用します。詳細については、Edge 構成ファイル リファレンスをご覧ください。

EPEL リポジトリを有効にする

Edge をインストールまたは更新するには、Extra Packages for Enterprise Linux(EPEL)を有効にする必要があります。詳細については、インストール要件をご覧ください。

使用するコマンドは、RedHat または CentOS のバージョンによって異なります。

  • RedHat/CentOS 7.x の場合:
    > wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm; rpm -ivh epel-release-latest-7.noarch.rpm
  • RedHat/CentOS 6.x の場合:
    wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm; rpm -ivh epel-release-latest-6.noarch.rpm

NSCD(ネームサービス キャッシュ デーモン)を使用する場合の IPv6 の DNS ルックアップを無効にする

NSCD(Name Service Cache Daemon)をインストールして有効にした場合、Message Processor は 2 つの DNS ルックアップ(IPv4 用と IPv6 用)を実行します。NSCD を使用する場合は、IPv6 で DNS ルックアップを無効にする必要があります。詳細については、インストール要件をご覧ください。

IPv6 で DNS ルックアップを無効にするには:

  1. すべての Message Processor ノードで、/etc/nscd.conf を編集します。
  2. 次のプロパティを設定します。
    enable-cache hosts no

API サービス

API プロキシを運用化するための共有フローとフローフック(Cloud 16.09.21)

新しい「共有フロー」機能によって API プロキシの機能を運用化できる。条件付きのポリシーとリソースを共有フローにまとめることで、任意の API プロキシから参照して、再利用可能な単一のソースロジックを実行できます。たとえば、共有フローでは API キーの検証、スパイク防止からの保護、データの記録などを行います。

管理フロー([API] > [Shared Flows])で共有フローを定義してから、次の 2 つの方法で参照します。

  • API プロキシの新しい Flow コールアウト ポリシーを使用する
  • Flow Hooks という新しいアーティファクトで、次の場所にあります。

    これらの接続ポイントを使用すると、個々のプロキシのメインフロー ポイントの前後にオペレーション ロジックを実行できます。共有 UI は、管理 UI([API] > [環境構成] > [フローフック])でこれらのフローフックのロケーションに割り当てます。

    • リクエスト: TargetEndpoint PreFlow の前、TargetEndpoint PostFlow の後
    • レスポンス: TargetEndpoint PreFlow の前、TargetEndpoint PostFlow の後

詳細については、再利用可能な共有フローフローフックを使用した共有フローの接続をご覧ください。

暗号化された Key-Value マップ(Cloud 16.09.21)

認証情報や PII/HIPAA データなどの機密情報を保存するための暗号化された Key-Value マップ(KVM)を作成できます。この機能は、既存の Edge セキュアストア(Vault)とは異なり、Vault 値には Node.js(Management API に加えて)でのみアクセスできるため、それに取って代わるように設計されています。Node.js または Key Value Map Operations ポリシーを使用して、暗号化された KVM 値にアクセスできます。

暗号化された KVM の作成

  • 既存の KVM 管理 API を使用する。KVM の作成時にペイロード定義に “encrypted”: “true” を含めると、Edge は KVM と同じスコープの暗号鍵を生成し、その鍵を使用して KVM を暗号化します。
  • Key-Value マップ オペレーション ポリシーを使用して、暗号化された KVM を作成することはできません。ポリシーで使用する前に、KVM 管理 API を使用して暗号化された KVM を作成する必要があります。
  • 既存の暗号化されていない KVM を暗号化することはできません。

暗号化された KVM の使用

  • Key-Value マップ オペレーション ポリシーを使用して、暗号化された KVM 値を取得および更新します。
  • 暗号化されたキーの値を取得する場合は、変数の先頭に「private」というキーワードを付けます。例: <Get assignTo="private.secretVar">その private.secretVar 変数は、復号された値を保持します。
  • このポリシーを使用して値を更新する場合、特別な操作は必要ありません。この値は、暗号化された KVM で自動的に暗号化されます。
  • 復号された値には、Node.js コードの apigee-access モジュールを使用してアクセスすることもできます。関数 getKeyValueMap() を使用して、名前とスコープに基づいて KVM を取得します。返されるオブジェクトには、キー名の配列を取得する getKeys(callback) と、特定のキーの値を取得する get(key, callback) の 2 つの関数があります。たとえば、次の例では VerySecureKVM という apiproxy スコープ KVM を取得し、key1 の暗号化された値を取得します。
    var apigee = require('apigee-access');
      var encryptedKVM = apigee.getKeyValueMap('VerySecureKVM', 'apiproxy'); 
      encryptedKVM.get('key1', function(err, secretValue) { 
      // use the secret value here 
    });
    

詳細については、Key-Value マップの使い方Node.js で Key-Value マップにアクセスするをご覧ください。

(APIRT-1197)

UI で暗号化された Key-Value マップを作成する(16.10.26 UI)

管理 UI で環境スコープの Key-Value マップ(KVM)を作成する場合([API] > [環境構成] > [Key Value Maps])、新しい [暗号化] チェックボックスを使用して、暗号化された KVM を作成できます。KVM に鍵を追加すると、暗号化された値は管理 UI にアスタリスク(*****)として表示されます。暗号化されていない KVM と同じように、暗号化された KVM に Key-Value を追加します。暗号化された KVM のフル バックエンド サポートは、クラウド リリース 160921 で使用できるようになりました。(EDGEUI-764)

API プロキシ メタデータに含まれる OpenAPI 仕様の URL(Cloud 16.09.21)

OpenAPI 仕様に基づいて API プロキシを作成すると、OpenAPI 仕様の場所が API プロキシ メタデータに保存されます。たとえば、Management API を使用してプロキシ リビジョンの詳細を取得する場合、メタデータには、OpenAPI 仕様へのパスが次の形式で含まれます。

"spec" : "https://raw.githubusercontent.com/apigee/api-platform-samples/master/default-proxies/helloworld/openapi/mocktarget.yaml"

この拡張機能は、次世代バージョンの Edge をサポートしています。OpenAPI 仕様は、新しいデベロッパー ポータルの API プロキシ、API プロダクト、API リファレンス ドキュメントにリンクされています。(MGMT-2913)

SOAP プロキシ用の OpenAPI 仕様(Cloud 16.10.05 UI)

WSDL に基づいて「REST to SOAP to REST」プロキシを作成すると、プロキシ リソースに基づいてホスト型 OpenAPI 仕様が自動的に生成されます。仕様には http(s)://[edge_domain]/[proxy_base_path]/openapi.json からアクセスできます。ただし、XML スキーマのすべてのルールが OpenAPI 仕様(EDGEUI-718)で表現できるわけではないため、変換が常に正確であるとは限りません。

パススルー SOAP プロキシ用の Edge ホスト型 WSDL(Cloud 16.10.05 UI)

WSDL に基づいて「パススルー SOAP」プロキシを作成すると、Edge は WSDL をホストし、プロキシにアクセスするためのフローを作成します。ホストされた WSDL には http(s)://[edge_domain]/[proxy_base_path]?wsdl からアクセスできます。これは、プロキシを介して SOAP サービスを呼び出すクライアントの新しいサービス エンドポイント URL です。(EDGEUI-718)

API プロキシ ウィザードの新しいサンプル クォート WSDL(Cloud 16.08.24.01)

API プロキシ ウィザードを使用して SOAP サービス API を作成する場合は、https://ws.cdyne.com/delayedstockquote/delayedstockquote.asmx?WSDL を使用します。 (EDGEUI-655)

デベロッパー サービス

UI でのデベロッパー アプリ管理のメリット(Cloud 16.10.05 UI)

Edge UI のデベロッパー アプリ管理は、多くの点で強化されています。

  • アプリの [ステータス] 欄で、編集モードのアプリを取り消して承認できます。表示モードでは、このフィールドにアプリの現在のステータスも表示されます。アプリが取り消された場合、API キーのいずれも API 呼び出しに対して有効になりません。キー自体は取り消されず、デベロッパーが再承認された場合に再び使用できるようになります。アプリが取り消されている間は、API キーの「承認済み」ラベルが取り消し線付きで表示されます。
  • API キーの有効期限がデベロッパー アプリの詳細ページに表示され、[認証情報] セクションでは有効期限ごとに整理されるようになりました。たとえば、有効期限のない鍵は API プロダクトが関連付けられている 1 つのグループに表示され、90 日で期限が切れる鍵は関連する商品がある別のグループに表示されます。既存の認証情報の有効期限を変更することはできません。
  • デベロッパー アプリの編集モードの新しい [認証情報を追加] ボタンを使用して、特定の有効期限または有効期限が設定された API キーを生成できます。認証情報を作成するときに、API プロダクトを認証情報に追加できます。
    この機能は、デベロッパー アプリの詳細ページの [キーを再生成] ボタンに代わるものです。このボタンは削除されています。

今回の機能拡張により、Management API ですでに利用可能だった UI 機能が追加されます。 (EDGEUI-104)

UI でアプリ デベロッパーをアクティブ/非アクティブにする(Cloud 16.10.05 UI)

アプリ デベロッパーのステータスは、Edge UI の有効 / 無効の間で変更できます(デベロッパーの詳細ページ、編集モード、[有効 / 無効] ボタン)。デベロッパーが非アクティブな場合、API プロキシの呼び出しでは、デベロッパー アプリの API キーや、それらのキーで生成された OAuth トークンのいずれも無効になります。(EDGEUI-304)

UI の非アクティブなデベロッパー インジケーター(16.10.26 UI)

アプリ デベロッパーが「無効」に設定されている場合、そのデベロッパーのアプリと認証情報は、「承認済み」状態のままではなくなります。管理 UI で非アクティブなデベロッパーのアプリと認証情報を表示すると、アプリと認証情報で「承認済み」ステータス ラベルが取り消し線を引いて表示され、そのラベルのマウスオーバー ツールチップが非アクティブになっています。デベロッパーが「有効」に復元されると、彼女の承認済みアプリと認証情報は再び有効になり、「承認済み」ラベルの取り消し線のテキストが削除されます。 (EDGEUI-728)

分析サービス

「Error Code Analysis」ダッシュボードの名前変更(16.10.26 UI)

「Error Analysis」ダッシュボードの名前が「Error Code Analysis」に変更されました。ダッシュボードには、HTTP ステータス コードが 4xx と 5xx の API 呼び出しが含まれています。(EDGEUI-738)

プロキシ ダッシュボード上の TPS データ(16.10.26 UI)

メインのプロキシ トラフィック ダッシュボードに、平均トランザクション数(平均 TPS)のデータが追加されました。また、プロキシ トラフィックとプロキシ パフォーマンスのグラフで個々のデータポイントにカーソルを合わせると、その期間の TPS がツールチップに表示されます。(EDGEUI-668)

アナリティクスのエラー表示(16.10.26 UI)

分析ダッシュボードが 500 エラーを受け取った場合、そのエラーに関係なく管理 UI に「タイムアウトしました」と表示されます。トラブルシューティングに役立つように、UI に実際のエラーが表示されるようになりました。(EDGEUI-753)

修正済みのバグ

このリリースでは以下のバグが修正されています。このリストは、サポート チケットの修正状況を確認するユーザーを主に対象としています。すべてのユーザーに詳細情報を提供することを目的としたものではありません。

Edge for Private Cloud 4.17.01

問題 ID 説明
APIBAAS-1990 smtp.auth が false の場合に、API BaaS Stack から SMTP への認証が試行されない
APIRT-3032

「apigee-service baas-usergrid restart」コマンドを実行すると、「configure」も実行されるようになりました。

BaaS Stack で「apigee-service baas-usergrid configure」を実行してから「apigee-service baas-usergrid restart」を行う必要はなくなりました。

APIRT-3032

ホスト名が IP アドレスの場合は、DNS ルックアップを実行しないでください。

DOS-4070

「apigee-all -version」に edge-mint-* RPM のバージョンが表示される

DOS-4359

Postgres データベースのみをインストールするための「pdb」オプションを追加しました。

Developer Services ポータルをインストールするときにのみ使用されます。 デベロッパー サービス ポータルのインストールをご覧ください。

Cloud 16.10.26(UI)

問題 ID 説明
EDGEUI-768 StockQuote WSDL でプロキシを作成できない

Cloud 16.09.21_9

問題 ID 説明
MGMT-3674 HIPAA 対応の組織向けに暗号化された KVM や Vault を作成できない
MGMT-3647 メールアドレスが大文字のユーザーのロールアクセスで 403 がスローされる

クラウド 16.09.21

問題 ID 説明
APIRT-3507 JavaScript サービス コールアウトの断続的なエラー(SNI エラーなど)
APIRT-3408 MP リリース 160817 apigee-acess analytics モジュールでメッセージの処理方法が異なる
APIRT-3390

更新アクセス トークン ポリシーによって返されるフォールト レスポンスの変更

APIRT-3389
APIRT-3381 お客様の本番環境プロキシで高レイテンシが発生する
APIRT-3366 すべての新しいトライアル組織で JavaScript ポリシーが失敗する
APIRT-3363 無効な URL 解析によって ApplicationNotFound により 500 ステータスが返される
APIRT-3356 OAuth 無効なトークン メッセージ
APIRT-3355 OAuth プロキシで断続的な 403 エラーが発生する
APIRT-3285
APIRT-3261 認証情報が本番環境の別の開発アプリと検証される
APIRT-3234 Node.js アプリが NPE を返す
APIRT-3223 Apigee の古いキャッシュの問題
APIRT-3193 ASG への移行後に Node.js ターゲット サーバーがハングする
APIRT-3152 cachedlogs 管理呼び出しにより、ログメッセージが分割されます
APIRT-3117 MP が CPU 使用率 100% を達成し、トラフィックの提供を停止
APIRT-3064 ルーター - ルーターからのカスタム 503 エラー メッセージ
APIRT-2620 負荷処理を改善するためのブロック ステップごとにスレッドプールを分離する
CORESERV-774 無効な API プロダクト参照で有効なキーを使用してアクセスすると、内部サーバーエラーが発生します

Cloud 16.10.05(UI)

問題 ID 説明
EDGEUI-697 [レポート] ページのエクスポート ボタン
エクスポート ボタンがカスタム レポートのホームページから削除されました。レポートのエクスポートは、各カスタム レポートのページで利用できます。

Cloud 16.08.24.01

問題 ID 説明
EDGEUI-663 Weather.wsdl の WeatherHttpGet ポート用に生成されたプロキシが 500 エラーで実行時に失敗する
SOAP サービス用の API プロキシを生成するとき、SOAP プロトコル バインディングのない WSDL ポートが API プロキシ ウィザードに表示されなくなりました。これはウィザードによって SOAP リクエストのみが生成されるため、設計によるものです。
EDGEUI-658 SOAP WSDL パススルー オペレーションの名前に関する問題
EDGEUI-653 [Enable Cors] オプションを選択した場合の node.js API プロキシの作成中にエラーが発生しました
EDGEUI-648 UI からの通話(タイムアウトは 2 ~ 3 分)
EDGEUI-623 Firefox で組織の変更履歴のボタンが機能しない