HTTP デプロイを有効にする

デフォルトでは、Edge は RPC を使用して API プロキシをデプロイします。このモードはほとんどのインストール環境で非常にうまく機能しますが、多数の MP を含む大規模なトポロジでは、RPC を介して多数の同時呼び出しが行われるとタイムアウトが発生する可能性があります。この実装は今後非推奨となる予定です。

そのため Apigee では、大規模なデプロイでは RPC ではなく HTTP を使用してデプロイすることをおすすめします。

HTTP デプロイを有効にすると、信頼性が向上するだけでなく、デプロイ プロセス中にスローされる可能性のある例外のコンテンツと形式も改善されます。

このセクションでは、デプロイ用に HTTP を有効にする方法について説明します。

組織を更新する

HTTP デプロイを有効にするには、PUT リクエストを 組織プロパティ更新 API に送信します。リクエストの本文で次のプロパティを設定します。

プロパティ 説明
allow.deployment.over.http Edge で(RPC に加えて)HTTP 経由で API プロキシをデプロイできるかどうかを指定します。HTTP デプロイを許可するには true に設定します。それ以外の場合は false に設定します。デフォルトは false です。

HTTP デプロイを有効にするには、このプロパティを true に設定する必要があります。

use.http.for.configuration

構成イベントに使用するメソッドを指定します。指定できる値は次のとおりです。

  • never: すべての構成イベントが RPC を使用します。これがデフォルトです。
  • retry: すべての構成イベントはまず RPC を使用します。RPC 経由でイベントが失敗した場合、Edge は HTTP を試行します。これにより、HTTP を使用しなければならない場合、遅延が発生することがあります。
  • always: すべての構成イベントは HTTP を使用します。

HTTP デプロイを有効にするには、このプロパティを always に設定することをおすすめします。

これらのプロパティをメッセージの本文で設定するだけでなく、Content-Type ヘッダーを application/json または application/xml に設定する必要があります。

次の例では、JSON メッセージ本文を使用して組織プロパティ更新 API を呼び出します。

curl -u admin_email:admin_password
  "http://management_server_IP:8080/v1/organizations/org_name"
  -X POST -H "Content-Type: application/json" -d
  '{
    "properties" : {
      "property" : [
      {
        "name" : "allow.deployment.over.http",
        "value" : "true"
      },
      {
        "name" : "use.http.for.configuration",
        "value" : "always"
      } ]
    }
  }'

すべての組織のすべての API プロキシで HTTP デプロイを有効にするには、上記のように各組織を更新する必要があります。

アップデートをテストする

更新が成功したかどうかをテストするには、更新された組織の API プロキシでデプロイ イベントをトリガーし、Message Processor のログファイルを確認します。デプロイ イベントのログエントリには mode:API が含まれています。

詳細については、ログファイルをご覧ください。