SLA 層の概念の確認

サービスレベルアクセス (SLA) 層は、API で定義するユーザアクセスのカテゴリです。層定義と SLA ベースのポリシーの組み合わせにより、特定のレベルの API へのアクセスで承認が必要かどうかが決まります。層定義では、アプリケーションで API に対して実行できる要求数を制限することもできます。SLA 層を適用するには、SLA ベースのレート制限または調整ポリシーを適用する必要があります。

API バージョンの SLA 層を定義したり、特定の層へのアクセスを要求するアプリケーションを管理したりするには、API URL を設定する必要があります。

SLA のパフォーマンスを監視して、API で承認されている SLA 層の範囲内で API が実行されていることを確認できます。

層の定義

層を定義する場合、層の名前を付けて制限 (コール元アプリケーションが実行できる要求数など) を定義します。また、この層レベルのアプリケーションアクセス要求が自動的に承認されるのか、手動による承認が必要なのかも指定します。

API バージョンの詳細ページの [SLA Tiers (SLA 層)] には、SLA 層定義の概要 (その層に登録されているアプリケーション数、層名、制限、状況、必要な承認種別などの情報) が表示されます。

提供されたコントロールを使用して、層を編集および削除できます。

階層化された SLA

API Manager では、複数の SLA 制限がサポートされています。

1 つの SLA 層に複数のスループット制限を設定できます。​gold​ という名前の 1 つの SLA 層では、要求を 100 件/秒および 10,000/日に制限できます。この手法を使用すると、​gold​ 層に登録されているアプリケーションの要求が 100 件/秒のバースト制限を超えなくなります。アプリケーションによって API が圧迫されなくなり、登録済みアプリケーションの想定要求数が 10,000 件/日になります。SLA で参照可能フラグを設定すると、登録時に最初の制限がアプリケーション開発者に表示されなくなります。1 つの制限のみを定義している場合は、非表示にできません。

レスポンスヘッダー

要求の応答には、SLA 制限に関する情報と、SLA で許可される残りのスペア容量に関する情報をユーザに通知する 3 つのヘッダーがあります。要求スループットを制限する複数のポリシーがこの SLA で適用される場合、1 つのヘッダーセットで、設定済みの最も拘束性のあるポリシーに関するスペア容量のみが報告されます。

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

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

この場合、応答では、次の 19100 ミリ秒内に SLA であと 14 件の要求のみが許可され、この時間枠内の許容件数は 20 件に設定されていることがユーザに通知されます。

層の適用

SLA 層を適用するには、SLA ベースのレート制限または調整ポリシーを適用する必要があります。これらのポリシーでは、API をコンシュームするすべてのアプリケーションが特定の層にアクセスするための登録を行い、API へのコールでクライアントログイン情報を渡す必要があります。これにより、Anypoint Platform はアプリケーションを識別したり、コントラクトされた層にアプリケーションを関連付けたり、スループット制限を適用したりできます。

層の編集

その層を使用することをすでに承認されているアプリケーションが含まれる層を編集すると、それらのアプリケーションは編集した層の条件にすぐに準拠します。そのため、警告せずにスループット値を変更すると、API ユーザに迷惑がかかる可能性があります。

元々手動による承認を要求するように層を設定している場合、自動承認を許可するように変更すると、API Manager で待機中の承認要求が承認されます。

アプリケーションの管理

API の SLA を定義したら、アプリケーション開発者からのアクセス要求の承認または失効を Exchange ポータルで行うことができます。このアクションにより、アプリケーションのコンシュームが SLA にバインドされます。開発者が承認範囲を超える SLA 層の API へのアクセスを要求した場合、別の SLA 層を適用して要求を上書きできます。

手動で承認するように層を設定した場合、開発者がアプリケーションのアクセスを要求したときにメール通知が送信されます。API バージョンの詳細ページでアプリケーションを確認し、要求の承認、拒否、失効を行うことができます。開発者が層を変更するように要求した場合も、変更要求を確認して新しい層でアプリケーションを承認するか、変更要求を拒否できます。

層の非推奨化と削除

アプリケーションを SLA 層に割り当てたら、層を非推奨にして開発者がその層に新しいアプリケーションをサインアップしないようにすることができます。アプリケーションが割り当てられている SLA 層は削除できません。

層を非推奨にして削除するには、まず新しい層を作成して、作成した新しい層名をアプリケーションオーナーに通知します。次に、既存の非推奨の層へのアプリケーションアクセスを失効させます。アプリケーションオーナーに新しい層を使用して API へのアクセスを再要求するように依頼します。最後に、すべてのアプリケーションオーナーが新しい層にサインアップして、新しい層への移行を承認したら、非推奨の層を削除できます。