Puoi combinare l'esportazione dei dati di fatturazione Cloud in BigQuery con Looker Studio per rimanere al corrente dei costi Google Cloud .
Questo documento mostra come configurare la dashboard Utilizzo e approfondimenti sui costi della fatturazione con i dati di fatturazione Cloud. Puoi utilizzare la dashboard per rispondere a domande sulla tua Google Cloud spesa, ad esempio Quanto spendo per le risorse Compute Engine? e Quali ambienti mi costano di più?.

Puoi configurare la dashboard seguendo questo tutorial o guardando il seguente video:
Creare una copia della dashboard
Terraform
Per creare una tua copia della dashboard utilizzando Terraform, devi prima clonare il repository GitHub che automatizza il processo. Questo passaggio utilizza Cloud Shell, un ambiente shell interattivo per Google Cloud che puoi utilizzare dal browser. Cloud Shell è preinstallato con Terraform.
A livello generale, la configurazione Terraform nel repository svolge queste attività:
- Crea una nuova visualizzazione BigQuery che recupera i dati dall'esportazione dei dati di costo standard.
- Copia il modello di dashboard e collega la copia alla vista BigQuery dei tuoi dati.
- Fornisce un link di Looker Studio alla tua copia, che puoi salvare nelle dashboard di Looker Studio.
- Fornisce un ID account di servizio Google Cloud , che utilizzi come metodo di autenticazione per la dashboard.
Per creare la dashboard:
Apri il repository GitHub in Cloud Shell:
Crea un file di definizioni delle variabili Terraform con le informazioni sul tuo progetto e sul set di dati BigQuery. Utilizza il seguente comando per creare il file denominato
variables.tfvars:cat << EOF > variables.tfvars project-id = "PROJECT_ID" bq-dashboard-dataset-name = "DATASET_NAME" bq-billing-export-table-id = "PROJECT_ID.DATASET_NAME.TABLE_ID" looker-studio-service-agent-name = "LOOKER_STUDIO_AGENT_NAME" EOFDove le variabili sono le seguenti:
- PROJECT_ID: l'ID progetto che ospita il tuo set di dati fatturazione Cloud.
- DATASET_NAME: il set di dati BigQuery che contiene l'esportazione dei dati sui costi standard.
- TABLE_ID: il nome della tabella BigQuery contenente l'esportazione dei dati di fatturazione standard.
- LOOKER_STUDIO_AGENT_NAME: l'indirizzo email dell'agente di servizio Looker Studio, che puoi trovare nella pagina di assistenza dell'agente di servizio Looker Studio
Per inizializzare il repository GitHub come directory di lavoro di Terraform, esegui questo comando:
terraform init(Facoltativo) Per visualizzare l'anteprima delle modifiche apportate dalla configurazione Terraform, esegui il seguente comando
terraform plan:terraform plan -var-file=variables.tfvarsPotrebbe esserti chiesto di autorizzare Cloud Shell a effettuare chiamate API per tuo conto.
Esamina le modifiche di Terraform e modifica
variables.tfvarsse devi cambiare i valori delle variabili. Quando è tutto pronto per creare le risorse, esegui il seguente comandoterraform apply:terraform apply -var-file=variables.tfvarsDopo l'esecuzione del comando, riceverai l'account di servizio creato per l'autenticazione e il link alla dashboard di Looker Studio.
Copia il nome del account di servizio. Queste informazioni sono necessarie per configurare l'autenticazione per l'origine dati di Looker Studio.
Fai clic sul link di Looker Studio per aprire la dashboard.
In Looker Studio, fai clic su Modifica e condividi per salvare la dashboard. Quando ti viene chiesto di rivedere le impostazioni di accesso ai dati, fai clic su Accetta e salva.
Se ti viene chiesto di aggiungere dati al report, fai clic su Aggiungi a report.
Ora puoi accedere alla dashboard dalla home page di Looker Studio.
Python
Per creare una tua copia della dashboard utilizzando Python, devi prima clonare il repository GitHub che automatizza il processo. Questo passaggio utilizza Cloud Shell, un ambiente shell interattivo per Google Cloud che puoi utilizzare dal browser.
A livello generale, lo script di configurazione nel repository esegue queste attività:
- Crea una nuova visualizzazione BigQuery nel set di dati che contiene l'esportazione dei dati di costo standard.
- Copia il modello di dashboard e collega la copia alla vista BigQuery dei tuoi dati.
- Fornisce un link di Looker Studio alla tua copia, che puoi salvare nelle dashboard di Looker Studio.
Per creare la dashboard:
Apri il repository GitHub in Cloud Shell:
Vai alla directory
billboard:cd examples/billboardEsegui questi comandi per configurare l'ambiente Python per lo script:
rm -rf bill-env python3 -m venv bill-env source bill-env/bin/activate pip install -r requirements.txtEsegui lo script che crea la dashboard. Potrebbe essere necessario autorizzare Cloud Shell a effettuare chiamate API per tuo conto:
python billboard.py \ -pr 'PROJECT_ID' \ -se 'STANDARD_BILLING_EXPORT_DATASET' \ -bb 'BILLBOARD_DATASET'Dove le variabili sono le seguenti:
- PROJECT_ID: l'ID progetto che ospita i tuoi set di dati fatturazione Cloud.
- STANDARD_BILLING_EXPORT_DATASET: il set di dati BigQuery che contiene l'esportazione dei dati sui costi di utilizzo standard.
- BILLBOARD_DATASET: il nome del set di dati BigQuery in cui viene creata la vista BigQuery per la dashboard, ad esempio
example_dashboard_view. Se non hai ancora un set di dati per le visualizzazioni, lo script ne crea uno nuovo con questo nome.
Al termine dell'esecuzione dello script, ricevi un link di Looker Studio alla tua dashboard.
Fai clic sul link di Looker Studio per aprire la dashboard.
In Looker Studio, fai clic su Modifica e condividi per salvare la dashboard. Quando ti viene chiesto di aggiungere origini dati al report, fai clic su Aggiungi al report.
Ora puoi accedere alla dashboard dalla home page di Looker Studio.
(Facoltativo) Configura le credenziali per l'origine dati
Per impostazione predefinita, la dashboard Utilizzo della fatturazione utilizza le tue credenziali per accedere all'origine dati BigQuery. Se vuoi condividere la dashboard con altre persone, ti consigliamo di utilizzare un Google Cloud service account per l'autenticazione al set di dati BigQuery, in modo che l'origine dati non dipenda dalle tue credenziali.
Se hai utilizzato Terraform per copiare la dashboard, ottieni l'ID account di servizio quando
esegui il comando terraform apply. Se hai utilizzato lo script Python, devi
creare manualmente ilaccount di serviziot seguendo questi passaggi:
Recupera l'indirizzo email dell'agente di servizio Looker Studio dalla pagina di assistenza dell'agente di servizio Looker Studio.
Crea un account di servizio per l'agente di servizio Looker Studio.
Concedi al account di servizio le seguenti autorizzazioni per il progetto che contiene la visualizzazione BigQuery per la dashboard:
bigquery.dataViewerbigquery.jobUseriam.serviceAccountTokenCreator
Una volta ottenuto l'ID account di servizio, segui questi passaggi per utilizzare il service account per l'autenticazione:
Dalla home page di Looker Studio, apri la dashboard.
Fai clic su Modifica per modificare la dashboard.
Nel menu Risorsa, seleziona Gestisci origini dati aggiunte. Il nome dell'origine dati per la dashboard inizia con
billing-export-view.Nella colonna Azioni dell'origine dati, fai clic su Modifica.
Fai clic su Credenziali dati.
Nella pagina Aggiorna credenziali dati, seleziona Credenziali service account e inserisci l'IDaccount di serviziot.
Fai clic su Aggiorna per utilizzare le credenziali del account di servizio.
Fai clic su Fine per salvare le modifiche all'origine dati.
Per visualizzare la dashboard, fai clic su Visualizza.
Aggiornare la dashboard per utilizzare le etichette della tua organizzazione
Diversi grafici nella dashboard, ad esempio quelli nella pagina Cost Reporting: Labels, si basano sulle etichette delle risorse. Per visualizzare una suddivisione accurata dei costi per etichette specifiche, devi modificare i filtri predefiniti in modo da utilizzare le tue etichette.
Dalla home page di Looker Studio, apri la dashboard.
Fai clic su Modifica per modificare la dashboard.
Nel menu Risorsa, seleziona Gestisci filtri.
Rivedi i filtri basati su
labels.keyeproject.labels.keye, se applicabile, fai clic su Modifica per modificare le chiavi delle etichette in modo che corrispondano a quelle utilizzate dalla tua organizzazione.Ad esempio, se utilizzi la chiave di etichetta
departmentper organizzare le risorse per unità aziendale, modifica il filtrobusiness_unite cambia il filtroproject.labels.keyindepartment.Fai clic su Chiudi per terminare la modifica del filtro.
Analizzare i dati nella dashboard
Le pagine della dashboard di Looker Studio analizzano i dati sui costi in modo da poter visualizzare riepiloghi rapidi dei costi e delle tendenze e ottenere informazioni dettagliate sulle tue spese.
Nella maggior parte delle pagine, puoi filtrare i dati per progetto e utilizzare il calendario per scegliere il periodo per cui vuoi analizzare i costi.
Visualizzare una panoramica generale dei costi
Utilizza la pagina Panoramica per una visione generale dei costi netti per il mese di fatturazione corrente e quello precedente, dei costi per i servizi principali e dei costi giornalieri degli ultimi 30 giorni.
Utilizza la pagina Tendenze per confrontare i costi di periodi diversi, ad esempio il mese in corso e il mese precedente oppure il trimestre in corso e il trimestre precedente.
Utilizza la pagina Analisi per analizzare i costi nel tempo e identificare anomalie come spese insolitamente alte o basse.
Identificare i fattori di costo
Utilizza le seguenti pagine per scoprire dove spendi di più:
- Costo per servizio al mese
- Costo per progetto per mese
- Costo per progetto, servizio e SKU
- Costo per regione
Per un'analisi dettagliata dei costi per ogni servizio, utilizza le pagine specifiche del servizio. Ad esempio, la pagina Cluster GKE mostra i costi suddivisi in base ai cluster GKE e agli spazi dei nomi.
Identificare le opportunità di risparmio con gli sconti per impegno di utilizzo
Gli sconti per impegno di utilizzo (CUD) offrono prezzi scontati in cambio dell'impegno a utilizzare un livello minimo di risorse per un periodo di tempo specificato.
Le pagine CUD nella dashboard mostrano l'utilizzo di Compute Engine, Cloud SQL e Memorystore che potrebbe essere idoneo per gli sconti per impegno di utilizzo. Se hai già uno o più CUD, queste pagine mostrano solo l'utilizzo non ancora coperto dai CUD esistenti.
Visualizzare i costi per il software Cloud Marketplace e le licenze aggiuntive
Utilizza la pagina Marketplace per visualizzare i costi del software che hai acquistato da Cloud Marketplace, ad esempio Google Cloud NetApp Volumes.
Utilizza la pagina Licenze per visualizzare la spesa per le licenze aggiuntive, ad esempio le licenze per Windows Server su Compute Engine e le licenze di terze parti che hai acquistato da Cloud Marketplace.
Visualizzare i costi per etichette
Puoi personalizzare i filtri della dashboard per utilizzare le etichette della tua organizzazione. Dopo aver aggiornato i filtri, puoi utilizzare le seguenti pagine per visualizzare i costi di progetti e cartelle:
La pagina Per applicazione mostra i costi per tutte le risorse nella chiave dell'etichetta
application. Ad esempio, se hai un'app web e un'app mobile ed etichetti le relative risorse conapplication:webeapplication:mobilerispettivamente, puoi visualizzare i costi per ogni applicazione separatamente.La pagina Etichette mostra i costi per etichette specifiche, ad esempio centro di costo e codice aziendale. Se hai personalizzato i filtri per la dashboard, puoi modificare i titoli dei grafici in modo che riflettano i filtri.
(Avanzato) Modifica i dati per più account di fatturazione Cloud
Se vuoi che la dashboard includa i dati di più account di fatturazione Cloud, puoi modificare le viste BigQuery in modo che includano le esportazioni dei dati di fatturazione per tutti gli account di fatturazione Cloud.
Prima di iniziare
Per ogni account di fatturazione Cloud da includere, segui tutti i passaggi descritti nei prerequisiti del tutorial.
Aggiorna le visualizzazioni BigQuery in modo da includere esportazioni di fatturazione Cloud aggiuntive
Nella console Google Cloud , apri la pagina BigQuery.
Seleziona il progetto che contiene il set di dati che hai creato per il dashboard.
Nel riquadro Explorer, espandi il progetto, quindi espandi il set di dati.
Fai clic sulla visualizzazione tabellone per visualizzarne i dettagli. Questa visualizzazione esegue query sull'esportazione dei dati di costo e utilizzo standard.
Fai clic sulla scheda Dettagli, poi su Modifica query. La query per la visualizzazione è simile alla seguente:
SELECT *, COALESCE((SELECT SUM(x.amount) FROM UNNEST(s.credits) x),0) AS credits_sum_amount, COALESCE((SELECT SUM(x.amount) FROM UNNEST(s.credits) x),0) + cost as net_cost, PARSE_DATE("%Y%m", invoice.month) AS Invoice_Month, date(usage_end_time) AS date from `PROJECT_ID.BILLING_ACCOUNT_EXPORT` s WHERE date(usage_end_time) > DATE_SUB(CURRENT_DATE(), INTERVAL 13 MONTH)dove PROJECT_ID è il progetto che contiene l'esportazione dei dati di costo standard di BigQuery per la fatturazione Cloud e BILLING_ACCOUNT_EXPORT è il nome della tabella BigQuery con i dati di costo standard.
Duplica la query esistente e, nella clausola
FROM, sostituisci l'ID progetto e la tabella BigQuery con le informazioni per l'account di fatturazione Cloud aggiuntivo.Aggiungi l'operatore
UNION ALLtra le due query per combinare i dati. La query finale è simile al seguente esempio, che combina le esportazioni dei dati per BILLING_ACCOUNT_1 e BILLING_ACCOUNT_2, che si trovano in PROJECT_ID_1 e PROJECT_ID_2 rispettivamente.SELECT *, --query for BILLING_ACCOUNT_1 COALESCE((SELECT SUM(x.amount) FROM UNNEST(s.credits) x),0) AS credits_sum_amount, COALESCE((SELECT SUM(x.amount) FROM UNNEST(s.credits) x),0) + cost as net_cost, EXTRACT(DATE FROM _PARTITIONTIME) AS date FROM `PROJECT_ID_1.BILLING_ACCOUNT_1_EXPORT` s WHERE _PARTITIONTIME >"2021-01-01" UNION ALL SELECT *, --query for BILLING_ACCOUNT_2 COALESCE((SELECT SUM(x.amount) FROM UNNEST(s.credits) x),0) AS credits_sum_amount, COALESCE((SELECT SUM(x.amount) FROM UNNEST(s.credits) x),0) + cost as net_cost, PARSE_DATE("%Y%m", invoice.month) AS Invoice_Month, date(usage_end_time) AS date from `PROJECT_ID_2.BILLING_ACCOUNT_2_EXPORT` s WHERE date(usage_end_time) > DATE_SUB(CURRENT_DATE(), INTERVAL 13 MONTH)Ripeti questi passaggi per la visualizzazione billboard_detail, che esegue query sui dati dettagliati su costi e utilizzo.
Se uno dei tuoi account utilizza una valuta diversa dal dollaro statunitense, ripeti questi passaggi e utilizza la colonna
currency_conversion_rateper eseguire la conversione in dollari statunitensi, come nell'esempio seguente:select *, (COALESCE((SELECT SUM(x.amount) FROM UNNEST(s.credits) x),0))/currency_conversion_rate AS credits_sum_amount, (COALESCE((SELECT SUM(x.amount) FROM UNNEST(s.credits) x),0))/currency_conversion_rate + cost/currency_conversion_rate as net_cost, 'USD' as net_cost_currency, PARSE_DATE("%Y%m", invoice.month) AS Invoice_Month, date(usage_end_time) AS date from `PROJECT_ID.BILLING_ACCOUNT_DATASET` s WHERE date(usage_end_time) > DATE_SUB(CURRENT_DATE(), INTERVAL 13 MONTH)