Google Cloud utilise des quotas pour limiter la part d'une ressource Google Cloud partagée spécifique que vous pouvez utiliser. Chaque quota représente une ressource dénombrable spécifique, comme les appels d'API à un service particulier, le nombre d'octets envoyés à un service particulier ou le nombre de connexions en streaming utilisées simultanément par votre projet.
De nombreux services présentent également des limites qui ne sont pas liées au système de quotas. Il s'agit de contraintes fixes, telles que la taille maximale des messages ou le nombre de ressources Pub/Sub que vous pouvez créer dans un projet, qui ne peuvent pas être augmentées ni diminuées.
Afficher et gérer les quotas
Pour un projet donné, vous pouvez consulter les limites de quota actuelles et l'utilisation des quotas dans le tableau de bord des quotas IAM et d'administration. Il vous permet également d'effectuer les opérations suivantes:
- Réduire les limites de quota
- Envoyer une demande d'augmentation des limites de quotas
Pour en savoir plus sur la surveillance et les alertes relatives à votre utilisation des quotas, consultez la page Surveillance.
Attribution des quotas
Pour le débit d'abonné push, l'utilisation du quota est imputée au projet contenant l'abonnement push. Il s'agit du projet qui apparaît dans le nom de l'abonnement.
Pour tous les autres quotas, l'utilisation est facturée au niveau du projet associé aux identifiants spécifiés dans la requête. L'utilisation du quota n'est pas facturée pour le projet contenant la ressource demandée.
Par exemple, si un compte de service du projet A envoie une requête de publication dans un sujet du projet B, le quota est facturé au projet A.
Dans certains cas, vous pouvez être facturé pour un autre projet. Vous pouvez utiliser le paramètre système X-Goog-User-Project
afin de modifier le projet pour l'attribution des quotas. Pour en savoir plus sur X-Goog-User-Project
, consultez Paramètres système.
Vous pouvez utiliser gcloud CLI pour définir le projet pour l'attribution de quotas pour une requête spécifique. Gcloud CLI envoie l'en-tête de requête X-Goog-User-Project
.
Vous devez disposer du rôle roles/serviceusage.serviceUsageConsumer
ou d'un rôle personnalisé avec l'autorisation serviceusage.services.use
sur le projet que vous allez utiliser pour l'attribution des quotas.
L'exemple suivant montre comment obtenir la liste des abonnements du projet RESOURCE_PROJECT tout en facturant le quota d'opérations d'administrateur sur le projet QUOTA_PROJECT. Exécutez la commande suivante dans votre terminal Google Cloud CLI:
gcloud pubsub subscriptions list --project=
RESOURCE_PROJECT --billing-project=
QUOTA_PROJECT
Remplacez QUOTA_PROJECT
par l'ID du projet Google Cloud pour lequel vous souhaitez facturer le quota.
Notez que dans Pub/Sub, le projet facturé est toujours celui qui contient la ressource. Vous ne pouvez modifier le projet que pour l'attribution des quotas.
Quotas Pub/Sub
Les quotas répertoriés dans le tableau suivant peuvent être affichés et modifiés par projet dans le tableau de bord des quotas d'API et de services.
Il existe trois types de quotas régionaux:
- Grandes régions:
europe-west1
,europe-west4
,us-central1
,us-east1
,us-east4
,us-west1
etus-west2
- Régions moyennes:
asia-east1
,asia-northeast1
,asia-southeast1
,europe-west2
,europe-west3
- Petites régions : toutes les autres régions
Les quotas de distribution de type "exactement une fois" sont spécifiques à une région. Pour connaître les détails de chaque région, consultez le tableau suivant.
Quota | Limite de quota par défaut | Description |
---|---|---|
Débit d'éditeur par région |
|
L'utilisation du quota est basée sur la taille des
Sachez que plusieurs messages peuvent être inclus dans une seule requête de publication. Aucuns frais de quota supplémentaires par message ne sont appliqués. |
Débit d'abonné pull par région |
|
L'utilisation du quota est basée sur la taille des
|
Débit d'accusé de réception par région |
|
L'utilisation du quota est basée sur la taille des requêtes
|
Débit d'abonné push et d'exportation par région |
|
Pour les requêtes de distribution push effectuées sur le point de terminaison push, l'utilisation du quota est basée sur la taille des |
Débit d'abonné StreamingPull par région |
|
L'utilisation du quota est basée sur la taille des
Sachez que les bibliothèques clientes utilisent les opérations StreamingPull dans la mesure du possible. |
Nombre de connexions StreamingPull ouvertes par région |
|
Il s'agit du nombre de connexions StreamingPull ouvertes à un moment donné. Pour en savoir plus, consultez la section StreamingPull. |
Opérations d'administrateur | 6 000 par minute (100 opérations/s) |
Chaque opération d'administrateur, telle que GetTopicRequest, impute une unité à ce quota.
|
Nombre de messages consommés via les abonnements avec distribution exactement une fois activée par région |
|
L'utilisation du quota est basée sur le nombre de
|
Nombre de messages confirmés ou dont le délai est prolongé lors de l'utilisation d'abonnements avec la distribution exactement une fois activée par région |
|
L'utilisation du quota est basée sur le nombre d'ID de confirmation dans les requêtes
|
Unités de quota de débit
L'utilisation du quota de débit est mesurée en unités de 1 Ko. 1 Ko correspond à
1 000 octets. Par exemple, dans une requête PublishRequest
contenant
105 messages de 50 octets chacun, la taille des données utilisateur correspond
à 105 * 50 bytes = 5250 bytes
. L'utilisation du quota est donc de max(1kB, ceil(5250 bytes/1000)) = 6kB
.
Limites de ressources
Ressource | Limites |
---|---|
Projet |
10 000 sujets 10 000 abonnements associés ou dissociés 5 000 instantanés 10 000 schémas |
Sujet |
10 000 abonnements associés 5 000 instantanés associés Si la conservation des messages du sujet est configurée, les messages publiés sur un sujet peuvent être conservés dans un stockage persistant jusqu'à 31 jours après leur publication. |
Abonnement |
Par défaut, les messages non confirmés sont conservés dans un stockage persistant durant sept jours à compter de leur publication. Il n'y a pas de limite
au nombre de messages conservés. Si un abonné n'utilise pas son abonnement, celui-ci expire. Par défaut, le délai d'expiration est de 31 jours. |
Schéma | Taille du schéma (champ definition ): 50 KoRévisions par schéma: 20 |
Requête de publication |
10 Mo (taille totale) 1 000 messages |
Message |
Taille du message (champ data ): 10 MoAttributs par message: 100 Taille de la clé d'attribut: 256 octets Taille de la valeur d'attribut: 1 024 octets |
Flux StreamingPull | 10 Mo/s par flux ouvert |
Messages pull/StreamingPull | Le service peut imposer des limites au nombre total de messages StreamingPull en attente par connexion. Si vous rencontrez de telles limites, augmentez la vitesse à laquelle vous accusez réception des messages et le nombre de connexions que vous utilisez. |
Confirmer et modifier des requêtes AMDDeadline |
512 ko (taille totale) |
Ordonner des clés | Si les messages ont des clés de tri, le débit d'éditeur maximal est de 1 Mbit/s pour chaque clé de tri. |
Utiliser un compte de service pour des quotas plus élevés
Si vous utilisez l'outil gcloud Google Cloud CLI avec un compte utilisateur normal (c'est-à-dire autre qu'un compte de service), les opérations Pub/Sub sont limitées à un débit adapté aux opérations manuelles. Les taux au-delà de cette limite génèrent l'erreur RESOURCE_EXHAUSTED. La solution consiste à vérifier que vous utilisez les identifiants du compte de service. Si vous souhaitez vous servir des identifiants de gcloud CLI pour l'automatisation, activez un compte de service pour vos opérations Pub/Sub.
Utiliser des points de terminaison régionaux pour acheminer les requêtes
Si vous disposez de quotas supplémentaires dans certaines régions, vous pouvez acheminer les requêtes vers ces régions à l'aide des points de terminaison régionaux Pub/Sub. Lorsque vous publiez des messages sur un point de terminaison mondial, le service Pub/Sub peut acheminer le trafic vers une région qui ne dispose pas d'un quota suffisant.
Incohérences de quotas
Des incohérences de quotas peuvent se produire lorsque les messages publiés ou reçus ont une taille inférieure à 1 000 octets. Exemple :
Si vous publiez 10 messages de 500 octets dans des requêtes distinctes, votre quota de publication sera de 10 000 octets. En effet, les messages dont la taille est inférieure à 1 000 octets sont automatiquement arrondis à la tranche de 1 000 octets supérieure.
Si vous recevez ces 10 messages via une seule réponse pull, l'utilisation de votre quota d'abonné peut n'être que de 5 Ko, car la taille réelle de chaque message est combinée pour déterminer le quota global.
L'inverse est également vrai. L'utilisation du quota d'abonné peut être supérieure à l'utilisation du quota de publication si vous publiez plusieurs messages via une seule requête de publication ou si vous recevez les messages via des requêtes pull distinctes.