Quotas

La consommation de ressources d'une application App Engine est limitée par certains quotas.

Les données sur l'utilisation quotidienne et la consommation des quotas des ressources App Engine pour votre projet sont disponibles sur la page Détails des quotas de Google Cloud Console.

Limites facturables et limites de sécurité

App Engine propose trois types de quotas ou de limites :

  • Quotas gratuits : chaque application bénéficie d'un nombre de ressources gratuites. Les quotas gratuits ne peuvent être dépassés que jusqu'au plafond budgétaire ou la limite de sécurité de l'application, selon la limite atteinte en premier.
  • Plafond budgétaire : si vous êtes le propriétaire du projet et l'administrateur de la facturation, vous pouvez définir un plafond budgétaire pour gérer les coûts des applications dans les paramètres App Engine de Google Cloud Console. Vous pouvez légèrement dépasser les plafonds budgétaires lorsque l'application est désactivée.
  • Limites de sécurité : les limites de sécurité sont définies par Google afin de protéger l'intégrité du système App Engine. Ces quotas garantissent qu'aucune application ne surutilise les ressources au détriment d'autres applications. Un message d'erreur s'affiche si vous dépassez ces limites.

Plafond budgétaire

Les propriétaires de projet et les administrateurs de la facturation peuvent activer la facturation pour un projet.

Lorsque vous créez votre application, vous voudrez peut-être fixer un plafond budgétaire afin de définir une limite approximative du montant qui peut vous être facturé par jour. Par défaut, le plafond budgétaire est illimité. Nous vous recommandons donc de définir un plafond budgétaire afin de mieux contrôler le coût des applications. Sachez que vous pouvez légèrement dépasser les plafonds budgétaires quand l'application est désactivée.

Limites de sécurité

Les limites de sécurité comprennent les quotas quotidiens et les quotas par minute :

  • Les quotas quotidiens sont réactualisés à minuit (heure du Pacifique). Les applications peuvent dépasser ce quota gratuit jusqu'à ce qu'elles atteignent leur plafond budgétaire ou la limite de sécurité, selon la limite atteinte en premier.
  • Les quotas par minute empêchent votre application de consommer toutes ses ressources trop rapidement et évitent que les autres applications monopolisent une ressource donnée. Si votre application consomme trop rapidement une ressource et épuise un des quotas par minute, le mot "Limité" s'affiche à côté du quota correspondant sur la page Quotas dans Cloud Console. Les requêtes portant sur les ressources qui atteignent leur limite par minute sont refusées.

Consultez la section intitulée Lorsqu'une ressource est épuisée pour découvrir les conséquences d'un dépassement de quota et comment gérer les conditions de ce dépassement.

Astuce : Les quotas maximaux par minute permettent de faire face à des niveaux de trafic élevés, par exemple si votre site est mentionné dans les actualités. Si vous pensez qu'un quota ne répond pas à cette exigence, envoyez des commentaires dans l'outil de suivi des problèmes. Sachez que l'envoi de commentaires ne constitue pas une demande d'augmentation de votre quota, mais cela nous permettra d'identifier le quota qui est éventuellement trop faible pour les cas d'utilisation générale.

Si vous vous attendez à des niveaux de trafic très élevés, ou que votre application nécessite des quotas particulièrement élevés (par exemple, en raison de lancement de produits ou de tests de charge importants), nous vous recommandons de souscrire une formule d'assistance.

Renouvellement des ressources

App Engine assure le suivi de l'utilisation des ressources de votre application par rapport aux quotas du système. Cette plate-forme réinitialise toutes les mesures de ressources au début de chaque jour calendaire (à l'exception des données stockées qui représentent toujours l'espace de stockage utilisé du datastore).

Les quotas quotidiens sont réinitialisés à minuit (heure du Pacifique), tandis que les quotas par minute sont renouvelés toutes les 60 secondes.

Lorsqu'une ressource est épuisée

Lorsqu'une application consomme toute une ressource attribuée, la ressource devient indisponible jusqu'à ce que le quota soit renouvelé. Cela peut signifier que votre application ne fonctionnera pas tant que le quota n'aura pas été renouvelé.

Concernant les ressources nécessaires pour lancer une requête : si la ressource est épuisée, App Engine renvoie par défaut un code d'erreur HTTP 403 ou 503 pour la requête plutôt que d'appeler un gestionnaire de requêtes. Ce comportement concerne les ressources suivantes :

  • Bande passante entrante et sortante
  • Heures d'utilisation d'une instance

Astuce : Vous pouvez configurer votre application de sorte qu'elle affiche une page d'erreur personnalisée lorsqu'elle dépasse un quota. Pour en savoir plus, consultez la documentation de référence sur le fichier de configuration pour Python (2.7, 3.7), Java, Go, PHP (5.5, 7.2) ou Node.js.

Concernant toutes les autres ressources : si l'application tente de consommer une ressource épuisée, une exception est générée. Cette exception peut être interceptée et traitée par l'application (par exemple, via la diffusion d'un message d'erreur visible par l'utilisateur). Dans l'API Python, cette exception est apiproxy_errors.OverQuotaError. Dans l'API pour Java, cette exception est com.google.apphosting.api.ApiProxy.OverQuotaException. Dans l'API Go, la fonction appengine.IsOverQuota indique si une erreur d'appel d'API résulte d'un quota disponible insuffisant.

L'exemple suivant montre comment détecter l'erreur OverQuotaError, qui peut être générée par la méthode SendMessage() si un quota concernant les e-mails est dépassé :

try: mail.SendMessage(to='test@example.com',
from='admin@example.com', subject='Test Email', body='Testing') except
apiproxy_errors.OverQuotaError, message: # Log the error. logging.error(message) # Display an
informative message to the user. self.response.out.write('The email could not be sent. ' 'Please try
again later.')

Votre application dépasse-t-elle les limites par défaut ? Si vous avez besoin d'un quota d'e-mails plus important, vous pouvez envoyer des e-mails avec SendGrid. Pour toute autre augmentation de quota, si vous disposez d'une formule d'assistance Silver, Gold ou Platinum, contactez votre conseiller au sein de l'équipe d'assistance pour demander des limites de débit plus élevées. Sinon, vous pouvez envoyer une demande de quota supplémentaire dans Google Cloud Console en sélectionnant le quota concerné, puis en cliquant sur Modifier les quotas.

Quotas pour l'environnement flexible App Engine

Lorsque vous déployez une application dans l'environnement flexible App Engine, certaines ressources Google Cloud Platform sont consommées. Vous ne pouvez pas modifier ces ressources. Toutefois, celles-ci sont comptabilisées dans votre quota.

Ressources

Une application peut faire appel aux ressources ci-dessous, soumises à des quotas. Les ressources évaluées en fonction des limites facturables sont indiquées par la mention "(facturable)". Les quantités de ressources sont allouées sur une période de 24 heures.

Le coût des ressources supplémentaires est indiqué sur la page des tarifs.

Bucket Cloud Storage par défaut

Le bucket Cloud Storage par défaut présente un quota gratuit d'utilisation quotidienne comme indiqué ci-dessous. Créez ce bucket gratuit par défaut sur la page des paramètres App Engine de Google Cloud Console pour votre projet.

Les quotas suivants s'appliquent spécifiquement à l'utilisation du bucket par défaut. Consultez le tarif des buckets multirégionaux de Cloud Storage pour obtenir la description de ces quotas.

Ressource Limite par défaut
Données stockées dans le bucket Cloud Storage par défaut 5 premiers Go gratuits ; pas de maximum
Opérations de classe A sur le bucket Cloud Storage par défaut 20 000 premières opérations par jour gratuites ; pas de maximum
Opérations de classe B sur le bucket Cloud Storage par défaut 50 000 premières opérations par jour gratuites ; pas de maximum
Sortie réseau du bucket Cloud Storage par défaut Jusqu'au quota de bande passante sortante gratuite ; pas de maximum

Blobstore

Les quotas suivants s'appliquent spécifiquement à l'utilisation du Blobstore.

Données stockées dans le Blobstore
Quantité totale de données stockées dans le Blobstore. Disponible pour les applications payantes et gratuites.
Ressource Limite par défaut
Données stockées dans le Blobstore 5 premiers Go gratuits ; pas de maximum

Stockage du code et des données statiques

Limite de données statiques
Dans tous les langages à l'exception de Go, la taille d'un fichier de données statiques ne peut pas dépasser 32 Mo. La limite pour Go est de 64 Mo.
Espace de stockage total
Le quota de stockage s'applique à la quantité totale de code et de données statiques stockée par toutes les versions de votre application. La quantité totale de code et de fichiers statiques stockée est répertoriée dans le tableau de bord principal. Les quantités individuelles sont affichées sur les écrans "Versions" et "Backends" respectivement. Des frais de 0,026 $ par Go et par mois seront facturés aux applications pour tout stockage de code et de données statiques dépassant 1 Go.

Datastore

Le quota de données stockées (facturables) fait référence à toutes les données stockées pour l'application dans Datastore et Blobstore. Les autres quotas présentés dans la section "Datastore" de l'écran Détails des quotas de Google Cloud Console se rapportent spécifiquement au service Datastore.

Données stockées (facturables)

Toutes les données stockées dans les entités du datastore, les index correspondants et le Blobstore

Il est important de noter que les données stockées dans le datastore peuvent entraîner des frais significatifs. Ces frais dépendent du nombre et des types de propriétés associées, et incluent l'espace utilisé par les index intégrés et personnalisés. Chaque entité stockée dans le datastore requiert les métadonnées suivantes :

  • La clé de l'entité, y compris le genre, l'ID ou le nom de clé, et les clés des ancêtres de l'entité.
  • Le nom et la valeur de chaque propriété. Étant donné que le datastore n'obéit pas à un schéma, le nom de chaque propriété doit être enregistré avec la valeur de la propriété pour toute entité donnée.
  • Toute ligne d'index intégré et personnalisé qui fait référence à cette entité. Chaque ligne contient le genre de l'entité, un nombre de valeurs de propriété en fonction de la définition de l'index, ainsi que la clé de l'entité.

Consultez la page sur le stockage des entités et des index afin de connaître tous les détails des métadonnées obligatoires pour le stockage des entités et des index au niveau de Bigtable.

Nombre d'index
Nombre d'index Datastore qui existent pour l'application. Cela inclut les index créés dans le passé qui n'apparaissent plus dans la configuration de l'application, mais n'ont pas été supprimés. Pour en savoir plus, consultez la page sur les limites de Datastore.
Opérations d'écriture
Nombre total d'opérations d'écriture de Datastore.
Opérations de lecture
Nombre total d'opérations de lecture Datastore.
Opérations mineures
Nombre total d'opérations mineures Datastore. Les opérations mineures incluent les appels associés à l'affectation d'ID Datastore ou les requêtes qui ne contiennent que des clés.
Ressource Limite par défaut
Données stockées (facturables) 1 Go gratuit ; pas de maximum
Au-delà du quota gratuit, des taux de facturation s'appliquent.
Nombre d'index 200
Opérations de lecture d'entités 50 000 gratuites ; pas de maximum
Au-delà du quota gratuit, des taux de facturation s'appliquent.
Opérations d'écriture d'entités 20 000 gratuites ; pas de maximum
Au-delà du quota gratuit, des taux de facturation s'appliquent.
Opérations de suppression d'entités 20 000 gratuites ; pas de maximum
Au-delà du quota gratuit, des taux de facturation s'appliquent.
Opérations mineures Illimité

Remarque : Les opérations Datastore générées par l'administrateur Datastore et le lecteur Datastore sont comptabilisées dans le quota de votre application.

Déploiements

Déploiements
Nombre de fois où l'application a été importée par un développeur. Le quota actuel est de 10 000 par jour.

Une application est limitée à 10 000 fichiers importés par version. La taille maximale de chaque fichier est de 32 mégaoctets. De plus, si la taille totale de tous les fichiers pour toutes les versions dépasse la capacité initiale de 1 gigaoctet, des frais de 0,026 $ par Go et par mois seront facturés.

Heures d'utilisation d'une instance

L'utilisation des instances est facturée selon le temps de disponibilité de l'instance, à un taux horaire donné. Le temps facturable commence au démarrage de l'instance et se termine 15 minutes après son arrêt. Les instances inactives ne sont pas facturées au-delà du nombre maximal d'instances inactives défini dans l'onglet "Paramètres de performance" de Cloud Console.

Des quotas quotidiens gratuits sont appliqués spécifiquement aux instances frontend et backend. Sachez que lorsque vous utilisez les services App Engine, la classe d'instance du service détermine le quota qui s'applique.

Ressource ou appel d'API Quota gratuit
Instances frontend (modules d'autoscaling) 28 heures d'utilisation de l'instance F1 gratuites par jour
Instances backend (modules de scaling de base et manuel) 9 heures d'utilisation de l'instance B1 gratuites par jour

Journaux

L'API Logs est mesurée lors de la récupération des données de journal.

L'attribution d'un quota d'ingestion de journaux fait référence aux journaux des requêtes et aux données des journaux d'application pour une application. La journalisation des applications App Engine est fournie par Stackdriver. Consultez les tarifs de Stackdriver pour en savoir plus sur les taux et les limites.

Mail

App Engine facture l'utilisation des e-mails "par message", en comptant chaque e-mail pour chaque destinataire. Par exemple, l'envoi d'un e-mail à 10 destinataires compte pour 10 messages.

Messages envoyés
Nombre total de messages envoyés par l'application. Sachez que le quota maximal de messages envoyés reste au niveau gratuit jusqu'au paiement de la première facturation de votre application.
Messages administrateur envoyés
Nombre total de messages envoyés par l'application à ses administrateurs. (La taille de chaque e-mail administrateur, y compris les en-têtes, les pièces jointes et le corps du message, est limitée à 16 Ko).
Données du corps du message envoyées
Quantité de données envoyées dans le corps des e-mails. Elle est également comptabilisée dans le quota de bande passante sortante.
Pièces jointes envoyées
Nombre total de pièces jointes envoyées avec les e-mails.
Données envoyées en pièces jointes
Quantité de données envoyées en tant que pièces jointes d'e-mails. Elle est également comptabilisée dans le quota de bande passante sortante.
Ressource Limite quotidienne par défaut Fréquence maximale
Destinataires contactés par e-mail 100 messages 8 messages/minute
Administrateurs contactés par e-mail 5 000 e-mails 24 e-mails/minute
Données du corps du message envoyées 60 Mo 340 Ko/minute
Pièces jointes envoyées 2 000 pièces jointes 8 pièces jointes/minute
Données envoyées en pièces jointes 100 Mo 10 Mo/minute

Vous pouvez ajouter jusqu'à 50 expéditeurs autorisés pour l'API Mail.

Envoyer des messages au-delà du quota de messages quotidien

Si votre application nécessite des quotas plus élevés pour l'envoi de messages, vous pouvez utiliser un fournisseur de messagerie tiers, tel que SendGrid, Mailjet ou Mailgun.

Requêtes

Bande passante sortante (facturable)

Quantité de données envoyées par l'application en réponse à des requêtes.

Par exemple :

  • Les données diffusées en réponse à des requêtes sécurisées et non sécurisées par des serveurs d'applications, des serveurs de fichiers statiques ou le Blobstore
  • Les données envoyées dans les e-mails
  • Les données des requêtes HTTP sortantes envoyées par le service de récupération d'URL
Bande passante entrante

Quantité de données reçues par l'application à partir des requêtes. La taille d'une requête HTTP entrante ne peut pas être supérieure à 32 Mo.

Par exemple :

  • Les données reçues par l'application dans les requêtes sécurisées et non sécurisées
  • Les importations vers le Blobstore
  • Les données reçues en réponse aux requêtes HTTP par le service de récupération d'URL
Bande passante sortante sécurisée
Quantité de données envoyées par l'application via une connexion sécurisée en réponse à des requêtes. Elle est également comptabilisée dans le quota de bande passante sortante.
Bande passante entrante sécurisée
Quantité de données reçues par l'application via une connexion sécurisée à partir des requêtes. Elle est également comptabilisée dans le quota de bande passante entrante.
Ressource Limite quotidienne Fréquence maximale
Bande passante sortante (facturable, inclut HTTPS) 1 Go gratuit ; 14 400 Go au maximum 10 Go/minute
Bande passante entrante (inclut HTTPS) Aucun Aucune

Les quotas gratuits pour l'API Search sont indiqués dans le tableau ci-dessous. Reportez-vous à la documentation sur Java, Python et Go pour obtenir une description détaillée de chaque type d'appel de l'API Search.

Les ressources de l'API Search sont facturées selon les prix de la grille tarifaire.

Ressource ou appel d'API Quota gratuit
Stockage total (documents et index) 0,25 Go
Requêtes 1 000 requêtes par jour
Ajout de documents aux index 0,01 Go par jour

Dans la section "Quota" de la console de l'application, vous trouverez un décompte brut des requêtes de l'API. Sachez que si vous indexez plusieurs documents dans un même appel, le nombre d'appels augmente en fonction du nombre de documents.

Pour assurer la fiabilité du service, l'API Search impose les limites suivantes :

  • 100 minutes cumulées de temps d'exécution des requêtes par minute, dans une application et un index
  • 15 000 documents ajoutés/supprimés par minute
Une limite de 10 Go de stockage par index est également appliquée. Si une application tente de dépasser cette limite, une erreur de quota insuffisant est générée. Cette limite peut être augmentée jusqu'à 200 Go. Pour ce faire, vous devez envoyer une demande depuis la page App Engine Search de Google Cloud Console.

Remarque : Bien que ces limites soient appliquées à la minute, Cloud Console affiche les totaux quotidiens pour chacune d'elles. Les clients ayant souscrit une formule d'assistance Silver, Gold ou Platinum peuvent demander une augmentation des limites de débit en contactant leur conseiller au sein de l'équipe d'assistance.

Sockets

Données quotidiennes et limites de données par minute (utilisation intensive)
Les applications utilisant des sockets sont soumises à une limite de débit par minute et par jour. Les limites par minute sont définies pour gérer l'utilisation intensive des sockets par les applications.
Ressource Limites par jour Limites par minute (utilisation intensive)
Nombre de liens dans le socket3 456 00019 200
Nombre de créations dans le socket3 456 00019 200
Nombre de connexions dans le socket3 456 00019 200
Nombre d'envois dans le socket663 552 0003 686 400
Nombre de réceptions dans le socket663 552 0003 686 400
Octets reçus dans le socket3,3 To2,4 Go
Octets envoyés dans le socket3,3 To2,4 Go

Task Queue

Appels à l'API Task Queue
Nombre de fois où l'application a appelé l'API Task Queue pour mettre en file d'attente une tâche.
Nombre de tâches stockées dans l'API Task Queue
Nombre total de tâches que l'application a mises en file d'attente et qui ne sont pas encore exécutées.
Nombre d'octets des tâches stockées dans l'API Task Queue
Nombre d'octets consommés par les tâches que l'application a mises en file d'attente et qui ne sont pas encore exécutées.

Lorsqu'une tâche est exécutée, les requêtes associées sont comptabilisées dans les quotas de requêtes de l'application.

Ces limites s'appliquent à toutes les files d'attente de tâches :

Ressource Limite quotidienne Fréquence maximale
Appels à l'API Task Queue 1 000 000 000 n/a
Appels de gestion à l'API Task Queue (via Cloud Console) 10 000 n/a
Ressource Limite par défaut
Nombre de tâches stockées dans l'API Task Queue 10 000 000 000
Nombre d'octets des tâches stockées dans l'API Task Queue Aucun
Nombre maximal de files d'attente (files d'attente d'envoi et de retrait incluses, mais pas la file d'attente par défaut) 100 files d'attente.

Remarque : Une fois une tâche exécutée ou supprimée, l'espace de stockage qu'elle utilisait est libéré. Votre quota de stockage est régulièrement mis à jour et peut ne pas correspondre immédiatement à l'espace récupéré. Vous pouvez configurer une limite du nombre d'octets de tâches stockées en ajustant la configuration de votre file d'attente. Pour en savoir plus, consultez la documentation sur Python, Java, Go ou PHP.

Les limites suivantes s'appliquent aux files d'attente de tâches en fonction de leur type :

Limites de la file d'attente d'envoi
Taille maximale de la tâche100 Ko
Vitesse d'exécution d'une file d'attente500 appels de tâches par seconde et par file d'attente
Décompte/ETA maximal pour une tâche30 jours à partir de la date et de l'heure actuelles
Nombre maximal de tâches pouvant être ajoutées à un lot100 tâches
Nombre maximal de tâches pouvant être ajoutées à une transaction5 tâches
Nombre maximal par défaut de files d'attente de tâches100 files d'attente. Contactez le support pour demander une augmentation.
Limites de la file d'attente de retrait
Taille maximale de la tâche1 Mo
Décompte/ETA maximal pour une tâche 30 jours à partir de la date et de l'heure actuelles
Nombre maximal de tâches pouvant être ajoutées à un lot 100 tâches
Nombre maximal de tâches pouvant être ajoutées à une transaction 5 tâches
Nombre maximal de tâches que vous pouvez louer en une seule opération 1 000 tâches
Volume maximal de charge utile pour l'allocation d'un lot de tâches32 Mo
Nombre maximal par défaut de files d'attente de tâches100 files d'attente. Contactez le support pour demander une augmentation.

Cron

Les quotas suivants s'appliquent spécifiquement aux tâches Cron.

Tâches Cron
Nombre de tâches Cron.
Ressource Limite par défaut
Tâche Cron 250 tâches Cron

URL Fetch

Appels à l'API URL Fetch
Nombre de fois où l'application a accédé au service de récupération d'URL pour effectuer une requête HTTP ou HTTPS.
Données de l'API URL Fetch envoyées
Quantité de données envoyées au service de récupération d'URL dans les requêtes. Elle est également comptabilisée dans le quota de bande passante sortante.
Données de l'API URL Fetch reçues
Quantité de données reçues du service de récupération d'URL dans les réponses. Elle est également comptabilisée dans le quota de bande passante entrante.
Ressource Limite quotidienne Fréquence maximale
Appels à l'API UrlFetch 860 000 000 appels 660 000 appels/minute
Données UrlFetch envoyées 4,5 To 3 600 Mo/minute
Données UrlFetch reçues 4,5 To 3 600 Mo/minute
Cette page vous a-t-elle été utile ? Évaluez-la :

Envoyer des commentaires concernant…

Documentation App Engine