Quotas et limites

Ce document répertorie les quotas et limites système qui s'appliquent à Media CDN.

  • 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 que Media CDN.
  • 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.

Des limites système s'appliquent également aux ressources Media CDN. Les limites système ne peuvent pas être modifiées.

Limites

Les limites suivantes s'appliquent au CDN multimédia.

Configuration

Élément Limites Remarques
Nombre maximum de EdgeCacheService 20 par projet Contactez l'équipe commerciale Google Cloud si vous souhaitez augmenter cette limite.
Nombre maximum de EdgeCacheOrigin 30 par projet Contactez l'équipe commerciale Google Cloud si vous souhaitez augmenter cette limite.
Nombre maximum de EdgeCacheKeyset 10 par projet Contactez l'équipe commerciale Google Cloud si vous souhaitez augmenter cette limite.
Nombre maximal de RouteRules par EdgeCacheService 2000

Chaque EdgeCacheService peut définir jusqu'à 10 PathMatchers, et chaque PathMatcher peut définir jusqu'à 200 RouteRules.

Cette limite ne peut pas être augmentée.

Nombre maximal de certificats SSL par service 5 Cette limite ne peut pas être augmentée. Reportez-vous également au quota par projet pour les certificats SSL.
Nombre maximal de clés publiques par EdgeCacheKeyset 3 Cette limite ne peut pas être augmentée. Les multiples clés d'une collection de clés sont conçues pour permettre une rotation des clés : vous devez supprimer les clés plus anciennes et inutilisées au fil du temps.
Nombre maximal de clés partagées de validation par EdgeCacheKeyset 3 Cette limite ne peut pas être augmentée. Les multiples clés d'une collection de clés sont conçues pour permettre une rotation des clés : vous devez supprimer les clés plus anciennes et inutilisées au fil du temps.

En-têtes, requêtes et réponses HTTP

Élément Limites Remarques
Taille maximale de l'en-tête de requête Environ 11 Kio Cette limite ne peut pas être augmentée.

La taille combinée de l'URL et de l'en-tête de requête est limitée à 15 Kio.

Les requêtes sont rejetées avec une réponse HTTP 431 pour les connexions HTTP/1.1.

Les connexions HTTP/2 sont fermées sans écrire de code de réponse.

Ces requêtes sont consignées avec un objet statusDetails contant la valeur headers_too_long, si la journalisation est activée.

Taille maximale du corps de la requête 16 Kio Les requêtes dont le corps dépasse cette limite sont rejetées avec un code d'état HTTP 413 Content Too Large.
Taille maximale de l'en-tête de réponse Environ 128 Kio Cette limite ne peut pas être augmentée.

Les réponses de l'origine dont les en-têtes dépassent cette limite entraînent l'envoi d'une réponse HTTP 502 au client. Ces réponses sont consignées avec un objet statusDetails contant la valeur backend_response_headers_too_long, si la journalisation est activée.

Taille maximale de l'objet pouvant être mis en cache 100 Gio Cette limite ne peut pas être augmentée.

Il s'agit de la taille maximale des objets à l'origine que Media CDN peut mettre en cache. Les objets plus volumineux sont considérés comme non enregistrables en cache.

Taille maximale des réponses non mises en cache 500 Mio Cette limite ne peut pas être augmentée.

Il s'agit du nombre maximal d'octets dans un corps de réponse que Media CDN met en cache lorsqu'un objet ne peut pas être mis en cache. Les réponses non enregistrables sont tronquées une fois la limite atteinte.

Conversion en minuscules pour les en-têtes Toujours pour Media CDN Media CDN suit les conventions HTTP/2 pour la casse des en-têtes de requête et de réponse.

Quel que soit le protocole utilisé, tous les en-têtes sont convertis en minuscules.

Par exemple, Host devient host et Keep-Alive devient keep-alive.

La casse des valeurs d'en-tête n'est pas modifiée.

Limites de débit des requêtes d'API

Si vous avez besoin d'augmenter la limite de débit des API, vous pouvez examiner l'utilisation actuelle et demander une augmentation.

Élément Limites
Invalidations 10 par minute par EdgeCacheService
Tous les appels qui ne se trouvent pas dans l'espace de noms networkservices 1 200 appels par minute et par projet
Lecture seule : GetEdgeCache*, ListEdgeCache* 100 par minute et par projet
Lecture/écriture : tous les éléments de l'espace de noms networkservices qui ne sont pas marqués comme en lecture seule. 100 par minute et par projet

Délais avant expiration du client

Délai avant expiration Durée maximale Code de réponse Description
Maximum request duration 5 minutes HTTP 408 (Request Timeout) Durée maximale d'une réponse à une requête unique.
Header timeout 10 seconds HTTP 408 (Request Timeout) Durée d'envoi de l'intégralité des en-têtes de requête par le client.

Délais avant expiration de l'origine

  • connectTimeout et maxAttemptsTimeout limitent le temps nécessaire à Media CDN pour trouver une réponse utilisable.

    Les deux délais avant expiration incluent le temps nécessaire à l'origine pour renvoyer des en-têtes et pour déterminer s'il convient d'utiliser un basculement ou une redirection. connectTimeout s'applique indépendamment pour chaque tentative d'origine, tandis que maxAttemptsTimeout inclut le temps nécessaire pour se connecter à toutes les tentatives d'origine, en incluant les basculements et les redirections. Le suivi d'une redirection est considéré comme une tentative supplémentaire de connexion à l'origine et est comptabilisé dans le maxAttempts défini pour l'origine configurée.

    Lorsque Media CDN rencontre une réponse de non redirection, par exemple en provenance d'une origine de redirection ou de basculement, les valeurs readTimeout et responseTimeout s'appliquent. Les origines redirigées utilisent les valeurs connectTimeout, readTimeout et responseTimeout configurées pour le EdgeCacheOrigin qui a rencontré la redirection.

  • responseTimeout et readTimeout contrôlent la durée maximale d'une réponse en flux continu. Une fois que Media CDN a déterminé qu'il utilisera une réponse en amont, ni connectTimeout, ni maxAttemptsTimeout n'ont d'importance. À ce stade, readTimeout et responseTimeout entrent en vigueur.

Media CDN effectue au maximum quatre tentatives d'origine sur toutes les origines, quel que soit le paramètre maxAttempts défini par chaque EdgeCacheOrigin. Media CDN utilise la valeur maxAttemptsTimeout de la EdgeCacheOrigin principale. Les valeurs de délai d'expiration par tentative (connectTimeout, readTimeout et responseTimeout) sont configurées pour la EdgeCacheOrigin de chaque tentative.

Le tableau suivant décrit les champs de délai avant expiration :

Champ Par défaut Description
connectTimeout 5 secondes

Durée maximale utilisable par Media CDN, entre le lancement de la requête et l'origine, avant que Media CDN détermine si la réponse est utilisable. En pratique, connectTimeout couvre le temps nécessaire à la création de la requête, aux recherches DNS, aux handshakes TLS et à l'établissement de connexions TCP/QUIC, jusqu'à l'obtention des en-têtes de réponse qui contiennent le code d'état HTTP.

Le délai avant expiration doit être compris entre 1 et 15 secondes.

maxAttemptsTimeout 15 secondes

Délai maximal pour toutes les tentatives de connexion à l'origine (y compris les origines de basculement) avant qu'une erreur soit renvoyée au client. Une erreur HTTP 504 est renvoyée si le délai avant expiration est atteint avant le renvoi d'une réponse.

Le délai avant expiration doit être compris entre 1 et 30 secondes.

Ce paramètre définit la durée totale de toutes les tentatives de connexion d'origine, en incluant les origines de basculement, afin de plafonner le temps total d'attente des clients avant de lancer la diffusion. Seule la première valeur maxAttemptsTimeout est utilisée, la première valeur étant définie par l'origine configurée pour la route donnée.

readTimeout 15 secondes

Durée maximale d'attente entre les lectures d'une seule réponse HTTP. Le readTimeout est limité par le responseTimeout. Toutes les lectures de la réponse HTTP doivent être effectuées dans le délai défini par le responseTimeout. Le délai avant expiration doit être compris entre 1 et 30 secondes. Si ce délai avant expiration est atteint avant que la réponse ne soit complète, la réponse est tronquée et enregistrée.

responseTimeout 30 seconds

Durée maximale autorisée pour l'obtention d'une réponse complète.

Le délai avant expiration doit être compris entre 1 et 120 secondes.

La durée est mesurée à partir du moment où les premiers octets du corps sont reçus. Si ce délai avant expiration est atteint avant que la réponse ne soit complète, la réponse est tronquée et enregistrée.

Gérer les quotas

Media CDN impose des quotas sur l'utilisation des ressources pour différentes raisons. Il s'agit, par exemple, de préserver la communauté des utilisateurs Google Cloud en empêchant les pics d'utilisation imprévus. Les quotas aident également les utilisateurs qui explorent Google Cloud avec la version gratuite à ne pas dépasser les limites de leur version d'essai.

Tous les projets débutent avec les mêmes quotas, que vous pouvez modifier en demandant un quota supplémentaire. Certains quotas peuvent augmenter automatiquement en fonction de votre utilisation d'un produit.

Autorisations

Pour afficher les quotas ou demander des augmentations de quotas, les entités principales IAM (gestion de l'authentification et des accès) doivent disposer de l'un des rôles suivants :

Tâche Rôle requis
Vérifier les quotas d'un projet Choisissez l'une des options suivantes :
Modifier les quotas, demander un quota supplémentaire Choisissez l'une des options suivantes :

Vérifier les quotas

Console

  1. Dans la console Google Cloud, accédez à la page Quotas.

    Accéder à la section "Quotas"

  2. Pour rechercher le quota à mettre à jour, utilisez l'option Filtrer le tableau. Si vous ne connaissez pas le nom du quota, utilisez les liens disponibles sur cette page à la place.

gcloud

À l'aide de Google Cloud CLI, exécutez la commande suivante pour vérifier vos quotas. Remplacez PROJECT_ID par votre ID de projet :

    gcloud compute project-info describe --project PROJECT_ID

Pour vérifier le quota que vous avez déjà consommé dans une région, exécutez la commande suivante :

    gcloud compute regions describe example-region
    

Erreurs lors du dépassement de votre quota

Si vous dépassez un quota avec une commande gcloud, gcloud génère un message d'erreur quota exceeded et renvoie le code de sortie 1.

Si vous dépassez un quota avec une requête API, Google Cloud renvoie le code d'état HTTP suivant : 413 Request Entity Too Large.

Demander un quota supplémentaire

Vous allez utiliser la console Google Cloud pour ajuster la plupart des quotas. Pour en savoir plus, consultez la section Demander un ajustement de quota.

Console

  1. Dans la console Google Cloud, accédez à la page Quotas.

    Accéder à la section "Quotas"

  2. Sur la page Quotas, sélectionnez les quotas à modifier.
  3. En haut de la page, cliquez sur Modifier les quotas.
  4. Dans le champ Name (Nom), saisissez votre nom.
  5. Facultatif: Dans le champ Téléphone, saisissez un numéro de téléphone.
  6. Envoyez la demande. Le traitement des demandes de quotas nécessite un délai de 24 à 48 heures.

Disponibilité des ressources

Chaque quota représente le nombre maximal de ressources que vous pouvez créer pour un type de ressource donné, sous réserve de disponibilité. Il est important de noter que les quotas ne garantissent pas la disponibilité des ressources. Même si vous disposez d'un quota, vous ne pouvez pas créer une ressource si celle-ci n'est pas disponible.

Par exemple, vous pouvez disposer d'un quota suffisant pour créer une adresse IP régionale externe dans la région us-central1. Toutefois, cela n'est pas possible si aucune adresse IP externe n'est disponible dans cette région. La disponibilité des ressources par zone peut également avoir une incidence sur votre capacité à créer des ressources.

Les situations dans lesquelles des ressources sont indisponibles dans une région entière sont rares. Toutefois, les ressources d'une zone peuvent parfois être épuisées de temps en temps, ce qui n'a généralement pas d'incidence sur le contrat de niveau de service pour le type de ressource. Pour plus d'informations, consultez le contrat de niveau de service correspondant à la ressource.