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. Ils 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 système pour les ressources App Engine. Ces limites ne sont pas liées au système de quotas. Sauf indication contraire, les limites 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.
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 maximal de services et de versions que vous pouvez déployer dépend du tarif de l'application. Les environnements flexible et standard 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.
Limite | Application gratuite | Application payante |
---|---|---|
Nombre maximal de services par application | 5 | 210 |
Nombre maximal de versions par application | 15 | 210 |
Il existe également une limite au nombre d'instances de chaque service si vous avez spécifié le scaling de base ou manuel pour votre application :
Nombre maximal d'instances par version avec scaling de base/manuel | ||
---|---|---|
Application gratuite | Application payante US | Application payante UE |
20 | 25 (200 pour us-central ) |
25 |
Le nombre d'instances pouvant s'exécuter pour les versions standards est également limité par projet et par région. La classe d'instance du service détermine la limite appliquée et la contribution d'une instance de ce service à l'utilisation du quota. Par exemple, une instance F4 équivaut à quatre instances frontend normalisées.
Vous pouvez afficher la consommation du quota d'instances sur la page Quotas d'IAM.
Description | Limite | Augmentation possible |
---|---|---|
Nombre maximal d'instances de frontend par projet et par région mesuré sur une période d'une minute | Dépend de la région sélectionnée. Cette limite peut être supérieure dans les régions disposant d'une grande capacité ou inférieure dans les régions récemment ouvertes. | Oui |
Nombre maximal d'instances de backend par projet et par région mesuré sur une période d'une minute | Dépend de la région sélectionnée. Cette limite peut être supérieure dans les régions disposant d'une grande capacité ou inférieure dans les régions récemment ouvertes. | Oui |
Remarque : Vous pouvez suivre les étapes décrites sur cette page pour demander des limites plus élevées.
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 |
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.
Search
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
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âche | 100 ko |
Vitesse d'exécution d'une file d'attente | 500 appels de tâches par seconde et par file d'attente |
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 par défaut de files d'attente de tâches | 100 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 |