Cloud Intelligence™Cloud Intelligence™

Cloud Intelligence™

Monitora le quote in modo proattivo e riduci il rischio di outage cloud

By Mike SparrMay 1, 20235 min read

Questa pagina è disponibile anche in English, Deutsch, Español, Français, 日本語 e Português.

Una domanda alle stelle per le Sue soluzioni software dovrebbe essere motivo di entusiasmo, giusto? Nella maggior parte dei casi è un traguardo da celebrare, ma esiste un aspetto del cloud pubblico spesso trascurato che può paralizzare l'azienda o addirittura provocare un outage: limiti e quote.

Non si faccia trovare impreparato nei momenti decisivi

In DoiT International seguiamo migliaia di organizzazioni in tutto il mondo come partner cloud di fiducia e fornitore di soluzioni software FinOps. Tra le decine di migliaia di richieste che i nostri cloud architect gestiscono ogni mese, una svista ricorrente è proprio la mancata previsione del raggiungimento dei limiti di quota. Il risultato sono richieste di assistenza concitate per accelerare l'evasione degli aumenti di quota da parte del cloud provider.

Richieste di aumento quote dai clienti

Richieste di supporto per l'aumento delle quote ricevute dai nostri clienti

Da oltre dieci anni la nostra passione è innovare e mantenere le vere promesse del cloud: semplicità, elasticità ed efficienza. Per supportare i clienti su questo problema ricorrente abbiamo integrato funzionalità di monitoraggio e alerting delle quote nella nostra piattaforma software multi-cloud, la DoiT Console.

Esempio: funzionalità di Quota Monitoring nella DoiT Console per i clienti AWS

Purtroppo non tutti coloro che utilizzano il cloud pubblico sono (ancora) clienti DoiT, ma per fortuna anche il team di Google ha riconosciuto il problema e ha rilasciato in open source un progetto chiamato "Quota Monitoring Solution (QMS)".

La Quota Monitoring Solution open-source di Google

Il repository GitHub della soluzione include istruzioni passo-passo, ma in questo articolo cerchiamo di semplificare i passaggi per renderLa operativo in tempi rapidi. Per spiegazioni più approfondite di ogni passaggio Le consigliamo di consultare la documentazione nel repository.

In meno di venti minuti, utilizzando i comandi gcloud e terraform da terminale, può ottenere una dashboard come quella riportata qui sotto e personalizzare poi l'alerting in base alle esigenze della Sua organizzazione.

Dashboard Looker Studio delle quote e dell'utilizzo

Dashboard Looker Studio che mostra l'utilizzo delle quote a livello di organizzazione, cartella, regione o progetto

Funzionalità

Fonte: Google

Architettura

Fonte: Google

In questo articolo vedremo come:

  1. Predisporre e configurare l'ambiente QMS
  2. Installare QMS con Terraform
  3. Configurare la dashboard Looker Studio

Iniziamo!

Prerequisiti

Possibilità di eseguire comandi gcloud da terminale o cloud shell

Sebbene si possa configurare il servizio manualmente dalla Cloud Console, è stato pensato per essere installato e configurato tramite terminale e comandi shell. Può utilizzare il client di terminale che preferisce oppure semplicemente la Cloud Shell integrata nella GCP Console.

Possibilità di eseguire Terraform

Dovrà installare lo strumento da riga di comando Terraform sulla Sua macchina o in Cloud Shell. La configurazione dell'infrastruttura cloud e delle funzioni serverless è automatizzata tramite infrastructure as code (IaC).

Possibilità di assegnare permessi tramite ruoli IAM

Per procedere Le serviranno diversi ruoli IAM per creare un progetto di monitoraggio, un service account e assegnare i ruoli al service account. Le consigliamo di verificare, eventualmente con un membro del team che disponga del ruolo di Organization Administrator, di avere a disposizione i ruoli seguenti:

1\. Predisporre e configurare l'ambiente QMS

Per semplificare setup e configurazione ho preparato uno script che esegue al posto Suo le seguenti operazioni:

  • Creazione del progetto di monitoraggio, del service account e relativo IAM
  • IAM sul target (organizzazione o cartella)
  • Configurazione e istruzioni Terraform

Esegua il comando qui sotto nel terminale o nella cloud shell per avviare il setup.

Suggerimenti

  • Prema semplicemente INVIO per accettare i [default]: nei prompt
  • Tenga pronto il Suo billing ID (xxxxxx-xxxxxx-xxxxxx) da copiare/incollare
bash <(curl -L https://bit.ly/gcp-qms-setup)

Può consultare il codice sorgente qui: https://bit.ly/gcp-qms-setup

Esempio dei prompt da terminale durante l'esecuzione dello script di installazione

2\. Installare QMS con Terraform

Una volta completato il setup iniziale, lo script Le chiederà di autenticarsi ed eseguire Terraform manualmente, così da poter ispezionare il piano prima di applicarlo (e riprovare in caso di errori).

Esempio di prompt da terminale al termine dello script di setup, con i comandi finali per eseguire Terraform

Comandi di installazione (sostituisca <your-…> con i valori corretti)

PROJECT_ID=<your-project-id>
SA_EMAIL=<your-sa-email-address>
REGION=<your-region>

# configura gcloud sdk
gcloud config set core/project $PROJECT_ID

# imposta token oauth a breve durata
gcloud config set auth/impersonate_service_account $SA_EMAIL
export GOOGLE_OAUTH_ACCESS_TOKEN=$(gcloud auth print-access-token)

# esegui terraform (rilancia `terraform plan` e `terraform apply` in caso di errori)
cd quota-monitoring-solution/terraform/example
terraform init
terraform plan
terraform apply

# disattiva l'impersonificazione del service account
gcloud config unset auth/impersonate_service_account

# torna nella directory di progetto
cd ../../../

# avvia i job di cloud scheduler per iniziare a monitorare le quote
gcloud scheduler jobs run quota-monitoring-cron-job --location $REGION
gcloud scheduler jobs run quota-monitoring-app-alert-config --location $REGION

3\. Configurare la dashboard Looker Studio

Una volta completato il setup e installata l'app tramite Terraform, può configurare la dashboard seguendo i passaggi sottostanti (l'ordine è importante, come ho potuto verificare).

Apra il template di Looker Studio

Clicchi sul menu "…" (3 puntini) in alto a destra e selezioni "Crea una copia"

Quando viene richiesto di scegliere l'origine dati, prosegua con la selezione predefinita

A questo punto dovrebbe vedere una copia del template di dashboard Looker Studio in un'altra scheda del browser. Il prossimo passo è collegarla al dataset creato in precedenza nel Suo progetto.

Connessione al Suo dataset

Ho riscontrato che questo passaggio è un po' capriccioso e l'ordine conta: se non riesce al primo tentativo, riprovi.

In basso comparirà un pannello con una query SQL: dovrà modificarla e sostituire il Suo [project ID].[dataset].[table].

Sulla sinistra sono elencati i progetti, ma il Suo potrebbe non comparire. Provi a cercarlo: se il completamento automatico non lo propone, clicchi sulla scheda "Progetti recenti" e selezioni progetto -> dataset -> tabella.

Torni alla scheda della test query e si assicuri che il Suo project ID sia ancora presente nella query (e non sia tornato al valore di default del template).

Esempio: si assicuri che il Suo PROJECT ID compaia in entrambi i punti

Clicchi sul pulsante "Riconnetti" in alto a destra del pannello. Quando richiesto, confermi la modifica dell'origine dati e clicchi su "Applica"

Congratulazioni!

Dovrebbe vedere i dati popolarsi nella dashboard. In caso contrario, ripeta i passaggi precedenti: la procedura può essere "capricciosa" e di solito un paio di tentativi sono sufficienti.

Clicchi semplicemente su "Fine" per chiudere il pannello e, se vuole, su "Visualizza" per aprire la dashboard.

Configurazione di monitoraggio e alert

La documentazione di Google illustra ulteriori personalizzazioni e configurazioni opzionali per l'alerting.

Ora può restare informato e intercettare i potenziali problemi di quota prima che si traducano in outage.