Maîtriser les coûts avec des contrôles personnalisés

Ce document explique comment définir ou modifier des quotas personnalisés pour contrôler les coûts. Pour découvrir comment les analystes BigQuery peuvent estimer et contrôler les coûts, consultez la section Contrôler les coûts.

Si vous avez plusieurs projets et utilisateurs BigQuery, vous pouvez maîtriser vos coûts en demandant un quota personnalisé qui limite le volume des données de requêtes traitées chaque jour. Les quotas quotidiens sont réinitialisés à minuit, heure du Pacifique.

Les quotas personnalisés sont préventifs. Vous ne pourrez donc pas exécuter une requête de 11 To si vous disposez d'un quota de 10 To. Créer un quota personnalisé pour les données de requêtes vous permet de maîtriser vos coûts au niveau du projet ou de l'utilisateur.

  • Les quotas personnalisés au niveau du projet limitent l'utilisation globale de tous les utilisateurs de ce projet.

  • Les quotas personnalisés au niveau de l'utilisateur sont appliqués séparément à tous les utilisateurs et comptes de service au sein d'un projet.

Rôle requis

Pour obtenir l'autorisation dont vous avez besoin pour modifier votre quota, demandez à votre administrateur de vous accorder le rôle IAM "Administrateur de quotas" (role/servicemanagement.quotaAdmin) sur votre projet. Pour en savoir plus sur l'attribution de rôles, consultez la page Gérer l'accès aux projets, aux dossiers et aux organisations.

Ce rôle prédéfini contient l'autorisation serviceusage.quotas.update, qui est requise pour modifier votre quota.

Vous pouvez également obtenir cette autorisation avec des rôles personnalisés ou d'autres rôles prédéfinis.

Définir ou modifier des quotas personnalisés

Vous pouvez définir un quota personnalisé ou modifier un quota personnalisé existant pour tout quota affiché sur la page Quotas de la console Google Cloud. Pour en savoir plus, consultez la page Afficher et gérer les quotas. Lorsque vous demandez un quota inférieur, la modification prend effet en quelques minutes. (Si vous demandez un quota plus élevé, votre demande est soumise à un processus d'approbation, qui peut prendre plus de temps. Pour plus d'informations, consultez la page Demander une limite de quota supérieure.)

Vous pouvez afficher les niveaux de vos quotas personnalisés sur la page console Google Cloud. Lorsque vous avez défini un quota personnalisé, BigQuery vous renvoie une erreur dès que vous le dépassez :

  • Si vous dépassez un quota personnalisé au niveau du projet, BigQuery renvoie l'erreur usageQuotaExceeded :

    Custom quota exceeded: Your usage exceeded the custom quota for
    QueryUsagePerDay, which is set by your administrator. For more information,
    see https://cloud.google.com/bigquery/cost-controls
  • Si un utilisateur dépasse un quota personnalisé au niveau de l'utilisateur, BigQuery renvoie une erreur usageQuotaExceeded avec un message d'erreur différent :

    Custom quota exceeded: Your usage exceeded the custom quota for
    QueryUsagePerUserPerDay, which is set by your administrator. For more
    information, see https://cloud.google.com/bigquery/cost-controls

Vous pouvez exécuter votre requête à partir d'un autre projet qui a accès à vos ensembles de données, et qui n'est pas soumis à un quota personnalisé ou ne l'a pas encore dépassé.

Exemple

Supposons que vous définissiez les quotas personnalisés suivants pour un projet avec 10 utilisateurs, dont un compte de service :

  • Au niveau du projet : 50 To par jour
  • Au niveau de l'utilisateur : 10 To par jour

Les quotas personnalisés au niveau du projet limitent l'utilisation globale de tous les utilisateurs de ce projet. Les quotas personnalisés au niveau de l'utilisateur sont appliqués séparément à chaque compte utilisateur ou compte de service dans un projet.

Le tableau suivant décrit le quota restant à mesure que les 10 utilisateurs exécutent des requêtes tout au long de la journée.

Utilisation Quota restant
Chacun des 10 utilisateurs exécute des requêtes à hauteur de 4 To. Au niveau du projet : il reste 0 To.
Au niveau de l'utilisateur : il reste 6 To par utilisateur, mais seulement jusqu'à 10 To au total.
Le compte de service exécute ensuite des requêtes à hauteur de 6 To. Au niveau du projet : il reste 4 To.
Au niveau de l'utilisateur : le compte de service ne peut plus utiliser BigQuery. Il reste 6 To par personne pour les autres utilisateurs, mais seulement jusqu'à 4 To au total.
Un utilisateur exécute ensuite des requêtes à hauteur de 4 To. Au niveau du projet : il reste 0 To.
Au niveau de l'utilisateur : il reste des téraoctets, mais personne ne peut utiliser BigQuery, car le quota au niveau du projet a été dépassé.

Étant donné que le quota est atteint, BigQuery cesse de fonctionner pour toutes les personnes impliquées dans ce projet.

Étapes suivantes