継続は力なり

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

Amazon Aurora MySQL で CloudWatch Database Insights Advanced モードを Terraform で設定してみたメモ✍

タダです.

CloudWatch Database Insights Advanced モードを設定してみようと思い,Terraformのコードを書いたのでこの記事に備忘録でまとめます.

CloudWatch Database Insights とは

CloudWatch Database Insights は アプリケーション,データベースおよびそれらが動作するオペレーティングシステムからのログとメトリクスを統合し,コンソール上で統一されたビューを提供します.2024年12月に発表された Database Insights は Amazon Aurora(PostgreSQL 互換版および MySQL 互換版),Amazon RDS(PostgreSQL,MySQL,MariaDB,SQL Server,Oracle)をサポートしています.

料金体系

Database Insightsには2つのモードがあります.

1. Standard Mode(標準モード)

  • 7日間のデータ保持を追加費用なしで提供
  • 基本的なデータベースメトリクスをサポート

2. Advanced Mode(高度モード)

  • 15ヶ月間のメトリクス保持
  • 拡張された監視,分析,最適化機能を追加料金で提供

価格

Advanced mode の価格はプロビジョンドインスタンスの場合 vCPU あたり時間単価 $0.0125です.Aurora Serverless v2 の場合は ACU あたり時間単価 $0.003125です.

Performance Insightsからの移行

なお, AWS は 2025年11月30日に RDS Performance Insightsを廃止し,CloudWatch Database Insights に移行します.この日以降 Performance Insights のダッシュボードと柔軟な保持期間の設定も使用できなくなるため 適宜 CloudWatch Database Insights への移行を考える必要があります.

AWS は、Performance Insights のサポート終了日を 2025 年 11 月 30 日と発表しました。この日以降、Amazon RDS は Performance Insights コンソールのエクスペリエンス、柔軟な保持期間 (1~24 か月)、および関連する料金のサポートを終了します。Performance Insights API は存続し、料金の変更はありません。Performance Insights API の料金は、CloudWatch Database Insights の料金とともに AWS 請求書に表示されます。

Performance Insights の有料利用枠を使用する DB インスタンスは、2025 年 11 月 30 日より前に Database Insights のアドバンストモードにアップグレードすることをお勧めします。

docs.aws.amazon.com

Terraform のコード

CloudWatch Database Insights の Advanced モードを有効化する Terraform として以下のようなコードを作りました.database_insights_mode というパラメーターがあるため,これで CloudWatch Database Insights Advanced モードを有効化します.試していてPerformance Insights のパラメータと合わせて使う必要があるのだなと感じました.

resource "aws_rds_cluster" "aurora_cluster" {
  cluster_identifier              = "blog-database"
  engine                          = "aurora-mysql"
  engine_version                  = "8.0.mysql_aurora.3.09.0"
  master_username                 = "admin"
  manage_master_user_password     = true
  port                            = 3306
  vpc_security_group_ids          = [aws_security_group.aurora_sg.id]
  db_subnet_group_name            = "d"
  backup_retention_period         = 1
  preferred_backup_window         = "17:15-17:45"
  preferred_maintenance_window    = "sat:19:01-sat:19:31"
  enabled_cloudwatch_logs_exports = ["audit", "error", "general", "slowquery"]
  database_insights_mode          = "advanced"
  performance_insights_enabled          = true
  performance_insights_retention_period = 465
}
resource "aws_rds_cluster_instance" "aurora_cluster_instance" {
  cluster_identifier                    = aws_rds_cluster.aurora_cluster.id
  identifier                            = "blog-database-1"
  count                                 = 1
  engine                                = aws_rds_cluster.aurora_cluster.engine
  engine_version                        = aws_rds_cluster.aurora_cluster.engine_version
  instance_class                        = "db.t4g.medium"
  publicly_accessible                   = false
  availability_zone                     = "ap-northeast-1a"
}

反映された関連パラメーター

まとめ

Terraform で CloudWatch Database Insights Advanced モードを有効化してみたのでメモとしてまとめました.設定自体はサクッとできたので次の記事で負荷をかけて利用感をまなんでみます.