web-dev-qa-db-fra.com

Comment définir une limite de coût dans Google Developers Console

Certaines fonctions de la Google Developers Console, comme l'API Analytics, sont gratuites jusqu'à ce que vous atteigniez un quota. D'autres fonctions, comme Google Cloud Storage, génèrent des coûts dès le premier clic.

Lorsque je télécharge un fichier sous https://console.developers.google.com/ > Storage > Cloud Storage > Storage Browser et je rends ce fichier accessible au public, je paie environ 0,12 $ par Go de trafic.

Mais théoriquement, le trafic vers ce lien pourrait exploser, par exemple à cause de la popularité soudaine. Par conséquent, je voudrais définir quelque chose comme une limite de coût quotidienne ou mensuelle.

Q: Comment puis-je me protéger contre des coûts trop élevés dans la Google Developers Console?

30
ptmr.io

Depuis juillet 2017, vous pouvez définir des budgets qui envoient des notifications par e-mail mais ne plafonnent pas les dépenses :

screenshot of GCS documentation warning that budget does not cap API usage

Pour définir un budget d'alerte uniquement, qui ne plafonnera pas les dépenses :

  1. Accédez à la console Cloud Platform.
  2. Ouvrez le menu de gauche de la console et cliquez sur Facturation
  3. Si vous avez plusieurs comptes de facturation, cliquez sur le nom du compte de facturation.
  4. À gauche, cliquez sur Budgets et alertes.

Page d'aide officielle: https://support.google.com/cloud/answer/6293540?hl=en

4
ptmr.io

Vous ne pouvez pas. J'ai demandé à Google à ce sujet, voici leur réponse, du 7 mai 2016:

(GCE = moteur cloud Google. Aucune limite de dépenses.
GAE = moteur d'application Google - oui, il a des limites de dépenses.)

... vous êtes éligible au support sur ... uniquement ...
... [ divers liens utiles ] ...

Cela dit, il n'y a pour le moment aucune fonctionnalité qui vous permet de configurer un budget limité sur GCE. Cette fonctionnalité est certainement disponible pour GAE [1]. Comme vous l'avez mentionné dans vos commentaires, vous pouvez soit arrêter totalement vos machines virtuelles (cela dépendra de votre cas d'utilisation), soit configurer les machines virtuelles pour vous envoyer des alertes si elles atteignent une certaine limite de trafic [2].

Cordialement,

Prénom de quelqu'un
Représentant des solutions techniques
Google Cloud Platform

[1] https://cloud.google.com/appengine/docs/quotas
[2] https://cloud.google.com/monitoring/support/notification-options

@wmdry, vous avez écrit: "le trafic vers ce lien pourrait exploser " - j'en ai peur aussi. C'est pourquoi j'ai interrogé Google à ce sujet. Et je prévois d'éviter le CDN de Google à cause de cela, et d'utiliser un autre fournisseur CDN à la place, qui a des limites de dépenses. Parce que, contrairement à Nginx, je ne vois aucun moyen pour moi de limiter/limiter le CDN de Google.

Je prévois cependant d'utiliser GCE (Google Cloud Engine). Par conséquent, en ce moment, je lis comment limiter le taux de mon serveur Nginx. Parce que si je configure juste Nginx correctement, alors ces 0,12 $/Go que vous avez mentionnés ne peuvent pas exploser ... comme 10 000 $ en un mois? Que se passe-t-il si Google envoie une facture de 10 000 $ à mon retour de quelques semaines de vacances, juste à cause de mon projet de loisir et de quelques personnes qui téléchargent un film de 1 Mo à maintes reprises pour toujours (parce que: diabolique). Hmm, et plus mes serveurs sont grands et rapides, plus le risque est élevé.

J'espère que Google ajoutera des limites de dépenses, car je voulais utiliser le CDN de Google.

16
KajMagnus

Accédez simplement à la console développeur:

https://console.developers.google.com/project

  • Sélectionnez votre projet.
  • Sélectionnez "facturation et paramètres"
  • Activez la facturation.

Ensuite, allez dans Calcul/AppEngine/Paramètres et définissez un budget quotidien.

enter image description here

4
Paul Collingwood

L'utilisation de l'API peut être limitée avec une limite stricte:

Selon l'API, vous pouvez explicitement plafonner les demandes de différentes manières, notamment: les demandes par jour, les demandes par 100 secondes et les demandes par 100 secondes par utilisateur. Vous souhaiterez peut-être limiter l'utilisation facturable en définissant des plafonds. Par exemple, pour éviter d'être facturé pour une utilisation au-delà des limites d'utilisation de courtoisie gratuite, vous pouvez définir des plafonds de demandes par jour

De: https://cloud.google.com/apis/docs/capping-api-usage

2
Florian

J'ai trouvé que la documentation de Google propose désormais deux méthodes pour limiter le coût d'un projet GCP. Cela implique la configuration suivante:

  1. Créez une fonction cloud qui vérifie le coût par rapport au budget , et exécute une certaine action si le coût dépasse le budget. La documentation de Google fournit un exemple coupure de code qui peut soit arrêter toutes les instances VM dans un projet ou désactiver la facturation d'un projet. L'arrêt de toutes les VM arrêterait toutes les VM- mais vous devez conserver vos données (et vous devez toujours payer pour le stockage). La désactivation de la facturation pour un projet entraînerait la fermeture effective de toutes les activités liées aux coûts et vous pourriez perdre des données. Vous pouvez nommer le responsable de budget Cloud Function "Cloud Function" ".
  2. L'extrait de code Google fourni ci-dessus a une variable de zone codée en dur. N'oubliez pas de le modifier en fonction de votre zone!
  3. Créez un compte de service pour exécuter la fonction cloud "Budget-Enforcer". Pour arrêter des machines virtuelles, le compte de service aurait besoin du rôle "Administrateur d'instance de calcul (v1)". Pour désactiver la facturation sur un projet, le compte de service aurait besoin du rôle "Project Billing Manager".
  4. Définissez un sujet pour la fonction cloud (j'appelle le mien "proj-name-stop-vm" et "proj-name-disable-bill").
  5. Configurez une alerte budgétaire comme d'habitude et connectez-la à l'un des sujets Pub/Sub ci-dessus.

Veuillez noter que la documentation de Google mentionne qu'il peut y avoir un délai entre le coût dépasse un budget et la fonction est déclenchée, vous devez donc créer un tampon si vous avez une limite de coût absolue absolue. J'utilise 90% du budget comme ligne de déclenchement pour fermer mes instances.

1
Yan Li