Puoi utilizzare Workload Manager per creare ed eseguire valutazioni automatizzate che analizzano i tuoi workload in base agli standard di settore e alle best practice di Google Cloud . L'esecuzione regolare delle valutazioni consente di rilevare tempestivamente la deviazione della configurazione e i rischi dell'architettura nei progetti, aiutandoti a migliorare l'affidabilità, la sicurezza e le prestazioni dei workload.
Puoi creare ed eseguire valutazioni dei workload utilizzando la console Google Cloud o l'API Workload Manager. Per informazioni concettuali sul funzionamento delle valutazioni, consulta Informazioni sulle valutazioni di Workload Manager.
Limitazioni
Workload Manager supporta l'esecuzione di un massimo di 25 valutazioni contemporaneamente ogni ora per progetto. Se un progetto ha più di 25 valutazioni, limita le valutazioni orarie a 25 o imposta la pianificazione delle valutazioni in modo che venga eseguita ogni 6 ore o meno di frequente.
Prima di iniziare
Prima di creare ed eseguire una valutazione del workload, completa i seguenti prerequisiti:
Verifica che le risorse Google Cloud che vuoi valutare siano già state create nel progetto di destinazione. Per un elenco delle risorse e delle regole supportate, consulta il riferimento alle best practice diGoogle Cloud .
Abilita le API richieste nel progetto consumer Google Cloud in cui crei ed esegui le valutazioni:
Se valuti i workload in base a regole personalizzate o best practice, abilita l'API Cloud Asset e l'API Cloud Monitoring.
Se valuti un workload di un'applicazione o di un database, verifica di aver configurato l'agente o l'operatore richiesto su tutte le istanze di computing o i cluster che eseguono il workload:
(Facoltativo) Se vuoi includere regole personalizzate oltre alle best practice integrate di Google Cloud , carica una regola di esempio dal repository GitHub
GoogleCloudPlatform/workload-managerin un bucket Cloud Storage il cui livello superiore contiene le cartelle/libe/rules. Per saperne di più sul caricamento di regole personalizzate, consulta Scrivi regole personalizzate utilizzando Rego.Per creare ed eseguire valutazioni, verifica di disporre dei ruoli e delle autorizzazioni richiesti.
Se utilizzi l'API Workload Manager per creare valutazioni, crea manualmente l'agente di servizio Workload Manager nel progetto consumer e concedigli i seguenti ruoli:
Workload Manager Service Agent (
roles/workloadmanager.serviceAgent) nei progetti di destinazione.Se imposti una pianificazione delle valutazioni, Workload Manager Worker (
roles/workloadmanager.worker) nel progetto consumer.
Quando utilizzi la console Google Cloud , Workload Manager crea automaticamente l'agente di servizio. Per ulteriori informazioni sulla configurazione degli agenti di servizio, consulta Agenti di servizio di Workload Manager.
Ruoli obbligatori
Per ottenere le autorizzazioni necessarie per creare ed eseguire una valutazione del workload, chiedi all'amministratore di concederti i seguenti ruoli IAM:
-
Creare ed eseguire una valutazione:
Workload Manager Evaluation Administrator (
roles/workloadmanager.evaluationAdmin) nel progetto consumer -
Creazione di un agente di servizio (solo prima valutazione):
Project IAM Admin (
roles/resourcemanager.projectIamAdmin) nei progetti consumer e di destinazione -
Lettura dei dati di Cloud Asset Inventory (regole personalizzate e best practice):
Cloud Asset Owner (
roles/cloudasset.owner) sul progetto consumer -
Lettura di regole personalizzate da un bucket Cloud Storage (facoltativo):
Storage Object Viewer (
roles/storage.objectViewer) nel progetto consumer -
Crea notifiche di avviso (facoltativo):
Monitoring Metric Writer (
roles/monitoring.metricWriter) sul progetto consumer -
Esporta i risultati della valutazione in BigQuery (facoltativo):
Amministratore BigQuery (
roles/bigquery.admin) sul progetto consumer
Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.
Questi ruoli predefiniti contengono le autorizzazioni necessarie per creare ed eseguire una valutazione del workload. Per vedere quali sono esattamente le autorizzazioni richieste, espandi la sezione Autorizzazioni obbligatorie:
Autorizzazioni obbligatorie
Per creare ed eseguire una valutazione del workload sono necessarie le seguenti autorizzazioni:
-
Crea ed esegui una valutazione:
-
workloadmanager.evaluations.createsul progetto consumer -
workloadmanager.evaluations.runsul progetto consumer
-
-
Crea un agente di servizio (solo prima valutazione):
resourcemanager.projects.setIamPolicynei progetti consumer e di destinazione -
Leggi i dati di Cloud Asset Inventory (regole personalizzate e best practice):
cloudasset.assets.searchAllResourcessul progetto consumer -
Leggi le regole personalizzate da un bucket Cloud Storage (facoltativo):
-
storage.objects.getsul progetto consumer -
storage.objects.listsul progetto consumer
-
-
Crea notifiche di avviso (facoltativo):
monitoring.timeSeries.createsul progetto consumer -
Esporta i risultati della valutazione in BigQuery (facoltativo):
-
bigquery.datasets.getsul progetto consumer -
bigquery.tables.createsul progetto consumer -
bigquery.tables.updateDatasul progetto consumer
-
Potresti anche ottenere queste autorizzazioni con ruoli personalizzati o altri ruoli predefiniti.
Per saperne di più sui ruoli nei progetti consumer e di destinazione, consulta Ruoli IAM nei progetti consumer e di destinazione per le valutazioni e Ruoli e autorizzazioni IAM di Workload Manager.
Crea una valutazione del workload
Puoi creare una valutazione del workload utilizzando la console Google Cloud o l'API Workload Manager. Per creare una valutazione che utilizza regole personalizzate, consulta Valuta i workload utilizzando regole personalizzate.
Console
Per creare una valutazione del workload nella console Google Cloud , segui questi passaggi:
Nella console Google Cloud , vai alla pagina Workload Manager.
Seleziona il progetto consumer Google Cloud in cui vuoi archiviare ed eseguire la valutazione.
Se richiesto, fai clic su Abilita per abilitare l'API richiesta per Workload Manager.
Fai clic su Nuova valutazione.
Nel riquadro Nome e regole, configura i dettagli della valutazione e seleziona le regole da valutare:
In Nome valutazione, inserisci un nome per la valutazione del workload.
(Facoltativo) In Descrizione, inserisci una descrizione per la valutazione del workload.
Nel campo Tipo di workload, seleziona uno dei seguenti tipi di workload supportati:
SAP
SQL Server
MySQL
Redis
OpenShift
Personalizzato
Quando selezioni Personalizzato, puoi valutare i tuoi workload in base alle best practice diGoogle Cloud o alle regole personalizzate archiviate in Cloud Storage.
Nella tabella delle regole, seleziona le regole delle best practice da includere nella valutazione del workload. Per saperne di più su ogni regola, consulta la Google Cloud documentazione di riferimento sulle best practice.
Fai clic su Continua.
Nel riquadro Ambito e filtri, specifica i progetti di destinazione e i filtri delle risorse per la valutazione:
Nella sezione Ambito di valutazione, per aggiungere i progetti di destinazione che contengono le risorse che vuoi valutare, fai clic su Sfoglia progetti.
(Facoltativo) Per condividere i risultati delle regole tra i progetti di destinazione, seleziona la casella di controllo Condividi risultati. Per saperne di più, consulta Condividi i risultati della valutazione.
(Facoltativo) Nella sezione Applica filtri alle risorse, per selezionare risorse specifiche dai progetti di destinazione, fai clic su Aggiungi filtro, quindi utilizza uno dei seguenti tipi di filtro:
Service account: filtra le istanze di Compute Engine in base al account di servizio collegato.
Etichetta: filtra le risorse in base alle coppie chiave-valore delle etichette.
Nome: filtra le risorse in base al pattern dell'ID risorsa.
Più filtri all'interno dello stesso tipo di filtro utilizzano la logica
OR. I filtri di diversi tipi utilizzano la logicaAND.Se richiesto, seleziona la regione in cui vuoi che Workload Manager archivi i dati di valutazione.
Fai clic su Continua.
Nel riquadro Frequenza e notifiche, configura la pianificazione della valutazione, la destinazione dell'esportazione e le notifiche degli avvisi:
Nella sezione Pianificazione, seleziona la frequenza con cui eseguire la valutazione.
(Facoltativo) Per esportare i risultati della valutazione in un set di dati BigQuery regionale nella stessa regione della valutazione, seleziona Salva nel set di dati BigQuery e specifica il set di dati. Per creare una tabella separata per la valutazione, seleziona Crea una nuova tabella dei risultati per questa valutazione.
(Facoltativo) Nella sezione Notifica, seleziona gli eventi per i quali vuoi ricevere notifiche di avviso, quindi seleziona i canali di notifica.
Fai clic su Continua.
Nel riquadro Rivedi, esamina le impostazioni di valutazione del workload. Per modificare le impostazioni, fai clic sul nome del riquadro nel menu di navigazione a sinistra.
Fai clic su Crea.
REST
Per creare una valutazione del workload utilizzando l'API Workload Manager, segui questi passaggi:
(Facoltativo) Per recuperare l'elenco dei nomi delle regole disponibili per il tuo tipo di workload, invia una richiesta
GETal metodoprojects.locations.rules.list:curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "X-Goog-User-Project: CONSUMER_PROJECT_ID" \ "https://workloadmanager.googleapis.com/v1/projects/CONSUMER_PROJECT_ID/locations/LOCATION_ID/rules?evaluationType=EVALUATION_TYPE"Sostituisci quanto segue:
CONSUMER_PROJECT_ID: l'ID del progetto consumer in cui esegui le valutazioniLOCATION_ID: la regione supportata per la valutazione, ad esempious-central1EVALUATION_TYPE: il tipo di valutazione del workload, ad esempioSAP,SQL_SERVER,MYSQL,REDIS,OPENSHIFToOTHER
Per creare la valutazione, invia una richiesta
POSTal metodoprojects.locations.evaluations.create:curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ -H "X-Goog-User-Project: CONSUMER_PROJECT_ID" \ -d '{ "description": "DESCRIPTION", "evaluationType": "EVALUATION_TYPE", "ruleNames": [ "RULE_NAMES" ], "resourceFilter": { "scopes": [ "projects/TARGET_PROJECT_ID" ], "resourceIdPatterns": [ "RESOURCE_ID_PATTERNS" ], "inclusionLabels": { "LABEL_KEY": "LABEL_VALUE" }, "gceInstanceFilter": { "serviceAccounts": [ "SERVICE_ACCOUNT_EMAIL" ] } }, "schedule": "SCHEDULE", "bigQueryDestination": { "destinationDataset": "projects/BQ_PROJECT_ID/datasets/BQ_DATASET_ID", "createNewResultsTable": true } }' \ "https://workloadmanager.googleapis.com/v1/projects/CONSUMER_PROJECT_ID/locations/LOCATION_ID/evaluations?evaluationId=EVALUATION_ID"Sostituisci quanto segue:
CONSUMER_PROJECT_ID: l'ID del progetto consumer in cui crei la valutazioneLOCATION_ID: la regione supportata in cui Workload Manager memorizza la valutazione, ad esempious-central1EVALUATION_ID: un ID univoco per la valutazioneDESCRIPTION: una descrizione della valutazioneEVALUATION_TYPE: il tipo di valutazione del workload, ad esempioSAP,SQL_SERVER,MYSQL,REDIS,OPENSHIFToOTHERRULE_NAMES: un elenco separato da virgole di ID regola da includere nella valutazioneTARGET_PROJECT_ID: l'ID progetto o il numero del progetto di destinazione che contiene le risorse da valutareRESOURCE_ID_PATTERNS: modelli di nomi di risorse opzionali per filtrare le risorse valutate, come//compute.googleapis.com/projects/my-project/zones/us-central1-a/instances/my-instance*LABEL_KEYeLABEL_VALUE: coppie di etichette chiave-valore facoltative per filtrare le risorseSERVICE_ACCOUNT_EMAIL: indirizzo email facoltativo del account di servizio per filtrare le istanze di Compute EngineSCHEDULE: espressione cron facoltativa in UTC per le esecuzioni di valutazione ricorrenti, ad esempio0 */6 * * *per l'esecuzione ogni 6 oreBQ_PROJECT_IDeBQ_DATASET_ID: ID progetto e ID set di dati BigQuery regionale facoltativi per l'esportazione dei risultati della valutazione
Per saperne di più sui campi supportati, consulta il riferimento alla risorsa
Evaluation.
Esegui una valutazione del workload
Oltre a eseguire le valutazioni in base a una pianificazione ricorrente, puoi eseguire una valutazione del workload esistente on demand in qualsiasi momento utilizzando la console Google Cloud o l'API Workload Manager.
Console
Per eseguire una valutazione del workload nella console Google Cloud , segui questi passaggi:
Nella console Google Cloud , vai alla pagina Workload Manager.
Fai clic sul nome della valutazione che vuoi eseguire.
Nella pagina Informazioni sulla valutazione, fai clic su Esegui.
La valutazione del workload richiede alcuni minuti. Prima di visualizzare i risultati più recenti, attendi il completamento dell'esecuzione della valutazione.
REST
Per eseguire una valutazione del workload utilizzando l'API Workload Manager, invia una richiesta POST al metodo projects.locations.evaluations.executions.run:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-H "X-Goog-User-Project: CONSUMER_PROJECT_ID" \
-d '{
"executionId": "EXECUTION_ID"
}' \
"https://workloadmanager.googleapis.com/v1/projects/CONSUMER_PROJECT_ID/locations/LOCATION_ID/evaluations/EVALUATION_ID/executions:run"
Sostituisci quanto segue:
CONSUMER_PROJECT_ID: l'ID del progetto consumer in cui è archiviata la valutazione.LOCATION_ID: la regione della valutazione, ad esempious-central1.EVALUATION_ID: l'ID della valutazione che vuoi eseguire.EXECUTION_ID: un ID univoco facoltativo per questa esecuzione. Per consentire a Workload Manager di generare automaticamente un ID, ometti questo campo.
La richiesta restituisce un'operazione Operation a lunga esecuzione. Per controllare lo stato dell'esecuzione o elencarne i risultati, utilizza i metodi projects.locations.evaluations.executions.get e projects.locations.evaluations.executions.results.list.
Condividi i risultati della valutazione
La condivisione dei risultati della valutazione consente ai proprietari delle risorse nei progetti di destinazione di visualizzare i risultati della configurazione nelle console dei progetti locali e nelle pagine integrate, come Compute Engine. Questa funzionalità non richiede l'accesso IAM diretto al progetto consumer.
Modifica una valutazione per condividere i risultati
Per attivare o disattivare la condivisione dei risultati per una valutazione esistente:
Nella console Google Cloud , vai alla pagina Workload Manager.
Fai clic sul nome della valutazione che vuoi modificare.
Fai clic su Modifica.
Nella sezione Ambito e filtri, seleziona o deseleziona la casella di controllo Condividi risultati.
Fai clic su Salva.
Visibilità dei risultati condivisi
Quando attivi Condividi risultati, Workload Manager propaga i risultati delle regole a tutti i progetti di destinazione specificati nell'ambito di valutazione. I risultati sono visibili nella scheda Risultati delle regole e nelle pagine integrate, ad esempio la pagina Panoramica di Compute Engine.
Quando disattivi Condividi risultati, Workload Manager interrompe la propagazione dei risultati delle regole ai progetti di destinazione e i risultati rimangono visibili solo all'interno del progetto consumer.
Imposta le notifiche di avviso per le valutazioni
Puoi configurare le notifiche di avviso in modo che Workload Manager invii una notifica ai canali di notifica scelti quando si verificano eventi di valutazione specifici, ad esempio quando una valutazione rileva nuovi risultati o non viene eseguita. Se non hai configurato le notifiche di avviso quando hai creato la valutazione, puoi aggiungerle o aggiornarle per una valutazione esistente nella console Google Cloud seguendo questi passaggi:
Nella console Google Cloud , vai alla pagina Workload Manager.
Fai clic sul nome della valutazione per cui vuoi attivare le notifiche di avviso.
Fai clic su Modifica.
Seleziona la sezione Notifica.
Seleziona gli eventi per i quali vuoi ricevere notifiche di avviso, poi seleziona i canali di notifica.
Fai clic su Salva.