継続は力なり

タイトル通り定期的な更新を心掛けるブログです。

Terraform で Aurora の拡張モニタリングを特定環境で設定する

タダです.

Aurora の拡張モニタリングを有効化した時に Terraform を使って行ったのですが,特定の環境にのみ適用させる設定しました.その設定を試した結果をこの記事にまとめます.

事前準備

今回は dev 環境で拡張モニタリングを有効化することにします.まず,拡張モニタリングを有効化するためには IAM ロールを別途作る必要があります.作成のためのコードは以下のような感じになります.

data "aws_iam_policy_document" "assume_role" {
  statement {
    effect  = "Allow"
    actions = ["sts:AssumeRole"]
    principals {
      type        = "Service"
      identifiers = ["monitoring.rds.amazonaws.com"]
    }
  }
}

resource "aws_iam_role" "enhanced_monitoring" {
  count              = var.env == "dev" ? 1 : 0
  name               = "rds-enhanced-monitoring"
  path               = "/"
  assume_role_policy = data.aws_iam_policy_document.assume_role.json
}

resource "aws_iam_role_policy_attachment" "enhanced_monitoring" {
  count      = var.env == "dev" ? 1 : 0
  role       = aws_iam_role.enhanced_monitoring[0].name
  policy_arn = "arn:aws:iam::aws:policy/service-role/AmazonRDSEnhancedMonitoringRole"
}

拡張モニタリングの有効化

拡張モニタリングの有効化には monitoring_role_arnmonitoring_interval の値が0以上にすればOKです.monitoring_role_arn には事前準備で作成する IAM ロール ARN を指定します.monitoring_interval には 1, 5, 10, 15, 30, 60が使える値なので適宜指定したい値を設定します.

monitoring_role_arn = var.env == "dev" ? aws_iam_role.enhanced_monitoring[0].arn : ""
monitoring_interval = var.env == "dev" ? 60 : 0

関連情報

registry.terraform.io

まとめ

Aurora の拡張モニタリングを有効化したときの備忘録をまとめした.