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 spesa, ad esempio Quanto spendo per le risorse Compute Engine? e Quali ambienti mi costano di più?. Google Cloud
Puoi configurare la dashboard seguendo questo tutorial o guardando il seguente video:
Obiettivi
Questo tutorial mostra come completare le seguenti attività:
Configura la tua copia della dashboard Utilizzo e approfondimenti sui costi di fatturazione utilizzando Cloud Shell.
Puoi utilizzare Terraform o Python per seguire i passaggi di questo tutorial.
Configura i filtri del dashboard in modo che utilizzino le etichette che utilizzi nel tuo ambienteGoogle Cloud .
Scopri come modificare l'origine dati del dashboard per i casi avanzati, ad esempio se hai più account di fatturazione Cloud o un account di fatturazione Cloud in una valuta diversa dal dollaro statunitense (USD).
Costi
In questo documento, utilizzi i seguenti componenti fatturabili di Google Cloud:
The cost of storing your Cloud Billing data in BigQuery is typically free or minimal. Depending on the size of the BigQuery dataset, you might incur costs for querying the data for analysis.
Per generare una stima dei costi in base all'utilizzo previsto,
utilizza il calcolatore prezzi.
Prima di iniziare
Assicurati di poter accedere al dashboard di esempio Utilizzo e approfondimenti sui costi di fatturazione. Se non riesci ad accedere al campione, è possibile che la tua organizzazione abbia attivato restrizioni di dominio. L'amministratore può disattivare temporaneamente la limitazione del dominio per il tuo account.
Verifica che la tua organizzazione abbia abilitato l'esportazione della fatturazione Cloud in BigQuery per i dati di costo di utilizzo standard.
Se l'esportazione dei dati di fatturazione Cloud non è abilitata, scopri come abilitarla in BigQuery.
Devi disporre delle autorizzazioni per creare viste BigQuery nel progetto che ospita i set di dati per l'esportazione dei dati di fatturazione Cloud.
Se vuoi creare un nuovo set di dati per le viste BigQuery, devi disporre delle autorizzazioni per creare set di dati BigQuery.
Fornisci le seguenti informazioni sul tuo ambiente Google Cloud :
- L'ID progetto in cui è ospitato il set di dati BigQuery di fatturazione Cloud.
- I nomi dei set di dati per le esportazioni dei dati di costo standard e dettagliati. In genere, le esportazioni dei dati di costo si trovano nello stesso set di dati.
Se condividi la dashboard con altri membri della tua organizzazione, ti consigliamo di seguire questi passaggi aggiuntivi. Questi ti aiutano a configurare un service accountGoogle Cloud , che può autenticarsi sui dati BigQuery senza richiedere ad altri di utilizzare le tue credenziali o le proprie per accedere ai dati.
Recupera l'indirizzo email dell'agente di servizio Looker Studio dalla pagina di assistenza dell'agente di servizio Looker Studio.
Se utilizzi lo script Python per creare la dashboard, crea un account di serviziot per l'agente di servizio Looker Studio.
Se utilizzi Terraform, non devi creare l'account di servizio manualmente. La configurazione Terraform crea il account di servizio quando applichi la configurazione.
Se utilizzi lo script Python, assicurati che l'ambiente Cloud Shell disponga di una versione recente di Python 3. Per controllare la versione di Python, nel terminale Cloud Shell, digita
python --version
e premi Invio.
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 comando seguente 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" EOF
Dove le variabili sono le seguenti:
- PROJECT_ID: l'ID progetto che ospita il tuo set di datifatturazione Cloudg.
- DATASET_NAME: il set di dati BigQuery che contiene l'esportazione dei dati sui costi standard.
- TABLE_ID: il nome della tabella BigQuery che contiene l'esportazione dei dati di fatturazione standard.
- LOOKER_STUDIO_AGENT_NAME: l'indirizzo email dell'agente del servizio Looker Studio, che puoi trovare nella pagina di assistenza dell'agente del 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.tfvars
Potrebbe esserti chiesto di autorizzare Cloud Shell a effettuare chiamate API per tuo conto.
Esamina le modifiche di Terraform e modifica
variables.tfvars
se devi modificare i valori delle variabili. Quando è tutto pronto per creare le risorse, esegui il seguente comandoterraform apply
:terraform apply -var-file=variables.tfvars
Dopo 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 la tua copia della dashboard utilizzando Python, clona innanzitutto 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 del 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/billboard
Esegui 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.txt
Esegui 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 datifatturazione Cloudg.
- 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 visualizzazione BigQuery per il 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 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 il dashboard:
bigquery.dataViewer
bigquery.jobUser
iam.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 dell'account di servizio e inserisci l'ID account di servizio.
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, come quelli nella pagina Cost Reporting: Labels
, sono basati sulle etichette delle risorse. Per visualizzare una suddivisione accurata dei costi in base a etichette specifiche, devi modificare i filtri predefiniti per 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.key
eproject.labels.key
e, 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
department
per organizzare le risorse per unità aziendale, modifica il filtrobusiness_unit
e cambia il filtroproject.labels.key
indepartment
.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 visualizzare una panoramica dei costi netti per i mesi di fatturazione corrente e precedente, i costi per i servizi principali e i 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:web
eapplication:mobile
rispettivamente, 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 viste BigQuery in modo da includere ulteriori esportazioni della fatturazione Cloud
Nella console Google Cloud , apri la pagina BigQuery.
Seleziona il progetto che contiene il set di dati che hai creato per la 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 vista è 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 ALL
tra le due query per combinare i dati. La query finale è simile al seguente esempio, che combina le esportazioni di 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_rate
per la conversione in dollari statunitensi, come nel seguente esempio: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)
Esegui la pulizia
Terraform
Se non vuoi più utilizzare la dashboard, apri di nuovo la directory di lavoro di Terraform e utilizza il comando terraform apply
per eliminare le risorse che hai creato.
Apri la directory di lavoro di Terraform in Cloud Shell. Se hai utilizzato il repository GitHub in questo tutorial, utilizza il seguente link per aprirlo:
(Facoltativo) Per visualizzare l'anteprima delle risorse eliminate, esegui questo comando
terraform plan
:terraform plan -destroy
Rivedi le modifiche di Terraform. Quando è tutto pronto per eliminare le risorse, esegui il seguente comando
terraform apply
:terraform apply -destroy
Python
Se non vuoi più utilizzare la dashboard, clona il repository GitHub e
esegui lo script della dashboard con l'opzione -clean
. Lo script elimina le
visualizzazioni BigQuery, ma lascia intatto il set di dati
di BigQuery Export.
Apri il repository GitHub in Cloud Shell:
Vai alla directory
billboard
:cd examples/billboard
Esegui questi comandi per configurare l'ambiente Python per lo script:
pip install virtualenv virtualenv bill-env source bill-env/bin/activate pip install -r requirements.txt
Esegui il comando di pulizia:
python billboard.py \ -pr 'PROJECT_ID' \ -se 'STANDARD_BILLING_EXPORT_DATASET' \ -de 'DETAILED_BILLING_EXPORT_DATASET' \ -bb 'BILLBOARD_DATASET' \ -clean yes
Dove le variabili sono le seguenti:
- PROJECT_ID: l'ID progetto che ospita i tuoi set di datifatturazione Cloudg.
- STANDARD_BILLING_EXPORT_DATASET: il set di dati BigQuery che contiene l'esportazione dei dati sui costi di utilizzo standard.
- DETAILED_BILLING_EXPORT_DATASET: il set di dati BigQuery che contiene l'esportazione dei dati del costo di utilizzo dettagliato.
- BILLBOARD_DATASET: il set di dati BigQuery in cui hai creato le viste BigQuery per la dashboard.
Per eliminare la dashboard di Looker Studio, apri Looker Studio, individua la dashboard e, dal menu , fai clic su Rimuovi.
Passaggi successivi
Informazioni sulle tabelle di dati di fatturazione Cloud in BigQuery.
Esamina le query di esempio per l'esportazione dei dati di fatturazione Cloud.
Scopri di più sull'implementazione di FinOps in Google Cloud e sulle best practice per monitorare i costi.