理系学生日記

おまえはいつまで学生気分なのか

TerraformでAWS Budgetsを設定する

プライベートでもAWSを使っているのですが、そういえばAWS Budgetsを設定しようと思って忘れていました。

AWS Budgetsとは

AWS Budgetsは、コストや使用量を追跡し、予実の可視化やコスト等が閾値を突破したときのアラートを通知してくれたりするサービスです。

特定のサービスにフォーカスしたコスト/使用量の追跡や、コストを使いすぎの場合に特定のEC2やRDSインスタンスを停止するといったことも可能です。

自宅での設定

プライベートで気にしているのは予算オーバーのみなので、月次でコストを監視することにしました。 そうすると、設定自体は非常に単純です。 償却コスト等についてアラートを設定したい場合はcost_typesを 利用します。この償却コスト等については、以下エントリで記述しています。

provider "aws" {
  region = "ap-northeast-1"
  default_tags {
    tags = {
      ManagedBy = "Terraformer"
    }
  }
}

resource "aws_budgets_budget" "total" {
  name         = "total_budgets"
  budget_type  = "COST"
  limit_amount = "10"
  limit_unit   = "USD"
  time_unit    = "MONTHLY"

  cost_types {
    use_amortized = true
  }

  notification {
    comparison_operator        = "GREATER_THAN"
    threshold                  = 20
    threshold_type             = "PERCENTAGE"
    notification_type          = "FORECASTED"
    subscriber_email_addresses = var.notification_emails
  }
}