Limiter les demandes d'API pour améliorer le débit - Amazon API Gateway

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Limiter les demandes d'API pour améliorer le débit

Vous pouvez configurer des limitations et des quotas pour vos API afin d’éviter un trop grand nombre de demandes. Les limitations et les quotas sont appliqués dans la mesure du possible et doivent être considérés comme des cibles plutôt que des plafonds de demandes garantis.

API Gateway régule les demandes de limitations soumises à votre API à l'aide de l'algorithme de compartiment de jetons, où un jeton compte pour une demande. En particulier, API Gateway examine le taux de soumissions de demandes à un débit régulier et en mode rafale pour toutes les API de votre compte, par région. Dans l'algorithme de compartiment de jetons, une rafale peut permettre un dépassement prédéfini de ces limites, mais d'autres facteurs peuvent également entraîner le dépassement des limites dans certains cas.

Lorsque les soumissions de demandes dépassent les limites de taux régulier et en mode rafale des demandes, API Gateway commence à limiter les demandes. Les clients peuvent recevoir des réponses aux erreurs 429 Too Many Requests à ce stade. Lors de la capture de ces exceptions, le client peut renvoyer les demandes en échec de façon à limiter le débit tout en respectant les limitations.

En tant que développeur d'API, vous pouvez définir les limites pour les différentes étapes ou méthodes d'API afin d'améliorer les performances globales de toutes les API dans votre compte. Sinon, vous pouvez activer des plans d'utilisation pour restreindre les envois de demande client à des taux et des quotas de demande spécifiés.

Comment les paramètres de limitation sont appliqués dans API Gateway

Avant de configurer des paramètres de limitation et de quota pour votre API, il est utile de comprendre comment ils sont appliqués par Amazon API Gateway.

Amazon API Gateway fournit deux types élémentaires de paramètres relatifs à la limitation :

  • Les AWSlimitations sont appliquées à tous les comptes et clients d'une région. Ces paramètres de limitation empêchent votre API, ainsi que votre compte, d'être submergés par un trop grand nombre de requêtes. Ces limites sont fixées par AWS et ne peuvent pas être modifiées par un client.

  • Les limites par compte sont appliquées à toutes les API d'un compte dans une région spécifiée. La limite du taux au niveau du compte peut être augmentée à la demande. Des limitations plus élevées sont possibles avec des API qui ont des délais d'attente plus courts et des charges utiles plus petites. Pour demander une augmentation des limitations au niveau du compte par Région, contactez le Centre de support AWS. Pour de plus amples informations, consultez Quotas Amazon API Gateway et remarques importantes. Notez que ces limites ne peuvent pas être supérieures aux limitations AWS.

  • Les limitations par API et par étape sont appliquées au niveau de la méthode API pour une étape. Vous pouvez configurer les mêmes paramètres pour toutes les méthodes ou configurer différents paramètres d'accélération pour chaque méthode. Notez que ces limites ne peuvent pas être supérieures aux limitations AWS.

  • Les limitations par client sont appliquées aux clients qui utilisent les clés d'API associées à votre stratégie d'utilisation comme identifiant de client. Notez que ces limites ne peuvent pas être supérieures aux limites par compte.

Les paramètres relatifs à la limitation API Gateway sont appliqués dans l'ordre suivant :

Limitation au niveau du compte par région

API Gateway limite par défaut les demandes régulières par seconde (rps) pour toutes les API d'un compte AWS, par Région. Il limite également la rafale (c'est-à-dire, la taille maximale de compartiment) sur toutes les API au sein d'un compte AWS, par région. Dans API Gateway, la limite en mode rafale correspond au nombre maximal d'envois de demandes simultanés qu'API Gateway peut traiter à tout moment sans renvoyer de réponses d'erreur 429 Too Many Requests. Pour plus d'informations sur les quotas de limitation, consultez Quotas Amazon API Gateway et remarques importantes.

Configuration des cibles de limitation au niveau de l’API et de l’étape dans un plan d'utilisation

Dans un plan d'utilisation, vous pouvez définir une cible de limitation par méthode pour toutes les méthodes de l'API ou au niveau d'une étape. Vous pouvez spécifier un taux de limitation, c'est-à-dire le taux, en demandes par seconde, auquel les jetons sont ajoutés au compartiment de jetons. Vous pouvez également spécifier une rafale de limitation, qui correspond à la capacité du compartiment de jetons.

Configuration de cibles de limitation au niveau de l’étape

Vous pouvez utiliser l’AWS CLI, les kits SDK et la AWS Management Console pour créer des cibles de limitation au niveau de l’étape. Pour de plus amples informations, veuillez consulter Mise à jour des paramètres d'étape.

Configuration des cibles de limitations au niveau de la méthode dans un plan d'utilisation

Vous pouvez définir des cibles de limitations supplémentaires au niveau de la méthode dans les Usage Plans (Plans d'utilisation), comme indiqué dans Création d'un plan d'utilisation. Dans la console API Gateway, elles sont définies en spécifiant Resource=<resource>, Method=<method> dans le paramètre Configure Method Throttling (Configurer une limitation précise). Ainsi, pour l'exemple PetStore, vous pouvez spécifier Resource=/pets, Method=GET.