Amazon RDS for MySQLで接続元のログを取得したい

Amazon RDS for MySQLで接続元のログを取得したい

2026.04.30

こんにちは、まるとです。
監査要件の都合上、Amazon RDS for MySQLでログを取得したい場合はありませんか。

Amazon RDS for MySQLでは標準では接続元ログが取得されない形となっています。
今回は、接続元ログを取得する方法を紹介します。

先に結論

  • オプショングループを作成 or 既存のオプショングループを変更する
    • 変更する内容はMariaDB Audit Pluginの追加、設定
      • 接続元ログはSERVER_AUDIT_EVENTSCONNECTを入れるのがポイント

やってみる

接続元ログをはじめとした監査ログを取得するには、MariaDB Audit Pluginの追加が必要となります。
MariaDBと記載がありますが、MySQLでも利用できます。

MySQL 用の監査プラグインは、MariaDB 監査プラグインをベースにしています。この記事では、これを MariaDB 監査プラグインと呼びます。

MariaDB AuditプラグインのMySQLサポート - Amazonリレーショナルデータベースサービス

1. オプショングループの作成・編集

利用しているMySQLのバージョンに合わせてオプショングループを作ります。

1

続いて、作成したオプショングループに「オプションを追加」します。

2

オプションの追加画面では、以下の設定を行います。

項目名 設定値 備考
オプション名 MARIADB_AUDIT_PLUGIN MariaDB Audit Pluginを対象に設定
SERVER_AUDIT_EVENTS CONNECT データベースへの接続・切断を記録
すぐに適用 任意の値 Yesの場合かつオプショングループがすでにRDSインスタンスに紐づいている場合は即時適用

ポイントはSERVER_AUDIT_EVENTSCONNECTを入れることです。
SERVER_AUDIT_EVENTSの値によって記録するログを変更します。今回の要件では接続元に関するログが欲しいため、CONNECTを指定しています。
その他、クエリの内容なども記録できますが、ログの出力量が増えるため必要なもののみに絞ることをお勧めします。

3

設定できる値と説明

パラメータ名 説明
CONNECT 接続成功、失敗、切断時に接続元IPアドレスなどを記録
QUERY 全てのクエリをで記録
QUERY_DDL DDLクエリ(CREATE、ALTERなど)のみで記録
QUERY_DML DMLクエリ(INSERT、UPDATE、SELECTなど)のみで記録
QUERY_DML_NO_SELECT SELECTを除くDMLクエリを記録
QUERY_DCL DCLクエリ(GRAND、REVOKEなど)のみを記録

参考
https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.MySQL.Options.AuditPlugin.html#Appendix.MySQL.Options.AuditPlugin.Options

2. オプショングループをRDSインスタンスに紐づける

オプショングループを設定した後はRDSインスタンスを変更し、設定したオプショングループを紐付けます。

4

また、CloudWatch Logsにログを出力したい場合は、「ログのエクスポート」で「監査ログ」を選択します。
※ ログを長期間保管したい場合などは設定をお勧めします。ただし、CloudWatch Logsの料金が発生するためご注意ください。

5

設定したら、RDSインスタンスの変更を適用します。

接続してみる

RDSインスタンスのログを確認すると、audit/server_audit.logが新規で作成されています。

6

この状態で試しに接続してみます。(簡易的にCloudSHellからアクセスしてみました。)

7

接続後、該当ログを表示してみると接続ログが記録されていました。(IPアドレスも確認できますね。)

8

終わりに

セキュリティポリシー上監査ログが必要となった際、どうすれば良いのかを実際にみてみました。
接続元IP以外にも簡単な設定でさまざまな情報を取得できるようになるため、「RDSで監査ログが欲しいのだけど...」というシーンがでてきたらぜひ参考にしていただけると幸いです。

参考文献

https://repost.aws/ja/knowledge-center/advanced-audit-rds-mysql-cloudwatch
https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.MySQL.Options.AuditPlugin.html#Appendix.MySQL.Options.AuditPlugin.Add

この記事をシェアする

関連記事