レート制限 - SLA ベース

サービスレベルアクセス (SLA) に基づくレート制限ポリシーは、クライアント ID を参照として使用し、各アプリケーションが期間内に実行できる要求数に制限を課すクライアント ID ベースのポリシーです。これらのポリシーを使用するには、少なくとも 1 つの SLA 層を作成して要求制限を定義する必要があります。

API をコールするアプリケーションを登録するユーザからの要求に手動の承認が必要になるように SLA 層を設定できます。

レート制限 - SLA ベースのポリシー

SLA ベースのレート制限では、アプリケーションによる API への要求の数を SLA 層の設定に基づいて制限します。デフォルトでは、client_id and client_secret というクエリパラメータの形式でクライアント ID とトークン認証情報を指定します。Mule 4 では、SLA ポリシーでクライアント ID のみを指定することができます。これは、このポリシーと OpenAM や PingFederate などのフェデレーションポリシーを組み合わせる場合に特に便利です。

レート制限 (SLA ベース以外) では、特定の期間に API がすべてのアプリケーションから受け入れる要求の数を制限します。制限に達した後は、要求が拒否されます。ユーザは、アプリケーションを登録したり、クライアント ID を送信したりする必要はありません。

認証情報を参照する Mule 式を変更して、これらの値を HTTP メッセージの他の場所から取得することができます。

SLA ベースのアプリケーション登録

API 用に SLA 層を少なくとも 1 つ作成すると、新しいアプリケーションからアクセスを要求するユーザは、SLA 層を選択する必要があります。異なるレート制限や調整に基づいて複数の SLA 層の選択肢を提供できます。

API アクセス要求の管理

選択した SLA 層が自動に設定されている場合、API Manager はすぐに API アクセスの要求をすべて承認し、ユーザは認証された要求を API に直ちに送信することができます。選択された SLA 層が手動承認に設定されている場合、ユーザが API に有効な要求の送信を開始できるようにするには、組織のシステム管理者が承認する必要があります。

API アクセス要求を承認するには、API バージョンページに移動し、[Applications (アプリケーション)] を選択します。

approve+applications

ここで、保留中の要求と処理済みの要求の詳細を確認し、管理できます。

SLA 層または 階層 SLA の作成

まず SLA 層を作成します。手動承認を選択すると、組織のシステム管理者がアプリケーションのアクセス要求を手動で承認する必要があります。

複数の SLA 制限は、次の条件の下でサポートされています。

  • API Manager で API を管理している。

  • API ゲートウェイランタイム 2.1 以降で API を管理している。

SLA 階層で、API ゲートウェイランタイム 2.1 より前のバージョンで実行される API に複数の制限が使用されている場合、最初に定義された制限のみが適用されます。

1 つの SLA 階層に複数のスループット制限を指定できます。

  1. [Add SLA Tier (SLA 層を追加)] ダイアログの [Limits (制限)] で、最初の制限セットを設定します。

  2. プラスアイコンをクリックし、次の制限セットを設定します。

    次に例を示します。

    # of Reqs (要求数) Time Period (期間) Time Unit (時間単位)

    100

    1

    Second (秒)

    10000

    1

    Day (日)

  3. [Add (追加)] をクリックします。

たとえば、Gold という SLA 層で、要求の制限が 100 要求/秒、10,000 要求/日に設定されているとします。この場合、Gold 層に登録されたアプリケーションが 100 要求/秒のバースティング制限を超えることはありません。登録されたアプリケーションでアドバタイズされた 10,000 要求/日 の SLA が取得されると同時に、トラフィックのボトルネックが回避されます。

visible フラグを解除すると、100 要求という最初の制限が、登録時にアプリケーション開発者に公開されません。1 つの制限のみを設定した場合は、その制限を表示する必要があります。

応答ヘッダー

要求応答には、ユーザに SLA 制限について通知し、しきい値に近づいたときに通知するための 3 つのヘッダーが含まれています。SLA が、要求スループットを制限する複数のポリシーを適用する場合、最も制限の厳しいポリシーに関する 1 つのヘッダーセットによってこの情報が提供されます。

たとえば、API のユーザが次のヘッダーが含まれる応答を受信するとします。

X-RateLimit-Limit: 20
X-RateLimit-Remaining: 14
X-RateLimit-Reset: 19100

次の 19100 ミリ秒間に SLA によって許可される要求は 14 件のみです。この SLA はこの期間に 20 件の要求を許可するように設定されています。

Mule クラスタのレート制限

クラスタでのレート制限のガイドラインは、SLA ベースのポリシーのレート制限に適用されます。

Was this article helpful?

💙 Thanks for your feedback!

Edit on GitHub