Terraform を使用してアラート ポリシーを作成する

このドキュメントでは、Google Cloud Terraform Provider を使用して Google Cloud プロジェクトにアラート ポリシーを作成する方法について説明します。Google Cloud Terraform Provider は、アラート ポリシーと通知チャンネルに次のリソースを提供します。

Terraform は、インフラストラクチャを構築、変更、バージョニングするためのツールです。構成ファイルを使用して、単一のアプリケーションまたはインフラストラクチャ全体を実行するために必要なコンポーネントを記述します。 Terraform の使用方法の詳細については、次のドキュメントをご覧ください。

始める前に

Terraform を使用してアラート ポリシーを作成するために必要な権限を取得するには、プロジェクトに対する Monitoring 編集者roles/monitoring.editor)の IAM ロールを付与するよう管理者に依頼してください。 ロールの付与については、プロジェクト、フォルダ、組織へのアクセスを管理するをご覧ください。

必要な権限は、カスタムロールや他の事前定義ロールから取得することもできます。

Cloud Monitoring のロールの詳細については、Identity and Access Management を使用してアクセスを制御するをご覧ください。

アラート ポリシーを作成する

Google Cloud プロジェクトにアラート ポリシーを作成するには、次の操作を行います。

  1. Cloud Shell に Terraform がインストールされていることを確認します。

  2. Cloud Shell で、Terraform 構成を含むディレクトリに移動します。

  3. 構成ファイルを編集して、アラート ポリシーを追加します。

    たとえば、次の構成では、VM の CPU 使用率が 1 分間で 50% を超えたときに、30 分ごとに送信される繰り返し通知で通知を送信するアラート ポリシーを定義しています。

    resource "google_monitoring_alert_policy" "alert_policy" {
      display_name = "CPU Utilization > 50%"
      documentation {
        content = "The $${metric.display_name} of the $${resource.type} $${resource.label.instance_id} in $${resource.project} has exceeded 50% for over 1 minute."
      }
      combiner     = "OR"
      conditions {
        display_name = "Condition 1"
        condition_threshold {
            comparison = "COMPARISON_GT"
            duration = "60s"
            filter = "resource.type = \"gce_instance\" AND metric.type = \"compute.googleapis.com/instance/cpu/utilization\""
            threshold_value = "0.5"
            trigger {
              count = "1"
            }
        }
      }
    
      alert_strategy {
        notification_channel_strategy {
            renotify_interval = "1800s"
            notification_channel_names = [google_monitoring_notification_channel.email.name]
        }
      }
    
      notification_channels = [google_monitoring_notification_channel.email.name]
    
      user_labels = {
        severity = "warning"
      }
    }
    

    上記の例では、notification_channels フィールドでアラート ポリシーの通知チャネルを定義しています。notification_channel_names フィールドは、繰り返し通知を送信する通知チャネルを構成します。どちらのフィールドも、emaildisplay_name を持つ通知チャネルを参照します。これは、Terraform 構成の他の場所で定義されています。詳細については、Terraform を使用して通知チャンネルを作成して管理するをご覧ください。

  4. Cloud Shell で、「terraform apply」と入力します。

アラート ポリシーを変更するには、Terraform の構成を編集して再適用します。詳細については、Terraform でアラート ポリシーを管理するをご覧ください。

次のステップ

  • Terraform の詳細を確認する。
  • Cloud Monitoring で Google Cloud Terraform Provider を使用するコードサンプルを試す。
  • Google Cloud Terraform プロバイダ リポジトリをGitHub で表示する。
  • GitHub の問題を提出してバグを報告するか、Terraform について質問する。