<ph type="x-smartling-placeholder"></ph>
現在、Apigee Edge のドキュメントが表示されています。
Apigee X のドキュメント。 詳細
オーディエンス
このトピックは、バージョン管理されている既存のプラグインを使用する Edge インストールされています。また、Google Cloud Platform で提供される Spike Arrest と Quota プラグインについても説明します。 (どちらもインストールに含まれています)。新規のアプリケーションを開発し、 詳細は、カスタム プラグインをご覧ください。
Edge Scanner プラグインとは
プラグインは、Edge Scanner に機能を追加する Node.js モジュールです。プラグイン モジュール 一貫したパターンに従って、そのデータが Edge 自動的に検出して読み込むことができます。Edge Appliance には、既存の複数の カスタム プラグインを作成することもできます。詳しくは、カスタム プラグインを開発する プラグインをご覧ください。
Edge にバンドルされている既存のプラグイン Apigee
インストール時に、複数の既存のプラグインが Edge Appliance に付属しています。これらの 含める:
| プラグイン | デフォルトで有効 | 説明 |
|---|---|---|
| アナリティクス | ○ | Edge API から Apigee Edge に分析データを送信します。 |
| oauth | ○ | OAuth トークンと API キー検証を Edge Appliance に追加します。設定 構成する手順について説明します。 |
| 割り当て | いいえ | Edge AppSheet へのリクエストに割り当てを適用します。Apigee Edge を使用して保存と管理を行う します。割り当ての使用 プラグインです。 |
| spikearrest | いいえ | トラフィックの急増や DoS 攻撃から保護します。Spike Arrest プラグインの使用をご覧ください。 |
| ヘッダー(大文字) | いいえ | コメント付きのサンプル プロキシ。デベロッパーによるカスタム プラグインの作成を支援するガイドとして提供されています。 Edge の サンプル プラグインをご覧ください。 |
| accumulate-request | いいえ | リクエスト データを 1 つのオブジェクトに蓄積してから、次の 渡す必要があります。Cloud Storage 上で動作する必要がある変換プラグインを作成するのに 単一の蓄積されたリクエスト コンテンツ オブジェクトです。 |
| accumulate-response | いいえ | レスポンス データを 1 つのオブジェクトに蓄積してから、次の 渡す必要があります。Cloud Storage 上で動作する必要がある変換プラグインを作成するのに 単一の蓄積されたレスポンス コンテンツ オブジェクトです。 |
| 変換-大文字 | いいえ | リクエスト データまたはレスポンス データを変換します。このプラグインは、Google Cloud 向けの 変換プラグインの実装。サンプル プラグインは、簡単な変換を実行する (リクエストまたはレスポンス データを大文字に変換します)。必要に応じて簡単に XML から JSON への変換など、その他の種類の変換を実行する。 |
| json2xml | いいえ | 承認ヘッダーまたはコンテンツ タイプ ヘッダーに基づいてリクエストまたはレスポンス データを変換します。対象 詳細については、プラグイン ドキュメントをご覧ください。 |
| quota-memory | いいえ | Edge AppSheet へのリクエストに割り当てを適用します。割り当てをローカルに保存し、管理する できます。 |
| ヘルスチェック | いいえ | Edge Scanner プロセスに関する情報(メモリ使用量、CPU 使用率、 プラグインを使用するには、Edge で URL /healthcheck を呼び出します。 接続されます。このプラグインは、ユーザーが Google Cloud で 独自のヘルスチェック プラグインを実装できます。 |
既存のプラグインの場所
Edge Appliance にバンドルされている既存のプラグインは、次の場所にあります。
ここで、[prefix] は npm 接頭辞ディレクトリです。
場所
がインストールされていることを確認します。
[prefix]/lib/node_modules/edgemicro/node_modules/microgateway-plugins
プラグインの追加と構成
次のパターンに従って、プラグインを追加して構成します。
- Edge Appliance を停止します。
- Edge AppSheet 構成ファイルを開きます。詳しくは、 構成変更をご覧ください。
- プラグインを構成ファイルの
plugins:sequence要素に追加します。 使用します。プラグインは、このリストに表示されている順序で実行されます。
edgemicro: home: ../gateway port: 8000 max_connections: -1 max_connections_hard: -1 logging: level: info dir: /var/tmp stats_log_interval: 60 plugins: dir: ../plugins sequence: - oauth - plugin-name
- プラグインを構成します。一部のプラグインには、
構成します。たとえば、次のスタンザを追加して Spike Arrest を構成できます。
できます。SpikeArrest の使用
プラグインをご覧ください。
edgemicro: home: ../gateway port: 8000 max_connections: -1 max_connections_hard: -1 logging: level: info dir: /var/tmp stats_log_interval: 60 plugins: dir: ../plugins sequence: - oauth - spikearrest spikearrest: timeUnit: minute allow: 10
- ファイルを保存します。
- 編集した構成ファイルに応じて、次のように Edge Appliance を再起動または再読み込みします。 詳しくは、 構成の変更が必要になります。
プラグイン固有の構成
構成ファイルで指定したプラグイン パラメータをオーバーライドするには、 プラグイン固有の構成はこのディレクトリにあります。
[prefix]/lib/node_modules/edgemicro/node_modules/microgateway-plugins/config
ここで、[prefix] は npm 接頭辞ディレクトリです。
場所
がインストールされていることを確認します。
plugins/<plugin_name>/config/default.yaml。たとえば、このカスタム ディメンションの
plugins/spikearrest/config/default.yaml でブロックされ、ルールによって
できます。
spikearrest: timeUnit: hour allow: 10000 buffersize: 0
Spike Arrest プラグインの使用
このセクションでは、Spike Arrest プラグインについて説明します。
Spike Arrest について
Spike Arrest は、トラフィックの急増から保護します。Kubernetes によって処理されるリクエストの数を 作成されます。詳細については、Spike Arrest の仕組みをご覧ください。詳しくは、 また、 Spike Arrest と Quota の違いは何ですか?
Spike Arrest プラグインの追加
プラグインの基本的な手順については、プラグインの追加と構成をご覧ください。
構成例 Spike Arrest
edgemicro: home: ../gateway port: 8000 max_connections: -1 max_connections_hard: -1 logging: level: info dir: /var/tmp stats_log_interval: 60 plugins: dir: ../plugins sequence: - oauth - spikearrest spikearrest: timeUnit: minute allow: 10 bufferSize: 5
構成オプション Spike Arrest
- timeUnit: Spike Arrest の実行ウィンドウがリセットされる頻度。有効な値 秒または分です
- allow: timeUnit 中に許可するリクエストの最大数。
- bufferSize: (省略可、デフォルト = 0)bufferSize >0、SpikeArrest この数をバッファに格納します。次の実行「ウィンドウ」と同時に発生すると、 バッファリングされたリクエストが最初に処理されます。関連情報 : 作成します。
Spike Arrest の仕組み
Spike Arrest は、実際のトラフィックではなく、トラフィックの急増から トラフィックを特定の数のリクエストに制限するAPI とバックエンドでは、 Spike Arrest ポリシーにより、トラフィックを通常の量に できます。
ランタイムの Spike Arrest の動作が、リテラル 入力します。
たとえば、次のように 1 分あたり 30 件のリクエストの割合を指定したとします。
spikearrest: timeUnit: minute allow: 30
テストでは、30 件のリクエストを 1 秒間で送信しても、 1 分もかからないでしょうしかし、これはポリシーによって適用される設定とは異なります。考えてみれば 30 1 秒間のリクエスト数が急増すると、環境によっては小規模な急増と見なされる場合があります。
実際の結果スパイクのような動作を防ぐために、Spike Arrest は、許容される 次のように、設定をより短い間隔で分割してトラフィックを分割します。
1 分あたりの料金
1 分あたりのレートは、リクエストの許可間隔(秒単位)に平滑化されます。例: 30 1 分あたりのリクエスト数は次のように平滑化されます。
60 秒(1 分)÷ 30 = 2 秒間隔、つまり 2 秒ごとに約 1 件のリクエストが許可されます。 2 秒以内の 2 つ目のリクエストは失敗します。また、1 分以内の 31 件目のリクエストも失敗します。
1 秒あたりのレート
1 秒あたりのレートは、ミリ秒単位の間隔で許可されるリクエスト数に平滑化されます。たとえば 1 秒あたり 10 件のリクエストは次のように平滑化されます。
1, 000 ミリ秒(1 秒)÷ 10 = 100 ミリ秒間隔、または約 1 件のリクエストを許可 100 ミリ秒ごとにトリガーされます。100 ミリ秒以内の 2 つ目のリクエストは失敗します。また、11 回目のリクエストでは、 2 つ目が失敗します
上限を超えた場合
リクエスト数が指定した時間間隔内で上限を超えると、アラートが急増します 次のエラー メッセージを HTTP 503 ステータスで返します。
{"error": "spike arrest policy violated"}バッファの追加
ポリシーにバッファを追加することもできます。バッファを 10 に設定したとします。 Spike Arrest を超えても、API が直ちにエラーを返さないことがわかります。 できます。代わりに、リクエストは(指定された数まで)バッファされ、バッファ内のリクエストは 自動的に処理されます。「 bufferSize のデフォルトは 0 です。
Quota プラグインの使用
このセクションでは、quota プラグインについて説明します。
Quota プラグインについて
割り当ては、アプリが API に送信できるリクエスト メッセージの数を指定します。 1 時間、1 日、1 週間、1 か月単位で設定できます。アプリが割り当て上限に達すると、以降の API 呼び出しは拒否されます。また、 Spike Arrest と割り当て?
割り当てプラグインの追加
プラグインの基本的な手順については、プラグインの追加と構成をご覧ください。
Apigee のプロダクト構成 エッジ
API プロダクトを構成する Apigee Edge UI で割り当てを構成します。知っておくべきこと 割り当てで制限する Apigee 対応プロキシが含まれているプロダクトを指定します。この プロダクトをデベロッパー アプリに追加する必要があります。Google Cloud の API 呼び出しを 場合、割り当てはそれらの API 呼び出しに適用されます。
- Apigee Edge 組織アカウントにログインします。
- Edge UI で、接続先の Microgateway 対応プロキシに関連付けられたプロダクトを開きます。
選択します。
- UI で、[Publish] メニューから [Products] を選択します。
- 割り当てを適用する API を含むプロダクトを開きます。
- [編集] をクリックします。
- [割り当て] フィールドで、割り当て間隔を指定します。たとえば、1 秒あたり 100 リクエスト、
1 分です。または 2 時間ごとに 50,000 件のリクエスト。

- [保存] をクリックします。
- プロダクトがデベロッパー アプリに追加されていることを確認します。次の操作を行うには、このアプリのキーが必要です 認証された API 呼び出しです
割り当ての構成例
edgemicro: home: ../gateway port: 8000 max_connections: -1 max_connections_hard: -1 logging: level: info dir: /var/tmp stats_log_interval: 60 plugins: dir: ../plugins sequence: - oauth - quota
割り当ての構成オプション
Quota プラグインの追加の構成オプションはありません。
割り当てプラグインのテスト
割り当てを超過すると、HTTP 403 ステータスがクライアントに返されます。 次のメッセージが表示されます。
{"error": "exceeded quota"}相違点 違いはあるでしょうか。
現在の業務に適したツールを選択することが重要です。割り当てポリシーの構成 コース全体でクライアント アプリが API に送信できるリクエスト メッセージの数 指定することもできますQuota ポリシーは、 受信リクエストを集計する分散カウンタを維持します。
割り当てポリシーは、デベロッパーやパートナーとの業務契約または SLA を適用するために使用する 運用上のトラフィック管理よりもたとえば、割り当てを使用して、特定のサービスに対する 無料サービスにし、有料ユーザーには完全アクセス権を付与します。Quota プラグインの使用もご覧ください。
API トラフィックの急増を防ぐには、Spike Arrest を使用します。通常、Spike Arrest は 考えられる限りの DDoS 攻撃やその他の悪意のある攻撃を阻止するために使用できます。