Quotas et limites

ID de la région

Le REGION_ID est un code abrégé que Google attribue en fonction de la région que vous sélectionnez lors de la création de votre application. Le code ne correspond pas à un pays ou une province, même si certains ID de région peuvent ressembler aux codes de pays et de province couramment utilisés. Pour les applications créées après février 2020, REGION_ID.r est inclus dans les URL App Engine. Pour les applications existantes créées avant cette date, l'ID de région est facultatif dans l'URL.

En savoir plus sur les ID de région

Ce document répertorie les quotas et limites qui s'appliquent à App Engine.

  • Les quotas spécifient la quantité d'une ressource partagée dénombrable que vous pouvez utiliser. Les quotas sont définis par des services Google Cloud tels qu'App Engine.
  • Les limites système sont des valeurs fixes qui ne peuvent pas être modifiées.

Google Cloud utilise des quotas pour garantir l'équité et réduire les pics d'utilisation et de disponibilité des ressources. Un quota limite la quantité de ressources Google Cloud que votre projet Google Cloud peut utiliser. Les quotas s'appliquent à différents types de ressources, y compris les composants matériels, logiciels et réseau. Par exemple, les quotas peuvent limiter le nombre d'appels d'API à un service, le nombre d'équilibreurs de charge utilisés simultanément par votre projet ou le nombre de projets que vous pouvez créer. Les quotas protègent la communauté des utilisateurs de Google Cloud en empêchant la surcharge des services. Les quotas vous aident également à gérer vos propres ressources Google Cloud.

Le système Cloud Quotas effectue les opérations suivantes :

  • Surveille votre consommation de produits et services Google Cloud
  • Limite votre consommation de ces ressources
  • Permet de demander des modifications de la valeur du quota

Dans la plupart des cas, lorsque vous tentez d'utiliser plus d'une ressource que son quota ne le permet, le système bloque l'accès à la ressource et la tâche que vous essayez d'effectuer échoue.

Les quotas s'appliquent généralement au niveau du projet Google Cloud. Votre utilisation d'une ressource dans un projet n'affecte pas votre quota disponible dans un autre projet. Dans un projet Google Cloud, les quotas sont partagés entre toutes les applications et adresses IP.

Il existe également des limites pour les ressources App Engine. Les limites système ne peuvent pas être modifiées.

La consommation de ressources d'une application App Engine est limitée par certains quotas. Pour consulter la consommation quotidienne de vos applications dans la console Google Cloud, accédez à la page d'informations sur les quotas.

Types de quotas

Les types de quotas suivants s'appliquent à vos applications App Engine :

  • Les quotas gratuits fournissent gratuitement une certaine quantité de chaque ressource à votre application. Vous trouverez des informations sur les quotas gratuits dans la section Ressources de cette page. Une fois que votre application a consommé un quota gratuit, toute utilisation supplémentaire de la ressource concernée vous est facturée.

    Seul l'environnement standard App Engine offre des quotas gratuits.

  • Les quotas quotidiens protègent l'intégrité du système App Engine en garantissant qu'aucune application ne consomme trop de ressources au détriment des autres. Un message d'erreur s'affiche si vous dépassez ces limites. Les quotas quotidiens sont réactualisés à minuit (heure du Pacifique).
  • 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 quota par minute, le mot "Limité" s'affiche à côté du quota concerné sur la page Quotas de la console Google Cloud. Les requêtes portant sur les ressources qui atteignent leur limite par minute sont refusées.

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

Pour connaître les conséquences d'un dépassement de quota et découvrir comment gérer les conditions de ce dépassement, consultez la section Lorsqu'une ressource est épuisée.

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 d'un 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 s'applique à la ressource Instances-heure.

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), Java, Go, PHP (5.5, 7) 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 ? Vous pouvez contacter Cloud Customer Care pour demander des limites de débit plus élevées. Si vous avez besoin d'un quota d'e-mails plus important, vous pouvez envoyer des e-mails avec SendGrid.

Quotas pour l'environnement flexible App Engine

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

Par exemple, vous pouvez consulter l'utilisation des ressources d'instance de vos services sur la page Quotas des ressources de Compute Engine.

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.

Services, versions et instances

Le nombre de services, de versions et d'instances (pour les services avec scaling manuel) est limité pour chaque application. Les environnements standard et flexible partagent les mêmes limites pour les services et les versions. Par exemple, si vous disposez de versions standards et flexibles dans la même application, ces versions sont prises en compte dans la même limite.

Description Limite
Nombre maximal de services par application 210
Nombre maximal de versions par application 210 *
Nombre maximal d'instances par version avec scaling manuel 20

* Les services de backend, tels que ceux utilisés par un équilibreur de charge HTTP externe, peuvent être pris en compte dans le nombre maximal de versions.

Le nombre de caractères dans l'URL de votre application est également limité.
Description Limite
Nombre maximal de caractères dans l'URL du projet pour l'URL VERSION-dot-SERVICE-dot-PROJECT_ID 63

Tous les projets ne sont pas soumis aux limites ci-dessus, qui peuvent évoluer à mesure que votre utilisation de Google Cloud Platform s'intensifie. Si vous prévoyez une augmentation notable de votre utilisation, vous pouvez demander des ajustements de manière proactive à partir de la page "Quotas d'App Engine" dans la console Google Cloud.

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 par défaut gratuit sur la page des paramètres App Engine de la console Google Cloud 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 Premier Go gratuit ; 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 taille totale du code et des fichiers statiques stockés est indiquée dans le tableau de bord principal. Les tailles 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.

Firestore en mode Datastore (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 la console Google Cloud 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é.
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 de Datastore.
Opérations mineures
Nombre total d'opérations mineures de Datastore. Les opérations mineures incluent les appels relatifs à 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 Gio 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

Vous pouvez déployer chaque application App Engine jusqu'à 10 000 fois par jour.

Lors du déploiement, Cloud Build crée une image de conteneur et la stocke dans Artifact Registry. Des frais vous seront facturés si l'espace de stockage total occupé par les images est supérieur à celui inclus dans la version gratuite.

Fichiers

Le quota suivant s'applique au nombre total de fichiers de déploiement d'applications.

Fichiers Maximum
Fichiers par défaut par application 10 000 fichiers
Contactez l'assistance pour demander une augmentation.

Heures d'utilisation d'une instance

L'utilisation des instances est facturée selon leur temps d'activité, à un taux horaire donné.

Des quotas gratuits sont appliqués spécifiquement aux classes d'instances "F" et "B" (également appelées classes d'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 Quota gratuit
Instances F1 28 instances-heure gratuites par jour
Instances B1 9 instances-heure gratuites par jour

Les instances-heure sont comptabilisées entre le démarrage et l'arrêt de l'instance, et en fonction du type de scaling défini. Les règles suivantes sont appliquées :

  • Scaling de base ou automatique : le décompte se termine 15 minutes après que l'instance a fini de traiter sa dernière requête.
  • Scaling manuel : le décompte se termine 15 minutes après l'arrêt de l'instance.

Si le nombre d'instances inactives créées par App Engine dépasse le maximum défini dans l'onglet "Paramètres de performances" de la console Google Cloud, les instances-heure des instances excédentaires ne sont pas comptabilisées.

Journaux

L'API Logs fait l'objet d'une facturation à l'usage 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 données des journaux de requête et des journaux d'application pour une application. La journalisation des applications App Engine est fournie par Google Cloud Observability. Pour en savoir plus sur les taux et les limites, consultez les tarifs d'observabilité de Google Cloud.

Messagerie

Vous pouvez consulter la consommation de l'API Mail sur la page des quotas IAM.

Remarque : Pour afficher la consommation des quotas d'une application sur la page des Quotas d'IAM, assurez-vous que le service de création de rapports App Engine est activé pour le projet. Si vous ne pouvez pas activer le service, vérifiez vos autorisations et la contrainte de règle d'administration constraints/serviceuser.services.

Remarque : Vous pouvez suivre les étapes décrites sur cette page pour demander des limites plus élevées.

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 à des utilisateurs non administrateurs
Nombre total de messages envoyés par l'application à des utilisateurs non administrateurs de l'application.
Messages envoyés aux administrateurs
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.
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.
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.
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.

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, la console Google Cloud 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.

File d'attente de tâches

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 de gestion à l'API Task Queue (via la console Google Cloud) 10 000 n/a
Ressource Limite par défaut
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é. 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 l'assistance 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 URL Fetch envoyées
Quantité de données envoyées au service de récupération d'URL dans les requêtes.
Données 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