Aperçu
Pour utiliser la gestion des coûts de Google Cloud dans Datadog, suivez ces étapes :
- Configurez l’intégration Google Cloud Platform
- Configurez l’exportation détaillée des coûts d’utilisation avec les autorisations nécessaires (Google Service APIs, accès au projet d’exportation et accès au jeu de données BigQuery)
- Créez ou sélectionnez un Google Cloud Storage bucket avec les autorisations nécessaires (accès au bucket)
Configuration
Vous pouvez configurer en utilisant l’API, Terraform ou directement dans Datadog en suivant les instructions ci-dessous.
Accédez à Setup & Configuration, ajoutez un compte Google Cloud Platform et suivez les étapes pour configurer l’intégration Google Cloud Platform.
L'intégration Datadog Google Cloud Platform permet à Cloud Costs de surveiller automatiquement tous les projets auxquels ce compte de service a accès.
Pour limiter les hôtes de surveillance de l'infrastructure pour ces projets, appliquez des balises aux hôtes. Ensuite, définissez si les balises doivent être incluses ou exclues de la surveillance dans la section Limit Metric Collection Filters de la page d'intégration.
Activez l’exportation détaillée des coûts d’utilisation
Les données
détaillées sur les coûts d'utilisation fournissent toutes les informations incluses dans les données standard sur les coûts d'utilisation, ainsi que des champs supplémentaires qui fournissent des données de coût au niveau des ressources.
- Accédez à Billing Export sous la console Google Cloud Billing.
- Activez l’Detailed Usage cost export (sélectionnez ou créez un projet et un ensemble de données BigQuery)
- Documentez le Billing Account ID pour le compte de facturation où l’exportation a été configurée, ainsi que l’export Project ID et Dataset Name.
Les ensembles de données d’exportation de facturation BigQuery nouvellement créés ne contiennent que les deux derniers mois de données. Il peut falloir un jour ou deux pour que ces données soient remplies dans BigQuery.
Activez les Google Service APIs
Les autorisations suivantes permettent à Datadog d’accéder et de transférer l’exportation de facturation dans le bucket de stockage à l’aide d’une requête BigQuery planifiée.
Définissez les détails de configuration
Entrez les détails suivants pour votre configuration :
Google Cloud Storage bucket : Sélectionnez Oui pour créer un bucket de stockage, ou sélectionnez Non pour utiliser un bucket existant.
Remarque : Si vous utilisez un bucket existant, vérifiez que le bucket est co-localisé avec l’ensemble de données d’exportation BigQuery.
Bucket name : Le nom de votre nouveau Google Cloud Storage bucket ou de celui existant.
Région : La région GCP de votre bucket. Par exemple, northamerica-northeast1.
Identifiant du compte de facturation : L’identifiant du compte de facturation pour lequel vos rapports d’exportation des coûts d’utilisation sont générés.
Nom et identifiant du projet d’exportation : Le nom et l’identifiant de votre projet d’exportation.
Nom et identifiant du dataset d’exportation : Le nom et l’identifiant de votre dataset d’exportation.
Créer une exportation de coûts et activer les Google Service APIs
Complétez les étapes Enable detailed usage cost export et Enable Google Service APIs ci-dessus, puis revenez à CCM.
Dans l’interface utilisateur de configuration Terraform de CCM, suivez les instructions de l’étape Apply Terraform Configuration. Résolvez tous les problèmes qui apparaissent lors de l’exécution de terraform plan ou terraform apply avant de revenir à CCM pour confirmer la création du compte.
Ajoutez le compte de service en tant que principal sur la ressource du projet de dataset d’exportation :
- Accédez à la page IAM dans la console Google Cloud et sélectionnez le projet de dataset d’exportation.
- Sélectionnez le compte de service en tant que principal.
- Sélectionnez un rôle avec les permissions suivantes à accorder dans la liste déroulante :
bigquery.jobs.createbigquery.transfers.getbigquery.transfers.update
Remarque : Cela peut être un rôle personnalisé, ou vous pouvez utiliser le rôle Google Cloud existant roles/bigquery.admin.
Ajoutez le compte de service en tant que principal sur la ressource du dataset BigQuery d’exportation :
- Dans le panneau Explorateur de la page BigQuery, développez votre projet et sélectionnez le dataset BigQuery d’exportation.
- Cliquez sur Sharing > Permissions puis sur add principal.
- Dans le nouveau champ des principals, entrez le compte de service.
- En utilisant la liste de sélection d’un rôle, assignez un rôle avec les permissions suivantes :
bigquery.datasets.getbigquery.tables.createbigquery.tables.deletebigquery.tables.exportbigquery.tables.getbigquery.tables.getDatabigquery.tables.listbigquery.tables.updatebigquery.tables.updateData
Remarque : Cela peut être un rôle personnalisé, ou vous pouvez utiliser le rôle Google Cloud existant roles/bigquery.dataEditor.
Ajoutez le compte de service en tant que principal sur la ressource du GCS bucket:
- Accédez à la page des Buckets de Cloud Storage dans la console Google Cloud et sélectionnez votre bucket.
- Sélectionnez l’onglet des permissions et cliquez sur le bouton grant access.
- Dans le nouveau champ des principals, entrez le compte de service.
- Assignez un rôle avec les permissions suivantes :
storage.buckets.getstorage.objects.createstorage.objects.deletestorage.objects.getstorage.objects.list
Remarque : Cela peut être un rôle personnalisé, ou vous pouvez utiliser les rôles Google Cloud existants roles/storage.legacyObjectReader et roles/storage.legacyBucketWriter.
Créez ou sélectionnez un [Google Cloud Storage bucket]
La solution Cloud Cost Management utilise un [Google Cloud Storage bucket] pour recevoir des données extraites de votre [Detailed Usage Cost BigQuery dataset] (préfixé par datadog_cloud_cost_detailed_usage_export). Vous pouvez créer un nouveau bucket ou utiliser un existant.
Remarque : Le bucket doit être co-localisé avec l’ensemble de données d’exportation BigQuery.
Si votre compte de service intégré existe dans un projet Google Cloud Platform différent de votre ensemble de données d’exportation de facturation, vous devez accorder l’autorisation de compte de service inter-projets :
Déclenchez la création de l’agent de service en suivant la documentation officielle en utilisant les valeurs suivantes :
POINT D’ACCÈS : bigquerydatatransfer.googleapis.com
TYPE DE RESSOURCE : project
RESOURCE_ID : export dataset project
Cela crée un nouvel agent de service qui ressemble à service-<billing project number>@gcp-sa-bigquerydatatransfer.iam.gserviceaccount.com.
Ajoutez le rôle [BigQuery Data Transfer Service Account] créé par le déclencheur en tant que principal sur votre compte de service.
Attribuez-lui le rôle roles/iam.serviceAccountTokenCreator.
Continuez à suivre les étapes indiquées dans Setup & Configuration.
Remarque : Les données peuvent prendre de 48 à 72 heures après la configuration pour se stabiliser dans Datadog.
Obtention des données historiques
Les ensembles de données d’exportation de facturation BigQuery nouvellement créés ne contiennent que les 2 derniers mois de données. Il peut falloir un jour ou deux pour que ces données soient remplies dans BigQuery. Datadog ingère automatiquement jusqu’à 15 mois de données historiques de coûts disponibles une fois qu’elles apparaissent dans la table BigQuery.
Google Cloud ne fournit pas de processus pour remplir des données historiques supplémentaires au-delà des 2 mois automatiquement inclus lors de la première création de l’exportation BigQuery.
Types de coûts
Vous pouvez visualiser vos données ingérées en utilisant les types de coûts suivants :
| Type de coût | Description |.
|————————————————-| ———————————-|
| gcp.cost.amortized | Coût total des ressources allouées au moment de l’utilisation sur un intervalle. Les coûts incluent les crédits de promotion ainsi que les crédits de réduction pour utilisation engagée. |
| gcp.cost.amortized.shared.resources.allocated | Tous vos coûts amortis de Google Cloud Platform, avec des ventilations et des analyses supplémentaires pour les charges de travail des conteneurs. Nécessite allocation des coûts des conteneurs.|
| gcp.cost.ondemand | Coût total public, à la demande, des ressources avant que les réductions publiques et privées ne soient appliquées sur un intervalle. |
Datadog enrichit automatiquement vos données de coûts Google Cloud avec des étiquettes provenant de plusieurs sources. Pour un aperçu complet de la manière dont les étiquettes sont appliquées aux données de coûts, voir Étiquettes.
Les étiquettes prêtes à l’emploi suivantes sont dérivées de votre rapport détaillé sur les coûts d’utilisation et facilitent la découverte et la compréhension des données de coûts :
| Nom de la balise | Description de la balise |
|---|
google_product | Le service Google facturé. |
google_cost_type | Le type de frais couvert par cet élément (par exemple, régulier, taxe, ajustement ou erreur d’arrondi). |
google_usage_type | Les détails d’utilisation de l’élément (par exemple, Stockage Standard US). |
google_location | L’emplacement associé à l’élément au niveau d’une multi-région, d’un pays, d’une région ou d’une zone. |
google_region | La région associée à l’élément. |
google_zone | La zone de disponibilité associée à l’élément. |
google_pricing_usage_unit | L’unité de tarification utilisée pour calculer le coût d’utilisation (par exemple, gibioctet, tébioctet ou an). |
google_is_unused_reservation | Indique si l’utilisation était réservée mais non utilisée. |
service_description | Le service Google Cloud (tel que Compute Engine ou BigQuery). |
project_id | L’ID du projet Google Cloud qui a généré les données de facturation Cloud. |
project_name | Le nom du projet Google Cloud qui a généré les données de facturation Cloud. |
cost_type | Le type de coût que cet élément représente : regular, tax, adjustment ou rounding error. |
sku_description | Une description du type de ressource utilisée, décrivant les détails d’utilisation de la ressource. |
resource_name | Un nom que les clients ajoutent aux ressources. Cela peut ne pas être présent sur toutes les ressources. |
global_resource_name | Un identifiant de ressource unique au niveau mondial généré par Google Cloud. |
Corrélation des coûts et d’observabilité
Il est important de visualiser les coûts dans le contexte des données d’observabilité pour comprendre comment les changements d’infrastructure impactent les coûts, identifier pourquoi les coûts changent et optimiser l’infrastructure tant pour les coûts que pour la performance. Datadog met à jour les balises d’identification des ressources sur les données de coût pour les principaux produits Google afin de simplifier la corrélation entre les métriques d’observabilité et de coût.
Par exemple, pour visualiser le coût et l’utilisation de chaque base de données Cloud SQL, vous pouvez créer un tableau avec gcp.cost.amortized, gcp.cloudsql.database.cpu.utilization et gcp.cloudsql.database.memory.utilization (ou toute autre métrique Cloud SQL) et regrouper par database_id. Ou, pour voir l’utilisation et les coûts des Cloud Functions côte à côte, vous pouvez tracer gcp.cloudfunctions.function.execution_count et gcp.cost.amortized regroupés par function_name.
Les balises prêtes à l’emploi suivantes sont disponibles :
| Produit Google | Balise(s) |
|---|
| Compute Engine | instance_id, instance-type |
| Cloud Functions | function_name |
| Cloud Run | job_name, service_name |
| Cloud SQL | database_id |
| Cloud Spanner | instance_id |
| App Engine | module_id |
| BigQuery | project_id, dataset_id |
| Kubernetes Engine | cluster_name |
Allocation de conteneurs
Les métriques d’allocation de conteneurs contiennent tous les mêmes coûts que les métriques de Google Cloud Platform, mais avec des ventilations et des analyses supplémentaires pour les charges de travail des conteneurs. Voir Allocation des coûts des conteneurs pour plus de détails.
Lectures complémentaires
Documentation, liens et articles supplémentaires utiles: