Amazon Cognito のクォータ - Amazon Cognito

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Amazon Cognito のクォータ

Amazon Cognito は、アカウントで実行できる操作の数を制限します。Amazon Cognito では、Amazon Cognito リソースの数とサイズも制限されます。

オペレーションクォータ

リソースクォータ

オペレーションクォータ

クォータの分類

Amazon Cognito では、次のような操作の数を制限します。InitiateAuthまたはRespondToAuthChallenge、アプリケーション内で特定のユーザーアクションを実行するために使用できます。これらの操作は、一般的なユースケースのカテゴリに分類されます。UserAuthenticationまたはUserCreation。分類されたオペレーションのリストについては、」カテゴリオペレーション。これらのカテゴリを使用すると、使用状況を監視し、クォータの増加を要求することが容易になります。

動作クォータは、カテゴリ内のすべての動作に対して許可される 1 秒あたりの要求数(RPS)として定義されます。Amazon Cognito ユーザープールサービスは、各カテゴリのすべてのオペレーションにクォータを適用します。たとえば、カテゴリUserCreation、4つの操作、SignUpConfirmSignUpAdminCreateUser, およびAdminConfirmSignUp。割り当ては 30 RPS のクォータで割り当てられます。このカテゴリ内の各動作では、最大 30 個の RPS を個別に呼び出すことができます。また、複数の動作が同時に行われる場合は、組み合わせて呼び出すこともできます。

注記

カテゴリクォータは、アカウントおよびリージョンのすべてのユーザープールにわたって、各 AWS アカウントに対して適用されます。

オペレーション特殊処理

オペレーションクォータは、カテゴリレベルで合計リクエストに対して測定され、適用されます。ただし、AdminRespondToAuthChallengeRespondToAuthChallenge操作で、特別なハンドリングルールが適用されます。

-UserAuthenticationカテゴリには、4 つの操作、AdminInitiateAuthInitiateAuthAdminRespondToAuthChallenge, およびRespondToAuthChallenge。-InitiateAuthおよびAdminInitiateAuth操作は、カテゴリクォータごとに測定され、適用されます。一致するRespondToAuthChallengeおよびAdminRespondToAuthChallenge操作は、3 倍である別のクォータの対象となりますUserAuthenticationカテゴリの制限を使用して、開発者のアプリで設定された複数の認証チャレンジに対応できます。この増加したクォータは、大部分のユースケースをカバーするのに十分です。認証コールごとに 3 回を超えると、超過レートはUserAuthenticationカテゴリ制限.

たとえば、UserAuthenticationカテゴリが 80 RPS の場合は、RespondToAuthChallengeまたはAdminRespondToAuthChallenge最大240RPS(80RPS x 3)。認証コールごとに 4 ラウンドのチャレンジが設定されていて、1 秒あたり 70 のサインインがある場合、合計RespondToAuthChallengeは 280 RPS(70 x 4)になります。これは、クォータの 40 RPS です。余分な40のRPSは70に追加されますInitiateAuthを呼び出します。の合計使用量UserAuthenticationカテゴリは 110 RPS (40 + 70) です。これは、80 RPS に設定されたカテゴリクォータを超えているため、このアプリは80 RPS のカテゴリクォータを超えているため、スロットルされます。

カテゴリオペレーション

オペレーションとそれぞれのカテゴリ間のマッピングについては、以下のテーブルをご参照ください。この表に記載されているすべてのカテゴリには、調整可能なクォータがあり、顧客の要求に応じて増やすことができます。詳細については、「API リクエストのレートクォータ」を参照してください。調整可能なクォータは、アカウントレベルで適用されます。ユーザープールレベルの下限しきい値を持つ、より制約のあるクォータ規則の対象となるカテゴリ操作があります。これらのカテゴリは、表にはアスタリスクが付き、表の下にあるメモにはクォータが付いています。

注記

各カテゴリのレート制限は、月間アクティブユーザー (MAU) によって異なります。デフォルトの制限では、最大 200 万の MAU がサポートされます。MAU が 100 万未満の場合は、制限値上げリクエストを送信することはお勧めしません。

カテゴリオペレーションのクォータは、ユーザープールのすべてのユーザーに適用されます。また、各ユーザーに適用されるユーザーごとのクォータもあります。ユーザーごとに、サインインやプロファイルやデバイス情報の取得など、「読み取り」操作であるリクエストを 1 秒あたり最大 10 件作成できます。また、プロファイル情報や MFA 設定の更新など、「書き込み」操作であるリクエストを 1 秒あたり最大 10 件作成することもできます。ユーザーごとのクォータは変更できません。

カテゴリ名 オペレーション 説明 デフォルトのクォータ

(1 秒あたりのリクエスト)

UserAuthentication ユーザーを認証(サインイン)する操作。

これらのオペレーションは、オペレーション特殊処理

120
UserCreation ネイティブ Amazon Cognito ユーザーを作成または確認するオペレーション。ネイティブユーザーとは、Cognito ユーザープールによって直接作成および検証されるユーザーです。 50
UserFederation Amazon Cognito は、サードパーティの IdP を介してユーザーを Cognito にフェデレートするオペレーションを管理しました。 Cognito ユーザープールにサードパーティの ID プロバイダーを使用してユーザーをフェデレーション (認証) する操作。 25
UserAccountRecovery ユーザーのアカウントを回復したり、ユーザーのパスワードを変更または更新する操作。 30
UserRead ユーザープールからユーザーを取得する操作。 120
UserUpdate ユーザーがユーザーとユーザー属性を管理するために使用する操作 25
UserResourceRead デバイスやグループなどの Amazon Cognito からユーザーリソース情報を取得するオペレーション。 50
UserResourceUpdate グループなどのユーザーリソース情報を更新する操作。 25
UserList ユーザーのリストを返すオペレーション。 30
UserPoolRead ユーザープールを読み取る操作。 15
UserPoolUpdate ユーザープールの作成、更新、削除オペレーション。 15
UserPoolResourceRead ユーザープールからリソースを取得する操作 (グループなど)。 * 20
UserPoolResourceUpdate グループなど、ユーザープールのリソース情報を更新する操作。 * 15

UserPoolClientRead

ユーザープールクライアントを一覧表示する操作。 * 15
UserPoolClientUpdate ユーザープールクライアントの作成、更新、削除のオペレーション。 * 15

*このカテゴリの個々の操作には、1 つのユーザプールに対して 5 RPS を超えるレートで操作が呼び出されないようにする制約があります。

クォータの使用状況の追跡

各 API カテゴリには、CallCountおよびThrottleCountアカウントレベルで適用される CloudWatch メトリックス。次を使用できます。CallCountを使用して、カテゴリに関連して顧客が行った通話の合計数を追跡します。次を使用できます。ThrottleCountを使用して、カテゴリに関連するスロットルコールの合計数を追跡します。次を使用できます。CallCountおよびThottleCountメトリクスSum統計を使用して、カテゴリ内のコールの合計数をカウントします。CloudWatch の使用状況メトリクスの詳細については、「」を参照してください。CloudWatch の使用状況メトリクス

使用率および使用率は 2 つの用語で、サービスクォータモニタリングを理解するのに役立ちます。使用率は、使用中のサービスクォータの割合です。たとえば、クォータ値が 200 リソースで 150 リソースが使用されている場合、使用率は 75% です。Usage は、サービスクォータに使用中のリソースまたは操作の数です。

CloudWatch メトリックスを使用した使用状況の追跡

CloudWatch を使用して、Amazon Cognito ユーザープールの使用率メトリックスを追跡および収集できます。CloudWatch ダッシュボードには、使用するすべての AWS サービスに関するメトリックスが表示されます。CloudWatch を使用してメトリックスアラームを作成できます。アラームは、通知を送信したり、監視している特定のリソースに変更を加えるように設定できます。CloudWatch メトリックスの詳細については、「Service Quotas の詳細については、」を参照してください。CloudWatch の使用メトリックスを追跡する

Service Quotas メトリックを使用した使用率の追跡

Amazon Cognito ユーザープールは、Service Quotas の使用状況を表示および管理するために使用できるブラウザベースのインターフェイスであるサービスクォータと統合されています。Service Quotas コンソールでは、特定のクォータの値の検索、モニタリング情報の表示、クォータの増加のリクエスト、CloudWatch アラームの設定を行うことができます。アカウントがしばらくアクティブになると、リソース使用率のグラフを表示できます。

サービスクォータコンソールでのクォータの表示の詳細については、」Service Quotas の表示

クォータ要件の特定

クォータ要件を計算するには、特定の期間にアプリケーションとやり取りするアクティブなユーザーの数を決定します。たとえば、8 時間以内に平均 100 万人のアクティブユーザーがサインインすることをアプリケーションで想定している場合、1 秒間に平均 35 人のユーザーを認証できる必要があります。

さらに、平均ユーザーセッションが 2 時間であると仮定し、トークンが 1 時間後に期限切れになるように構成されている場合、各ユーザーは、このセッション中に 1 回トークンを更新する必要があります。次に、この負荷をサポートするために UserAuthentication カテゴリに必要な平均クォータは 70 RPS です。

8 時間間のユーザサインイン頻度の分散を考慮して、ピーク対平均比を 3:1 と仮定する場合は、200 RPS の UserAuthentication クォータが必要です。

注記

ユーザーアクションごとに複数のオペレーションを呼び出す場合は、カテゴリレベルで個々のオペレーションコールレートを合計する必要があります。

クォータの最適化

ピークコールレートを処理するには、次のいずれかに従ってください。

バックオフ待機期間後に試行を再試行する

すべてのAPI呼び出しでエラーをキャッチし、バックオフ期間の後に試行を再試行することができます。ビジネスニーズと負荷に応じてバックオフアルゴリズムを調整できます。Amazon SDK には、再試行ロジックが組み込まれています。Amazon Tools と SDK の詳細については、「」を参照してください。AWS で構築するツール。

頻繁に更新される属性に外部データベースを使用する

アプリケーションでカスタム属性を読み書きするためにユーザープールへの複数の呼び出しが必要な場合は、外部ストレージを使用します。優先データベースを使用してカスタム属性を格納するか、キャッシュレイヤーを使用してサインイン時にユーザープロファイルを読み込むことができます。ユーザープールからユーザープロファイルをリロードする代わりに、必要に応じてキャッシュからこのプロファイルを参照できます。

クライアント側でJWTトークンを検証する

アプリケーションは、JWTトークンを信頼する前に検証する必要があります。API 呼び出しをユーザープールに送信することなく、クライアント側でトークンの署名と有効性を検証できます。トークンが検証された後、トークン内のクレームを信頼し、クレームを使用できるようになります。getUserAPI コールを使用します。JSON トークンの検証の詳細については、JSON ウェブトークンの検証。

API リクエストのレートクォータ

Amazon Cognito は、アカウントで実行できるユーザープール操作の数を制限します。Amazon Cognito では、調整可能な API リクエストレートクォータの引き上げをリクエストできます。クォータの引き上げをリクエストするには、Service Quotas コンソールを使用し、[Service Limit の引き上げをリクエストするには、RequestServiceQuotaIncreaseAPI またはListAWSDefaultServiceQuotasAPI.

注記

調整可能なクォータのみ増やすことができます。

リソースクォータ

リソースクォータは、リソースの数とサイズを制限するクォータです。Amazon Cognito では、調整可能なリソースクォータの引き上げをリクエストできます。クォータの引き上げをリクエストするには、Service Quotas コンソールを使用するか、サービスの上限引き上げフォーム。Service Quotas コンソールからクォータをリクエストするには、」クォータ引き上げのリクエスト()Service Quotas ユーザーガイド。クォータがまだService Quotas で使用できない場合は、サービスの上限引き上げフォーム

調整可能なリソースクォータ

次の表に、Amazon Cognito の調整可能なリソースクォータを示します。これらのクォータは変更できます。

ユーザープールのリソースクォータ

リソース Quota
ユーザープールあたりのアプリクライアントの最大数 1,000
アカウントあたりのユーザープールの最大数 1,000
ユーザープールあたりのユーザーインポートジョブの最大数 1,000
ユーザープールあたりの ID プロバイダーの最大数 300
ユーザープールあたりのリソースサーバーの最大数 25
ユーザープールあたりのユーザーの最大数 40,000,000

ID プール(フェデレーティッドユーザー)リソースクォータ

リソース Quota
アカウントあたりの ID プールの最大数 1,000
ID プールあたり Amazon Cognito ユーザープールプロバイダの最大数 50
ロールベースのアクセスコントロール (RBAC) 用のルールの最大数 25

リソースクォータの同期

リソース Quota
ID あたりのデータセットの最大数 20
データセットあたりのレコードの最大数 1,024
1 つのデータセットの最大サイズ 1 MB

調整不可能なリソース・クォータ

次の表は、Amazon Cognito 調整不可能なクォータについて説明しています。これらのクォータは変更できません。

ユーザープールトークンの有効性クォータ

トークン Quota
ID トークン 5分 — 1日
更新トークン 1 時間 — 3,650 日
アクセストークン 5分 — 1日

ユーザープールのリソースクォータ

リソース Quota
ユーザープールごとのカスタム属性の最大数 50
属性あたりの最大文字数 2,048 バイト
カスタム属性名の最大文字数 20
パスワードの最大文字数 6 — 99
AWS アカウントごとに毎日送信される E メールメッセージの最大数¹ 50
メール件名の最大文字数 140
メールメッセージの最大文字数 20,000
SMS 確認メッセージの最大文字数 140
パスワードの最大文字数 256
ID プロバイダー名の最大文字数 40
ID プロバイダーあたり最大識別子 50
ユーザーにリンクされた ID の最大数 5
アプリクライアントあたりの最大コールバック URL 100
アプリクライアントあたり最大ログアウト URL 100
リソースサーバーあたりのスコープの最大数 100
アプリクライアントあたりのスコープの最大数 50
アカウントあたりのカスタムドメインの最大数 4
各ユーザーが所属できるグループの最大数 100
ユーザープールごとのグループの最大数 10,000

¹ このクォータは、Amazon Cognito ユーザープールのデフォルトの E メール機能を使用している場合にのみ適用されます。より高い E メール配信ボリュームを可能にするには、Amazon SES E メールの設定を使用するようにユーザープールを設定します。詳細については、「Amazon Cognito ユーザープールのE メール設定」を参照してください。

ユーザープールコードの有効性リソース・クォータ

リソース Quota
サインアップ確認コード 24 時間
ユーザー属性検証コードの有効性 24 時間
MFA 認証コード 3 分
パスワードを忘れた場合のコード 1 時間

ID プール(フェデレーティッドユーザー)リソースクォータ

リソース Quota
ID プールあたりの ID の最大数 無制限
ID プール名の最大文字長 128 バイト
ログインプロバイダー名の最大文字長 2,048 バイト
1 つのリスト呼び出しまたは参照呼び出しの最大数 60
ロールマッピングを指定できる ID プロバイダの最大数 10

リソースクォータの同期

リソース Quota
データセット名の最大文字数 128 バイト
正常なリクエスト後の一括発行の最小待機時間 24 時間