💽

RDS Aurora MySQL 本番環境運用時に必要なログ出力の設定

2025/02/09に公開

この記事は

RDS Aurora MySQL 本番環境運用時に必要なログ出力の設定方法をまとめました。

https://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/USER_LogAccess.MySQL.LogFileSize.html

次の種類の RDS for MySQL ログファイルをモニタリングできます。
・エラーログ
・スロークエリログ
・全般ログ
・監査ログ

パラメータグループを確認

監査ログとスロークエリログに関しては、クラスターレベルのパラメータまたはインスタンスレベルのパラメータの修正が必要になります。

カスタムパラメータグループを作成している場合、クラスターまたはインスタンスに適切に設定されていることを確認してください。

https://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Reference.ParameterGroups.html

エラーログ

データベースエンジンによって検出されたエラーや警告メッセージが記録されます。

https://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/USER_LogAccess.MySQL.LogFileSize.html#USER_LogAccess.MySQL.Errorlog

パラメータグループは特に修正する必要はありません。

スロークエリログ

設定した時間よりも長く実行されるクエリが記録されます。パフォーマンスを劣化させるクエリを特定し、最適化を行うことが可能です。

https://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/USER_LogAccess.MySQL.LogFileSize.html#USER_LogAccess.MySQL.Generallog

インスタンスのパラメータグループを修正する必要があります。

  • slow_query_log
    • 1 を設定する
  • long_query_time
    • 任意の秒数、小数指定も可
    • 設定例
      • 1

全般ログ

SQLクエリの実行、接続情報、エラーメッセージ、トランザクション情報など、データベースの動作に関する情報を記録します。

https://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/USER_LogAccess.MySQL.LogFileSize.html#USER_LogAccess.MySQL.Generallog

インスタンスのパラメータグループを修正する必要があります。

  • general_log
    • 1 を設定する

監査ログ

データベース上での監査イベント(例:ログイン/ログアウト、クエリ実行、テーブルアクセスなど)の記録をします。

https://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Auditing.html#AuroraMySQL.Auditing.Enable.server_audit_logging

クラスターのパラメータグループを修正する必要があります。

  • server_audit_logs_upload
    • 1 を設定する
  • server_audit_logging
    • 1 を設定する
  • server_audit_events
    • 記録するイベントの種別を設定
      • CONNECT - 成功した接続と失敗した接続の両方、および切断を記録します。このイベントにはユーザー情報が含まれています。
      • QUERY - すべてのクエリをプレーンテキストで記録します (構文またはアクセス権限エラーで失敗
      • QUERY_DCL - QUERY イベントと同様ですが、データ制御言語 (DCL) クエリ (GRANT、REVOKE など) のみ返します。
      • QUERY_DDL - QUERY イベントと同様ですが、データ定義言語 (DDL) クエリ (CREATE、ALTER など) のみ返します。
      • QUERY_DML - QUERY イベントと同様ですが、データ操作言語 (DML) クエリ (INSERT、UPDATE などと、SELECT) のみ返します。
      • TABLE - クエリ実行の影響を受けたテーブルを記録します。
    • 設定例
      • CONNECT,QUERY

Cloudwatchへの転送を有効にする

RDSのクラスターの設定からログの出力を有効にします。

https://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/USER_LogAccess.Procedural.UploadtoCloudWatch.html

SMARTCAMP Engineer Blog

Discussion