Gestisci i criteri di avviso con Terraform

Questo documento descrive come utilizzare il provider Terraform per Google Cloud per modificare ed eliminare i criteri di avviso nel tuo progetto Google Cloud. Il provider Terraform per Google Cloud offre le seguenti risorse per criteri di avviso e canali di notifica:

Terraform è uno strumento per creare, modificare e controllare le versioni dell'infrastruttura. Utilizza i file di configurazione per descrivere i componenti necessari per eseguire una singola applicazione o l'intera infrastruttura. Per saperne di più sull'utilizzo di Terraform, consulta i seguenti documenti:

Prima di iniziare

Per ottenere le autorizzazioni necessarie per modificare i criteri di avviso utilizzando Terraform, chiedi all'amministratore di concederti il ruolo IAM Editor Monitoring (roles/monitoring.alertPolicyEditor) per il tuo progetto. Per saperne di più sulla concessione dei ruoli, consulta Gestire l'accesso.

Potresti anche essere in grado di ottenere le autorizzazioni richieste tramite i ruoli personalizzati o altri ruoli predefiniti.

Per ulteriori informazioni sui ruoli di Cloud Monitoring, consulta Controllare l'accesso con Identity and Access Management.

Modifica o elimina i criteri di avviso

Per modificare o eliminare un criterio di avviso nel tuo progetto Google Cloud, segui questi passaggi:

  1. Assicurati che Terraform sia installato in Cloud Shell.

  2. In Cloud Shell, vai alla directory che contiene la configurazione Terraform.

  3. Modifica il file di configurazione, individua la risorsa google_monitoring_alert_policy per il criterio di avviso, quindi modifica o elimina la risorsa.

  4. In Cloud Shell, inserisci terraform apply.

Esporta la configurazione di un criterio di avviso in una configurazione Terraform

Puoi esportare la configurazione di un criterio di avviso da Google Cloud a una definizione di Terraform nella configurazione Terraform. Questo processo è utile se hai creato un criterio di avviso in Google Cloud dopo aver creato la configurazione Terraform.

Per esportare il criterio di avviso:

  1. Assicurati che Terraform sia installato in Cloud Shell.

  2. In Cloud Shell, vai alla directory che contiene la configurazione Terraform.

  3. Aggiungi un blocco import a un file nella configurazione Terraform. Il blocco di importazione ha i seguenti argomenti:

    • to: l'indirizzo della risorsa specificato dalla configurazione di Terraform. Questo campo ha il formato google_monitoring_alert_policy.RESOURCE_NAME, dove RESOURCE_NAME è un valore che scegli. Ti consigliamo di scegliere un nome della risorsa che descriva chiaramente il criterio di avviso.

    • id: il nome del criterio di avviso. Questo campo ha il formato project/PROJECT_ID/alertPolicies/ALERT_POLICY_ID.

    Ad esempio, vuoi esportare un criterio di avviso che monitora l'utilizzo della CPU, quindi imposta RESOURCE_NAME su cpu_usage_threshold. Puoi quindi impostare id come nome del criterio di avviso:

    import {
    to = google_monitoring_alert_policy.cpu_usage_threshold
    id = "projects/my-alerting-project/alertPolicies/7160801095019277297"
    }
    
  4. In Cloud Shell, esegui questo comando:

    terraform plan -generate-config-out=generated.tf
    

    Il comando precedente crea un file denominato generated.tf, che ti consente di rivedere la definizione del criterio di avviso prima di aggiungerlo alla configurazione di Terraform. Puoi modificare la definizione, spostarla in un altro file o lasciarla invariata.

  5. In Cloud Shell, inserisci terraform apply per importare la definizione del criterio di avviso nella configurazione Terraform.

Per saperne di più sulla generazione di definizioni per risorse che non fanno parte della configurazione di Terraform, consulta Generazione della configurazione.

Passaggi successivi

  • Scopri di più su Terraform.
  • Prova esempi di codice che utilizzano il provider Google Cloud Terraform con Cloud Monitoring.
  • Visualizza il repository del provider Google Cloud Terraform su GitHub.
  • Invia una segnalazione su GitHub per segnalare un bug o fare una domanda su Terraform.