Puoi combinare l'esportazione dei dati di fatturazione Cloud in BigQuery con Looker Studio per rimanere al corrente dei costi di Google Cloud.
Questo documento mostra come configurare la dashboard Approfondimenti sull'utilizzo e sui costi della fatturazione con i dati del fatturazione Cloud. Puoi utilizzare la dashboard per rispondere a domande sulla tua spesa per Google Cloud, ad esempio Quanto spendo per le risorse Compute Engine? e Quali ambienti mi costano di più?.
Per configurare la tua dashboard, segui questo tutorial o guarda il seguente video:
Obiettivi
Questo tutorial mostra come completare le seguenti attività:
Configura una tua copia della dashboard Approfondimenti su utilizzo e costi della fatturazione utilizzando Cloud Shell.
Puoi utilizzare Terraform o Python per seguire i passaggi di questo tutorial.
Configura i filtri della dashboard in modo da utilizzare le etichette che utilizzi nel tuo ambiente Google Cloud.
Scopri come modificare l'origine dati della dashboard per casi avanzati, ad esempio se hai più account di fatturazione Cloud o un account di fatturazione Cloud in una valuta diversa dai dollari statunitensi (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 alla dashboard di utilizzo e insight sui costi di fatturazione di esempio. Se non riesci ad accedere al Sample, è possibile che nella tua organizzazione siano state attivate le limitazioni del dominio. L'amministratore può disattivare temporaneamente la limitazione del dominio per il tuo account.
Verifica che la tua organizzazione abbia attivato l'esportazione della fatturazione Cloud in BigQuery per i dati sul costo di utilizzo standard.
Se l'esportazione dei dati di fatturazione Cloud non è abilitata, scopri come abilitare l'esportazione dei dati di fatturazione Cloud in BigQuery.
Devi disporre delle autorizzazioni per creare visualizzazioni 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.
Visualizza 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 utenti della tua organizzazione, consigliamo di svolgere i seguenti passaggi aggiuntivi. Ti aiutano a configurare un account di servizio Google Cloud, che può autenticarsi ai dati BigQuery anziché richiedere ad altri di utilizzare le tue credenziali o le loro 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 servizio per l'agente di servizio di Looker Studio.
Se utilizzi Terraform, non devi creare manualmente l'account di servizio. La configurazione Terraform crea l'account di servizio quando applichi la configurazione.
Se utilizzi lo script Python, assicurati che l'ambiente Cloud Shell abbia 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 è fornito con Terraform preinstallato.
A livello generale, la configurazione Terraform nel repository esegue le seguenti 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 dati.
- Ti fornisce un link di Looker Studio alla tua copia, che puoi salvare nelle dashboard di Looker Studio.
- Ti fornisce un ID account di servizio Google Cloud, che utilizzerai 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 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" EOF
Dove le variabili sono le seguenti:
- PROJECT_ID: l'ID progetto che ospita il tuo set di dati di 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 che contiene l'esportazione dei dati di fatturazione standard.
- LOOKER_STUDIO_AGENT_NAME: l'indirizzo email dell'agente di servizio di Looker Studio, che puoi trovare nella pagina di assistenza dell'agente di servizio di Looker Studio
Per inizializzare il repository GitHub come directory di lavoro di Terraform, esegui il seguente comando:
terraform init
Se vuoi, per visualizzare l'anteprima delle modifiche apportate dalla configurazione di 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 cambiare 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, viene visualizzato l'account di servizio creato per l'autenticazione e il link alla dashboard di Looker Studio.
Copia il nome dell'account di servizio. Queste informazioni sono necessarie per configurare l'autenticazione per l'origine dati di Looker Studio.
Fai clic sul link a Looker Studio per aprire la dashboard.
In Looker Studio, fai clic su Modifica e condividi per salvare la dashboard. Quando ti viene chiesto di esaminare 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 le seguenti attività:
- Crea una nuova visualizzazione BigQuery nel set di dati contenente l'esportazione dei dati di costo standard.
- Copia il modello di dashboard e collega la copia alla vista BigQuery dei dati.
- Ti 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 i seguenti 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. Potresti dover 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 set di dati di fatturazione Cloud.
- STANDARD_BILLING_EXPORT_DATASET: il set di dati BigQuery che contiene l'esportazione dei dati sul costo di utilizzo standard.
- BILLBOARD_DATASET: il nome del set di dati BigQuery in cui viene creata la visualizzazione 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, riceverai un link di Looker Studio alla dashboard.
Fai clic sul link a 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 account di servizio Google Cloud per autenticarti 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 l'account di servizio 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 di Looker Studio.
Concedi all'account di servizio le seguenti autorizzazioni per il progetto che contiene la visualizzazione BigQuery per la dashboard:
bigquery.dataViewer
bigquery.jobUser
iam.serviceAccountTokenCreator
Una volta ottenuto l'ID account di servizio, segui questi passaggi per utilizzarlo 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 dei dati.
Nella pagina Aggiorna le credenziali dei dati, seleziona Credenziali account di servizio e inserisci l'ID account di servizio.
Fai clic su Aggiorna per utilizzare le credenziali dell'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 dell'organizzazione
Diversi grafici della dashboard, come quelli nella pagina Cost Reporting: Labels
, si basano 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 quelle utilizzate dalla tua organizzazione.Ad esempio, se utilizzi la chiave di etichetta
department
per organizzare le risorse in base all'unità di business, modifica il filtrobusiness_unit
e imposta il filtroproject.labels.key
sudepartment
.Fai clic su Chiudi per completare la modifica del filtro.
Analizzare i dati nella dashboard
Le pagine della dashboard di Looker Studio suddividono i dati sui costi in modo da poter visualizzare riepiloghi rapidi dei costi e delle tendenze e ottenere informazioni dettagliate sulla spesa.
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 panoramica dei costi netti per i mesi di fatturazione corrente e precedente, i costi per i tuoi servizi principali e i costi giornalieri per gli ultimi 30 giorni.
Utilizza la pagina Tendenze per confrontare i costi per periodi diversi, ad esempio il mese corrente e quello precedente o il trimestre corrente e quello precedente.
Utilizza la pagina Analisi per analizzare i costi nel tempo e identificare anomalie come spese insolitamente elevate o ridotte.
Identifica i fattori di costo
Utilizza le seguenti pagine per scoprire dove spendi di più:
- Costo per servizio per mese
- Costo per progetto per mese
- Costo per progetto, servizio e SKU
- Costo per regione
Per un'analisi dettagliata dei costi di ciascun servizio, utilizza le pagine specifiche per ciascun servizio. Ad esempio, la pagina Cluster GKE mostra i costi suddivisi in base ai tuoi cluster e spazi dei nomi GKE.
Identifica le opportunità di risparmio con gli sconti per impegno di utilizzo
Gli sconti per impegno di utilizzo (CUD) offrono prezzi scontati in cambio del tuo impegno a utilizzare un livello minimo di risorse per un periodo di tempo specificato.
Le pagine CUD nella dashboard mostrano il tuo utilizzo di Compute Engine, Cloud SQL e Memorystore che potrebbe essere idoneo per gli sconti CUD. Se hai già uno o più CUD, queste pagine mostrano solo l'utilizzo non coperto dagli sconti per impegno di utilizzo esistenti.
Visualizzare i costi del software di Cloud Marketplace e delle 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 vedere quanto stai spendendo per licenze aggiuntive, ad esempio licenze per Windows Server su Compute Engine e 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 in progetti e cartelle:
La pagina Per applicazione mostra i costi per tutte le risorse con la chiave dell'etichetta
application
. Ad esempio, se hai un'app web e mobile e etichetti le relative risorse rispettivamente conapplication:web
eapplication:mobile
, puoi visualizzare i costi per ogni applicazione separatamente.La pagina Etichette mostra i costi per etichette specifiche, come centro di costo e codice attività. Se hai personalizzato i filtri per la dashboard, puoi modificare i titoli dei grafici in base ai filtri.
(Avanzato) Modificare i dati di più account di fatturazione Cloud
Se vuoi che la dashboard includa i dati di più account di fatturazione Cloud, puoi modificare le visualizzazioni BigQuery in modo da includere le esportazioni dei dati di fatturazione per tutti gli account di fatturazione Cloud.
Prima di iniziare
Per ogni account di fatturazione Cloud che vuoi includere, segui tutti i passaggi descritti nei prerequisiti del tutorial.
Aggiorna le visualizzazioni BigQuery per includere ulteriori esportazioni di fatturazione Cloud
Nella console Google Cloud, apri la pagina BigQuery.
Seleziona il progetto contenente il set di dati che hai creato per la dashboard.
Nel riquadro Explorer, espandi il progetto, quindi il set di dati.
Fai clic sulla visualizzazione billboard per visualizzarne i dettagli. Questa visualizzazione esegue query sull'esportazione dei dati di costo e utilizzo standard.
Fai clic sulla scheda Dettagli e 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, _PARTITIONDATE AS date from `PROJECT_ID.BILLING_ACCOUNT_EXPORT` s WHERE _PARTITIONDATE > 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 all'esempio seguente, che combina le esportazioni dei dati per BILLING_ACCOUNT_1 e BILLING_ACCOUNT_2, rispettivamente in PROJECT_ID_1 e PROJECT_ID_2.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, _PARTITIONDATE AS date from `PROJECT_ID_2.BILLING_ACCOUNT_2_EXPORT` s WHERE _PARTITIONDATE > DATE_SUB(CURRENT_DATE(), INTERVAL 13 MONTH)
Ripeti questi passaggi per la vista billboard_detail, che esegue query sui dati dettagliati su costi e utilizzo.
Se uno dei tuoi account è in una valuta diversa dal dollaro statunitense, ripeti questi passaggi e utilizza la colonna
currency_conversion_rate
per convertire 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, _PARTITIONDATE AS date from `PROJECT_ID.BILLING_ACCOUNT_DATASET` s WHERE _PARTITIONDATE > 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 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, usa il seguente link per aprirlo:
Facoltativamente, per visualizzare l'anteprima delle risorse che vengono eliminate, esegui il seguente 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 invariato il set di dati BigQuery Export.
Apri il repository GitHub in Cloud Shell:
Vai alla directory
billboard
:cd examples/billboard
Esegui i seguenti 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 set di dati di fatturazione Cloud.
- STANDARD_BILLING_EXPORT_DATASET: il set di dati BigQuery che contiene l'esportazione dei dati sul costo di utilizzo standard.
- DETAILED_BILLING_EXPORT_DATASET: il set di dati BigQuery che contiene l'esportazione dei dati sul costo di utilizzo dettagliato.
- BILLBOARD_DATASET: il set di dati BigQuery in cui hai creato le visualizzazioni BigQuery per la dashboard.
Per eliminare la dashboard di Looker Studio, apri Looker Studio individua la dashboard e, nel menu , fai clic su Rimuovi.
Passaggi successivi
Scopri le 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 il monitoraggio dei costi.