Edge Microgateway の操作と構成のリファレンス

<ph type="x-smartling-placeholder"></ph> 現在、Apigee Edge のドキュメントが表示されています。
Apigee X のドキュメント
詳細

Edge マネージャー v. 2.3.x

概要

このトピックでは、モニタリング、ストレージ ロギング、デバッグ

構成の変更

把握しておく必要がある構成ファイルの内容は次のとおりです。

  • デフォルトのシステム構成ファイル
  • 新しく初期化した Edge AppSheet インスタンスのデフォルト構成ファイル
  • 実行中のインスタンスの動的構成ファイル

このセクションでは、これらのファイルと、ファイルの変更について知っておくべきことについて説明します。詳細情報 構成ファイルの設定については、Edge Apigee の構成 参照をご覧ください。

デフォルトのシステム構成 ファイル

Edge Appliance をインストールすると、デフォルトのシステム構成ファイルが次の場所に配置されます。

[prefix]/lib/node_modules/edgemicro/config/default.yaml

ここで、[prefix]npm 接頭辞ディレクトリです。 場所 がインストールされていることを確認します

システム構成ファイルを変更した場合は、Edge を再初期化、再構成、再起動する必要があります。 Dataproc:

  1. edgemicro init に電話
  2. edgemicro configure [params] に電話
  3. edgemicro start [params] に電話

新しく初期化した Edge Gateway インスタンスのデフォルト構成ファイル

edgemicro init を実行すると、 (前述の) default.yaml は次のディレクトリに配置されます。 ~/.edgemicro

~/.edgemicro 内の構成ファイルを変更した場合は、再構成して再起動する必要があります Edge Appliance:

  1. edgemicro stop
  2. edgemicro configure [params]
  3. edgemicro start [params]

動的 構成ファイルを使用して、

edgemicro configure [params] を実行すると、 構成ファイルは /.edgemicro に作成されます。ファイル名は パターン: [org]-[env]-config.yaml、 ここで、orgenv は Apigee Edge 組織です。 定義できます。このファイルを使用して構成の変更を行った後、再読み込みできます 実現できますたとえば、プラグインを追加して構成した場合、 構成できます。

Edge AppSheet が稼働中の場合(ゼロ ダウンタイム オプション):

  1. Edge Gateway 構成を再読み込みします。
    edgemicro reload -o [org] -e [env] -k [key] -s [secret]

    ここで

    • org は Edge 組織名です( 組織管理者など)を指します。
    • env は組織内の環境です(テスト環境や 本番環境)。
    • key は、以前に構成によって返されたキーです。 使用できます。
    • secret は、以前に 構成します。

    edgemicro reload -o docs -e test -k 701e70ee718ce6dc188016b3c39177d64a88754d615c74e1f78b6181d000723 -s 05c14356e42ed136b8dd35cf8a18531ff52d7299134677e30ef4e34ab0cc824

Edge Appliance が停止した場合:

  1. Edge Appliance を再起動します。
    edgemicro start -o [org] -e [env] -k [key] -s [secret]

    ここで

    • org は Edge 組織名です( 組織管理者など)を指します。
    • env は組織内の環境です(テスト環境や 本番環境)。
    • key は、以前に構成によって返されたキーです。 使用できます。
    • secret は、以前に 構成します。

    edgemicro start -o docs -e test -k 701e70ee718ce6dc188016b3c39177d64a88754d615c74e1f78b6181d000723 -s 05c14356e42ed136b8dd35cf8a18531ff52d7299134677e30ef4e34ab0cc824

構成ファイルの例を以下に示します。構成ファイルの設定について詳しくは、 Edge AppSheet 資料の参照先 構成リファレンスをご覧ください。

edge_config:
  bootstrap: >-
    https://edgemicroservices-us-east-1.apigee.net/edgemicro/bootstrap/organization/docs/environment/test
  jwt_public_key: 'https://docs-test.apigee.net/edgemicro-auth/publicKey'
  managementUri: 'https://api.enterprise.apigee.com'
  vaultName: microgateway
  authUri: 'https://%s-%s.apigee.net/edgemicro-auth'
  baseUri: >-
    https://edgemicroservices.apigee.net/edgemicro/%s/organization/%s/environment/%s
  bootstrapMessage: Please copy the following property to the edge micro agent config
  keySecretMessage: The following credentials are required to start edge micro
  products: 'https://docs-test.apigee.net/edgemicro-auth/products'
edgemicro:
  port: 8000
  max_connections: 1000
  max_connections_hard: 5000
  config_change_poll_interval: 600
  logging:
    level: error
    dir: /var/tmp
    stats_log_interval: 60
    rotate_interval: 24
  plugins:
    sequence:
      - oauth
headers:
  x-forwarded-for: true
  x-forwarded-host: true
  x-request-id: true
  x-response-time: true
  via: true
oauth:
  allowNoAuthorization: false
  allowInvalidAuthorization: false
  verify_api_key_url: 'https://docs-test.apigee.net/edgemicro-auth/verifyApiKey'
analytics:
  uri: >-
    https://edgemicroservices-us-east-1.apigee.net/edgemicro/axpublisher/organization/docs/environment/test

環境変数の設定

Edge 組織と Cloud Identity の値が必要なコマンドライン インターフェースのコマンド 鍵とシークレットは、これらのフォルダに格納できます。 使用します。

  • EDGEMICRO_ORG
  • EDGEMICRO_ENV
  • EDGEMICRO_KEY
  • EDGEMICRO_SECRET

これらの変数の設定は省略可能です。これらを設定する場合、値を指定する必要はありません。 。

Edge Appliance での SSL の構成 サーバー

SSL を使用するように AppSheet サーバーを構成できます。たとえば、SSL が構成されている場合、 「https」を使用して Edge Appliance を介して API を呼び出すことができます。次のように指定します。

https://localhost:8000/myapi

Apigee サーバーで SSL を構成するには、次の操作を行います。

  1. openssl ユーティリティまたは任意の方法で、SSL 証明書と鍵を生成または取得します。
  2. edgemicro:ssl 属性を Edge Appliance に追加する 構成ファイルが更新されます。オプションの一覧については、以下の表をご覧ください。詳細については、 Edge Appliance の構成の変更については、構成の変更をご覧ください。例:
     edgemicro:
         ssl:
             key: <absolute path to the SSL key file>
             cert: <absolute path to the SSL cert file>
             passphrase: admin123 #option added in v2.2.2
             rejectUnauthorized: true #option added in v2.2.2
  3. Edge Appliance を再起動します。以下に応じて、構成の変更で説明されている手順を行います。 編集した構成ファイル(デフォルト ファイルまたはランタイム構成ファイル)です。

SSL が構成された構成ファイルの edgemicro セクションの例を次に示します。

edgemicro:
  port: 8000
  max_connections: 1000
  max_connections_hard: 5000
  logging:
    level: error
    dir: /var/tmp
    stats_log_interval: 60
    rotate_interval: 24
  plugins:
    sequence:
      - oauth
  ssl:
    key: /MyHome/SSL/em-ssl-keys/server.key
    cert: /MyHome/SSL/em-ssl-keys/server.crt
    passphrase: admin123 #option added in v2.2.2
    rejectUnauthorized: true #option added in v2.2.2

サポートされているすべてのサーバー オプションは次のとおりです。

オプション 説明
key ca.key ファイルへのパス(PEM 形式)。
cert ca.cert ファイルへのパス(PEM 形式)。
pfx 秘密鍵、証明書、認証情報を含むpfxファイルのパス PFX 形式のクライアントの CA 証明書。
passphrase 秘密鍵または PFX のパスフレーズを含む文字列。
ca 信頼できる PEM 形式の証明書のリストを含むファイルのパス。
ciphers 使用する暗号を説明する文字列。「:」で区切られます。
rejectUnauthorized true の場合、サーバー証明書は指定された CA のリストと照合されます。条件 検証が失敗した場合は、エラーが返されます。
secureProtocol 使用する SSL メソッド。たとえば、SSL を強制的にバージョン 3 に設定する SSLv3_method です。
servername SNI(Server Name Indication)TLS 拡張機能のサーバー名。

クライアント SSL/TLS オプションの使用

ターゲットに接続するときに、TLS または SSL クライアントとして Edge Appliance を構成できます 提供しますAppSheet 構成ファイルで、targets 要素を使用して SSL/TLS を設定します。 。

この例では、すべてのホストに適用される設定を指定しています。

targets:
   ssl:
     client:
       key: /Users/jdoe/nodecellar/twowayssl/ssl/client.key
       cert: /Users/jdoe/nodecellar/twowayssl/ssl/ca.crt
       passphrase: admin123
       rejectUnauthorized: true

この例では、設定は指定したホストにのみ適用されます。

targets:
   host: 'myserver.example.com'
   ssl:
     client:
       key: /Users/myname/twowayssl/ssl/client.key
       cert: /Users/myname/twowayssl/ssl/ca.crt
       passphrase: admin123
       rejectUnauthorized: true

TLS の例を次に示します。

targets:
   host: 'myserver.example.com'
   tls:
     client:
       pfx: /Users/myname/twowayssl/ssl/client.pfx
       passphrase: admin123
       rejectUnauthorized: true

サポートされているすべてのクライアント オプションは次のとおりです。

オプション 説明
pfx 秘密鍵、証明書、認証情報を含むpfxファイルのパス PFX 形式のクライアントの CA 証明書。
key ca.key ファイルへのパス(PEM 形式)。
passphrase 秘密鍵または PFX のパスフレーズを含む文字列。
cert ca.cert ファイルへのパス(PEM 形式)。
ca 信頼できる PEM 形式の証明書のリストを含むファイルのパス。
ciphers 使用する暗号を説明する文字列。「:」で区切られます。
rejectUnauthorized true の場合、サーバー証明書は指定された CA のリストと照合されます。条件 検証が失敗した場合は、エラーが返されます。
secureProtocol 使用する SSL メソッド。たとえば、SSL を強制的にバージョン 3 に設定する SSLv3_method です。
servername SNI(Server Name Indication)TLS 拡張機能のサーバー名。

カスタム認証サービスの使用

デフォルトでは、Edge Appliance は、Apigee Edge にデプロイされたプロキシを OAuth2 認証に使用します。 このプロキシは、最初に edgemicro configure を実行したときにデプロイされます。デフォルトでは このプロキシの URL は、Edge Dataproc 構成ファイルで次のように指定されます。

authUri: https://myorg-myenv.apigee.net/edgemicro-auth

独自のカスタム サービスを使用して認証を処理する場合は、 サービスを指すように構成ファイルの authUri 値を設定します。対象 たとえば、あるサービスで LDAP を使用して本人確認を行うことがあります。

<ph type="x-smartling-placeholder">

管理 ログファイル

Edge AppSheet は、各リクエストとレスポンスに関する情報をログに記録します。ログファイルは、インフラストラクチャの デバッグやトラブルシューティングに役立つ情報を提供します。

ログファイルの保存場所

デフォルトでは、ログファイルは /var/tmp に保存されます。

デフォルトのログを変更する方法 ファイル ディレクトリ

ログファイルが保存されるディレクトリは、Edge AppSheet の構成で指定されます。 表示されます。構成の変更について詳しくは、構成の変更をご覧ください。

edgemicro:
  home: ../gateway
  port: 8000
  max_connections: -1
  max_connections_hard: -1
  logging:
    level: info
    dir: /var/tmp
    stats_log_interval: 60
    rotate_interval: 24

dir の値を変更して、別のログファイル ディレクトリを指定します。

ログをコンソールに送信する

ログ情報を特定の外部 IP アドレスではなく標準出力に送信するように、ロギングを構成できます。 表示されます。次のように to_console フラグを true に設定します。

edgemicro:
  logging:
    to_console: true  

この設定では、ログは標準出力に送信されます。現在のところ、Google Cloud コンソールと ログファイルに書き込みます。

ロギングレベルの設定方法

ログレベルとして infowarnerror です。info レベルが推奨されます。すべての API リクエストと これがデフォルトです。

ログ間隔を変更する方法

これらの間隔は、Edge AppSheet 構成ファイルで構成できます。kubectl コマンドの 詳細については、構成の変更 変更します

構成可能な属性は次のとおりです。

  • stats_log_interval: (デフォルト: 60)統計情報がいつ作成されたかを示す間隔 API ログファイルに書き込まれます。
  • rotate_interval: (デフォルト: 24)ログファイルが処理される間隔(時間単位) 回転しました。例:
edgemicro:
  home: ../gateway
  port: 8000
  max_connections: -1
  max_connections_hard: -1
  logging:
    level: info
    dir: /var/tmp
    stats_log_interval: 60
    rotate_interval: 24

注: アーカイブされたログファイルは圧縮されません。期間が開始されると、 新しいログファイルが作成されます。

良い ログファイルのメンテナンス方法

ログファイルのデータは時間の経過とともに蓄積するため、Apigee では次の方法を採用することをおすすめします。 プラクティス:

ログファイルの命名規則

各 Edge Appliance インスタンスは、次の 3 種類のログファイルを生成します。

  • api - Edge を通過するすべてのリクエストとレスポンスを記録します。 接続できます。API カウンタ(統計情報)とエラーもこのファイルに記録されます。
  • err - stderr に送信されたすべての内容を記録します。
  • out - stdout に送信されたすべての内容を記録します。

命名規則は次のとおりです。

edgemicro-<Host Name>-<Instance ID>-<Log Type>.log

例:

edgemicro-mymachine-local-MTQzNTgNDMxODAyMQ-api.log
edgemicro-mymachine-local-MTQzNTg1NDMODAyMQ-err.log
edgemicro-mymachine-local-mtqzntgndmxodaymq-out.log

ログファイルの内容について

v2.3.3 で追加

デフォルトでは、ロギング サービスは、ダウンロードしたプロキシ、プロダクト、JSON の JSON の JSON を省略します。 ウェブトークン(JWT)。これらのオブジェクトをログファイルに出力する場合は、 DEBUG=* を初期化します。例:

DEBUG=* edgemicro start -o docs -e test -k abc123 -s xyz456

「api」の内容ログファイル

「api」ログファイルには、リクエストとレスポンスのフローに関する詳細情報が含まれます。 接続します「api」各ログファイルに次のような名前を付けます。

edgemicro-mymachine-local-MTQzNjIxOTk0NzY0Nw-api.log

Edge Appliance に対して行われたリクエストごとに、「api」で 4 つのイベントがキャプチャされます。 ファイル:

  • クライアントからの受信リクエスト
  • ターゲットに対する送信リクエスト
  • ターゲットからの受信レスポンス
  • クライアントへの送信レスポンス

これらの個別のエントリは、ログを簡単に作成できるように省略表記で表現されます。 よりコンパクトになります。以下に、4 つのイベントをそれぞれ表す 4 つのサンプル エントリを示します。ログ ファイルは次のようになります(行番号はドキュメント内での参照用であり、 あります)。

(1) 1436403888651 info req m=GET, u=/, h=localhost:8000, r=::1:59715, i=0
(2) 1436403888665 info treq m=GET, u=/, h=127.0.0.18080, i=0
(3) 1436403888672 info tres s=200, d=7, i=0
(4) 1436403888676 info res s=200, d=11, i=0

1 つずつ見ていきましょう。

1. クライアントからの受信リクエストの例:

1436403888651 info req m=GET, u=/, h=localhost:8000, r=::1:59715, i=0
  • 1436403888651 - Unix の日付スタンプ
  • info - コンテキストによって異なります。情報、警告、エラーがありますが、 表示されます。統計レコードの統計情報、警告に対する警告、 エラーになります。
  • req - イベントを識別します。この場合は、 できます。
  • m - リクエストで使用される HTTP 動詞。
  • u - URL のベースパスに続く部分。
  • h - Edge Appliance のホストとポート番号 考えてみましょう
  • r - クライアントがリクエストするリモートホストとポート あります。
  • i - リクエスト ID。4 つのイベント エントリすべてでこの ID が共有されます。各 リクエストには一意のリクエスト ID が割り当てられます。ログレコードをリクエスト ID で関連付けることで、 ターゲットのレイテンシについて 貴重な分析情報を得られるからです
  • d - リクエストを受信してからの経過時間(ミリ秒) 説明します。上記の例では、リクエスト 0 に対するターゲットのレスポンスが受信されました。 7 ミリ秒(3 行目)の後にレスポンスがクライアントに送信された後、 ミリ秒(4 行目)。言い換えれば、リクエストのレイテンシの合計は、 ターゲットでかかっていた 7 ミリ秒と Edge Appliance で 4 ミリ秒だったことがわかります できます。

2. ターゲットに対して行われた送信リクエストのサンプル:

1436403888665 info treq m=GET, u=/, h=127.0.0.1:8080, i=0
  • 1436403888651 - Unix の日付スタンプ
  • info - コンテキストによって異なります。情報、警告、エラーがありますが、 表示されます。統計レコードの統計情報、警告に対する警告、 エラーになります。
  • treq - イベントを識別します。この場合は、ターゲット リクエストです。
  • m - ターゲット リクエストで使用される HTTP 動詞。
  • u - URL のベースパスに続く部分。
  • h - バックエンド ターゲットのホストとポート番号。
  • i - ログエントリの ID。4 つのイベント エントリすべてで あります。

3. ターゲットからの受信レスポンスのサンプル

1436403888672 info tres s=200, d=7, i=0

1436403888651 - Unix の日付スタンプ

  • info - コンテキストによって異なります。情報、警告、エラーがありますが、 表示されます。統計レコードの統計情報、警告に対する警告、 エラーになります。
  • tres - イベントを識別します。この場合は、ターゲット レスポンスです。
  • s - HTTP レスポンスのステータス。
  • d - 期間(ミリ秒単位)。API 呼び出しにかかった時間は、 ターゲットです。
  • i - ログエントリの ID。4 つのイベント エントリすべてで あります。

4. クライアントへの送信レスポンスのサンプル

1436403888676 info res s=200, d=11, i=0

1436403888651 - Unix の日付スタンプ

  • info - コンテキストによって異なります。情報、警告、エラーがありますが、 表示されます。統計レコードの統計情報、警告に対する警告、 エラーになります。
  • res - イベントを識別します。この場合、 できます。
  • s - HTTP レスポンスのステータス。
  • d - 期間(ミリ秒単位)。こちらが所要時間 (ターゲット API にかかった時間と Edge にかかった時間を含む) 接続されています。
  • i - ログエントリの ID。4 つのイベント エントリすべてで あります。

ログファイルのスケジュール

ログファイルは、指定された間隔でローテーションされます。 rotate_interval の構成 属性です。ローテーション期間が終了するまで、同じログファイルにエントリが引き続き追加されます。 期限が切れます。ただし、Edge Appliance を再起動するたびに、新しい UID を受け取って 新しいログファイルのセットを作成します。ログファイル メンテナンスの適切なプラクティスもご覧ください。

Edge AppSheet の構成 参照

アプリケーションの 構成ファイル

このセクションで説明する構成属性は Edge Appliance にあります。 構成ファイルが更新されます。構成の変更について詳しくは、構成の変更をご覧ください。

Edge_config 属性

これらの設定は、Edge マネージャー インスタンスとユーザーのやり取りを構成するために Apigee Edge

  • bootstrap: (デフォルト: なし)Edge を指す URL Apigee Edge で実行される Apigee Edge 固有のサービス。Edge AppSheet はこのサービスを使用して、 Apigee Edge と通信します。この URL は、 公開鍵/秘密鍵のペア: edgemicro genkeys詳しくは、設定 の構成と構成をご覧ください。
  • jwt_public_key: (デフォルト: なし)Edge AppSheet を指す URL Apigee Edge にデプロイされている プロキシプロキシを構成しますこのプロキシは、サービス アカウントに対する認証エンドポイント クライアントへの署名付きアクセス トークンの発行この URL は、コマンドを edgemicro Configure してプロキシをデプロイします。詳しくは、設定 の構成と構成をご覧ください。

Edgemicro の属性

これらの設定は、Edge Dataproc プロセスを構成します。

  • port: (デフォルト: 8000)Edge Gateway のポート番号 リッスンします。
  • max_connections: (デフォルト: -1) 最大 10 個の同時受信接続を接続できます。この番号が 超過すると、次のステータスが返されます。

    res.statusCode = 429; // Too many requests
  • max_connections_hard: (デフォルト: -1)同時接続の最大数 リクエストをシャットダウンします。この設定 サービス拒否攻撃を阻止するためのものです。通常、この値は max_connections.
  • logging: <ph type="x-smartling-placeholder">
      </ph>
    • level: (デフォルト: error) <ph type="x-smartling-placeholder">
        </ph>
      • info - ネットワーク経由で送信されたすべてのリクエストとレスポンスを インスタンスです。
      • warn - 警告メッセージのみを記録します。
      • error - エラー メッセージのみを記録します。
    • dir: (デフォルト: /var/tmp)ログファイルが保存されるディレクトリ あります。
    • stats_log_interval: (デフォルト: 60)統計情報がいつ作成されたかを示す間隔 api ログファイルに書き込まれます。
    • rotate_interval: (デフォルト: 24)ログファイルが処理される間隔(時間単位) 回転しました。
  • dir: ./gateway ディレクトリから ディレクトリまたは絶対パスで指定します。
  • 順序: Edge Appliance に追加するプラグイン モジュールのリスト 作成します。モジュールは、ここで指定された順序で実行されます。
  • debug: Edge AppSheet プロセスにリモート デバッグを追加します。
    • port: リッスンするポート番号。たとえば、IDE デバッガを このポートをリッスンします
    • args: デバッグ プロセスの引数。例: args --nolazy
  • config_change_poll_interval:(デフォルト: 600 秒)Edge AppSheet 定期的に新しい構成を読み込み、なんらかの変更があった場合は再読み込みを行います。ポーリング は、すべての変更(プロダクト、Microgateway 対応プロキシの変更など)を ローカル構成ファイルに対する変更も記録されます。
  • disable_config_poll_interval:(デフォルト: false) 自動変更を無効にするには、true に設定します。 使用されます。

ヘッダー属性

これらの設定では、特定の HTTP ヘッダーの処理方法を構成します。

  • x-forwarded-for: (デフォルト: true)false に設定すると、 ターゲットに渡すヘッダーの x-forwarded-for。
  • x-forwarded-host: (デフォルト: true)false に設定すると、 ターゲットに渡す x-forwarded-host ヘッダー。
  • x-request-id: (デフォルト: true)false に設定します。 ターゲットに渡す x-request-id ヘッダー。
  • x-response-time: (デフォルト: true)false に設定します。 ターゲットに渡す x-response-time ヘッダー。
  • via: (デフォルト: true)ヘッダーを介して使用されないようにするには、false に設定します。 渡されます。

OAuth 属性

これらの設定は、Edge Appliance によるクライアント認証の適用方法を構成します。

  • allowNoAuthorization: (デフォルト: false)true に設定すると、API 呼び出しは Authorization ヘッダーを一切使用せずに Edge Appliance を通過できます。次に設定 Authorization ヘッダーを要求する場合は false(デフォルト)。
  • allowInvalidAuthorization: (デフォルト: false)true に設定した場合、API 呼び出しは Authorization ヘッダーで渡されたトークンが無効または期限切れの場合に渡すことができる。これを設定 false に設定します(有効なトークンが必要です)(デフォルト)。
  • authorization-header: (デフォルト: Authorization: Bearer) アクセス トークンを Edge Appliance に送信します。次のような場合は、デフォルトを変更することをおすすめします。 ターゲットは他の目的で Authorization ヘッダーを使用する必要がある。
  • api-key-header: (デフォルト: x-api-key)ヘッダーまたはクエリの名前 パラメータ。API キーを使用するもご覧ください。
  • keepAuthHeader: (デフォルト: false)true に設定すると、Authorization ヘッダー そのリクエストで送信されたデータはターゲットに渡されます(保持されます)。

プラグイン固有 属性

各プラグインの構成可能な属性の詳細については、プラグインの使用をご覧ください。

プロキシのフィルタリング

Edge Controls インスタンスが処理する Apigee 対応プロキシをフィルタリングできます。 Edge AppSheet は、起動すると、サービス インスタンスのマイクロゲートウェイ対応のプロキシをすべてダウンロードします。 関連付けられています次の構成を使用して、接続先のプロキシを制限する 処理しますたとえば、この構成では、マイクロサービスのプロキシが 次の 3 つに処理されます。edgemicro_proxy-1edgemicro_proxy-2、 および edgemicro_proxy-3:

proxies:
  - edgemicro_proxy-1
  - edgemicro_proxy-2
  - edgemicro_proxy-3

分析データのマスキング

次の構成では、リクエストパスの情報が Edge に表示されません。 分析できます以下をマイクロゲートウェイの構成に追加して、リクエスト URI をマスクします。 リクエストパスを指定します。URI は、リクエストのホスト名とパスの部分で構成されます。

analytics:
  mask_request_uri: 'string_to_mask'
  mask_request_path: 'string_to_mask'

デバッグと トラブルシューティング

デバッガへの接続

node-inspector などのデバッガを使用して Edge Appliance を実行できます。これは カスタムプラグインのトラブルシューティングとデバッグです

  1. Edge Appliance をデバッグモードで再起動します。そのためには、DEBUG=* を以下に追加します。 使用します。例:

    DEBUG=* edgemicro start -o myorg -e test -k db4e9e8a95aa7fabfdeacbb1169d0a8cbe42bec19c6b98129e02 -s 6e56af7c1b26dfe93dae78a735c8afc9796b077d105ae5618ce7ed
  2. デバッガを起動し、デバッグ プロセスのポート番号をリッスンするように設定します。
  3. これで、Edge Appliance のコードのステップ実行、ブレークポイントの設定、式の監視、 といった具合です

デバッグモードに関連する標準の Node.js フラグを指定できます。たとえば --nolazy は非同期コードのデバッグに役立ちます。

ログファイルの確認

問題が発生した場合は、ログファイルで実行の詳細とエラーを確認してください。 情報です。詳細については、ログファイルの管理をご覧ください。

API キーによるセキュリティの使用

API キーは、Edge にリクエストを行っているクライアントを認証するシンプルなメカニズムを提供します。 接続できます。コンシューマ キー(クライアント ID とも呼ばれます)の値をコピーすると、API キーを取得できます。 認証プロキシを含む Apigee Edge プロダクトからの認証。

鍵のキャッシュ保存

API キーは、署名なしトークンと交換され、キャッシュに保存されます。キャッシュへの保存は、 Edge への受信リクエストの Cache-Control: no-cache ヘッダー 接続できます。

Apigee を使用している場合に必要な回避策 Edge Private Cloud バージョン 15.07

Edge Private Cloud 15.07 で API キーセキュリティを使用するには、回避策を実装する必要があります 説明します。この問題を回避するには、 edgemicro-auth プロキシを変更して、Edge AppSheet を再起動します。

Edge UI で回避策を実装する

この手順では、edgemicro start コマンドを再実行する必要があります。 選択します。

  1. Edge UI のプロキシ エディタで、edgemicro-auth プロキシを開きます。
  2. [Develop] タブを選択します。
  3. [Navigator] の [Scripts] で JavaScript ファイルを開きます。 verify-api-key.js を使用します。
  4. 109 行目に移動します。

    api_product_list: apigeeToken.app && apigeeToken.app.apiproducts ? apigeeToken.app.apiproducts : []
  5. 「api_product_list」の後の部分を置き換えます。ハードコードされたProduct の配列 使用する API キーに関連付けられている名前。たとえば 「Product-1」を持つデベロッパー アプリのキーを使用すると「Product-2」を使用して 次のような行です。

    api_product_list: ["Product-1", "Product-2"]
  6. [保存] をクリックします。
  7. edgemicro start コマンドを実行します。

ローカルの Edge AppSheet コードベースに実装する

この手順では、edgemicro の構成コマンドを再実行する必要があります。 次に edgemicro start を続けます。

  1. アプリ ファイル <microgateway-root-dir>/edge/auth/api/controllers/verify-api-key.js、 ここで、<microgateway-root-dir> は Edge が動作するディレクトリです。 npm install コマンドを実行したときにデプロイされました。
  2. 109 行目に移動します。

    api_product_list: apigeeToken.app && apigeeToken.app.apiproducts ? apigeeToken.app.apiproducts : []
  3. 「api_product_list」の後の部分を置き換えます。ハードコードされたProduct の配列 使用する API キーに関連付けられている名前。たとえば 「Product-1」を持つデベロッパー アプリのキーを使用すると「Product-2」を使用して 次のような行です。

    api_product_list: ["Product-1", "Product-2"]
  4. ファイルを保存します。
  5. edgemicro configure コマンドを実行します。 (Edge Private Cloud を使用している場合は、edgemicro private Configure を使用します)。 このコマンドは、edgemicro-auth プロキシを再デプロイします。
  6. edgemicro start コマンドを実行します。

OAuth2 トークン セキュリティの使用

プロキシ リクエストで OAuth トークンを使用する方法の詳細については、セキュリティ Edge Appliance

使用 API キー

プロキシ リクエストで API キーを使用する方法について詳しくは、Google Cloud での Edge Appliance

<ph type="x-smartling-placeholder">

API キー名の設定

デフォルトでは、x-api-key は API キーのヘッダーまたはクエリに使用される名前です。 パラメータを指定します。このデフォルトは、構成の変更で説明されているように、構成ファイルで変更できます。 名前を apiKey に変更するには、次の例をご覧ください。

oauth:
 allowNoAuthorization: false
 allowInvalidAuthorization: false
 api-key-header: apiKey