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

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

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

準備

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

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

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

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

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

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

  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 フィールドは、繰り返し通知を送信する通知チャネルを構成します。どちらのフィールドも display_nameemail の通知チャネルを参照します。これは、Terraform の構成の任意の場所で定義されます。詳細については、Terraform を使用して通知チャネルを作成、管理するをご覧ください。

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

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

次のステップ

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