Terraform으로 알림 정책 관리

이 문서에서는 Google Cloud Terraform 제공업체를 사용하여 Google Cloud 프로젝트에서 알림 정책을 수정하고 삭제하는 방법을 설명합니다. Google Cloud Terraform 제공업체는 알림 정책과 알림 채널을 위한 다음 리소스를 제공합니다.

Terraform은 인프라 빌드, 변경, 버전 관리를 위한 도구입니다. 구성 파일을 사용하여 단일 애플리케이션 또는 전체 인프라를 실행하는 데 필요한 구성요소를 설명합니다. Terraform 사용에 대한 자세한 내용은 다음 문서를 참조하세요.

시작하기 전에

Terraform을 사용하여 알림 정책을 수정하는 데 필요한 권한을 얻으려면 관리자에게 프로젝트에 대한 Monitoring 편집자(roles/monitoring.alertPolicyEditor) IAM 역할을 부여해 달라고 요청하세요. 역할 부여에 대한 자세한 내용은 액세스 관리를 참조하세요.

커스텀 역할이나 다른 사전 정의된 역할을 통해 필요한 권한을 얻을 수도 있습니다.

Cloud Monitoring 역할에 대한 자세한 내용은 Identity and Access Management로 액세스 제어를 참조하세요.

알림 정책 수정 또는 삭제

Google Cloud 프로젝트에서 알림 정책을 수정하거나 삭제하려면 다음 단계를 따르세요.

  1. Terraform이 Cloud Shell에 설치되어 있는지 확인합니다.

  2. Cloud Shell에서 Terraform 구성이 포함된 디렉터리로 이동합니다.

  3. 구성 파일을 수정하고, 알림 정책의 google_monitoring_alert_policy 리소스를 찾은 후 해당 리소스를 수정하거나 삭제합니다.

  4. Cloud Shell에 terraform apply를 입력합니다.

알림 정책 구성을 Terraform 구성으로 내보내기

알림 정책 구성을 Google Cloud에서 Terraform 구성의 Terraform 정의로 내보낼 수 있습니다. 이 프로세스는 Terraform 구성을 만든 후에 Google Cloud에서 알림 정책을 만든 경우에 유용합니다.

알림 정책을 내보내려면 다음을 수행합니다.

  1. Terraform이 Cloud Shell에 설치되어 있는지 확인합니다.

  2. Cloud Shell에서 Terraform 구성이 포함된 디렉터리로 이동합니다.

  3. import 블록을 Terraform 구성의 파일에 추가합니다. import 블록에는 다음과 같은 인수가 있습니다.

    • to: Terraform 구성에서 지정한 리소스 주소입니다. 이 필드는 google_monitoring_alert_policy.RESOURCE_NAME 형식이며, 여기서 RESOURCE_NAME은 선택한 값입니다. 알림 정책을 명확하게 설명하는 리소스 이름을 선택하는 것이 좋습니다.

    • id: 알림 정책 이름입니다. 이 필드 형식은 project/PROJECT_ID/alertPolicies/ALERT_POLICY_ID입니다.

    예를 들어 CPU 사용량을 모니터링하는 알림 정책을 내보내려면 RESOURCE_NAMEcpu_usage_threshold로 설정합니다. 그런 다음 id를 알림 정책 이름으로 설정합니다.

    import {
    to = google_monitoring_alert_policy.cpu_usage_threshold
    id = "projects/my-alerting-project/alertPolicies/7160801095019277297"
    }
    
  4. Cloud Shell에서 다음 명령어를 실행합니다.

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

    이전 명령어는 알림 정책 정의를 Terraform 구성에 추가하기 전에 검토할 수 있도록 generated.tf 파일을 만듭니다. 정의를 수정하거나 다른 파일로 이동하거나 변경하지 않은 상태로 둘 수 있습니다.

  5. Cloud Shell에서 terraform apply를 입력하여 알림 정책 정의를 Terraform 구성으로 가져옵니다.

Terraform 구성에 속하지 않는 리소스의 정의를 생성하는 방법에 대한 자세한 내용은 구성 생성을 참조하세요.

다음 단계