こんにちは
今回は完全に備忘録となります
実務で利用している Aurora for MySQL で Performance Insights を有効化して、Slow Query も出力する機会があったので、その手順を残しておきます
※ここでは Performance Insights や Slow Query の説明はしません
■前提
Amazon Aurora DB エンジンでは、db.t2 や db.t3 系のインスタンスクラスをサポートしていないので、最低でも db.t4g.medium くらいを利用する必要があります
■手順
1. Performance Insights の有効化
Aurora and RDS > データベース > DBクラスター名 > 変更 > Performance Insights を有効にする をチェックして、変更を適用を押下する
Aurora and RDS Performance insights > DBインスタンス名 を選択して、各種メトリクスなどが表示されていることを確認する
2. Slow Query の有効化
まずはパラメータストアを変更します
Aurora and RDS > パラメータグループ > クラスターパラメータ名 へ画面遷移し、下記へ変更します
slow_query_log を 1
long_query_time を 1以上
それではここで一度クエリを実行し、スロークエリが出力されるかどうか確認します
SELECT SLEEP(3);
ログとイベント > ログ へ画面遷移し、slowquery/mysql-slowquery.log のようなログファイルが存在する稼働確認し、下記のように出力されていればOKです
/rdsdbbin/oscar/bin/mysqld, Version: 8.0.42 (Source distribution). started with: Tcp port: 3306 Unix socket: /tmp/mysql.sock Time Id Command Argument # Time: 2026-04-25T07:55:04.840549Z # User@Host: root[root] @ [10.0.10.228] Id: 141 # Query_time: 3.000233 Lock_time: 0.000000 Rows_sent: 1 Rows_examined: 1 use test_db; SET timestamp=1777103701; SELECT SLEEP(3); ----------------------- END OF LOG ----------------------
3. Slow Query を CloudWatch Logs に出力する
Aurora and RDS > データベース > DBクラスター名 へ画面遷移し、ログのエクスポート欄の スロークエリログ をチェックしたうえで、変更を適用します
最後に CloudWatch Logs へ移動し、/aws/rds/cluster/【クラスター名】/slowquery からスロークエリを確認します
※以前に出力したものも転送されます
# Time: 2026-04-25T07:55:04.840549Z # User@Host: root[root] @ [10.0.10.228] Id: 141 # Query_time: 3.000233 Lock_time: 0.000000 Rows_sent: 1 Rows_examined: 1 use test_db; SET timestamp=1777103701; SELECT SLEEP(3);
■最後に
いかがでしたでしょうか
今回は自分用の備忘録でしたが、たまにやってみるとどこにスロークエリログが出力されるのか忘れてしまうことがあるので、いい感じにまとめれてよかったです
それではまた