MySQL または MariaDB を実行する Amazon Relational Database Service (Amazon RDS) DB インスタンスの要件を満たすために、データベース (DB) アクティビティを監査し、そのログを Amazon CloudWatch に発行したいと考えています。
簡単な説明
接続、切断、クエリなどのイベント、またはその他のサーバーアクティビティをキャプチャするには、MariaDB Audit Plugin を追加して構成します。次に、DB インスタンスをカスタムオプショングループに関連付けます。上記を完了すると、ログを CloudWatch に発行できます。
Amazon RDS は、MySQL および MariaDB の下記バージョンで MariaDB Audit Plugin のオプション設定をサポートします。
- MySQL 5.7 系のすべてのバージョン
- バージョン MySQL 8.0.25 以降の 8.0 系
- MariaDB 10.3 以降
Amazon Aurora MySQL 互換を使用する場合は、「Amazon Aurora MySQL DB クラスターで監査ログの記録を有効にして、そのログを CloudWatch に発行する方法を教えてください」を参照してください。
解決策
注: AWS コマンドラインインターフェイス (AWS CLI) コマンドの実行中にエラーが発生した場合は、「AWS CLI で発生したエラーのトラブルシューティング」を参照してください。また、AWS CLI の最新バージョンを使用していることを確認してください。
MariaDB Audit Plugin を追加して構成し、DB インスタンスをカスタムオプショングループに関連付ける
次の手順を実行します。
- カスタムオプショングループを作成するか、既存のカスタムオプショングループを変更します。
- オプショングループに MariaDB Audit Plugin オプションを追加し、オプション設定を構成します。
- オプショングループを DB インスタンスに適用するには、次のいずれかの手順を実行します。
新しい DB インスタンスでは、DB インスタンスを起動する際、インスタンスが新規作成したオプショングループを使用するよう構成します。
既存の DB インスタンスのでは、DB インスタンスを変更した後、新しいオプショングループをアタッチします。
MariaDB Audit Plugin で DB インスタンスを構成した後に、DB インスタンスを再起動する必要はありません。オプショングループが有効化されると、監査は即時開始されます。
注: Amazon RDS は、MariaDB Audit Plugin でのログ記録の無効化をサポートしていません。監査ログを無効にするには、関連するオプショングループからプラグインを削除してインスタンスを自動的に再起動します。レコード内のクエリ文字列長を制限するには、SERVER_AUDIT_QUERY_LOG_LIMIT オプションを使用します。
監査ログを CloudWatch に発行する
CloudWatch ログのエクスポートを有効化するには、Amazon RDS コンソールまたは AWS CLI を使用します。
Amazon RDS コンソールを使用する場合は、次の手順を実行します。
- Amazon RDS コンソールを開きます。
- ナビゲーションペインで [データベース] を選択します。
- ログデータを CloudWatch にエクスポートするために使用する DB インスタンスを選択します。
- [変更] を選択します。
- [その他のモニタリング設定] セクションの [ログエクスポート] で [監査ログ] を選択します。
- [続行] を選択します。
- [変更の概要] を確認してから、[DB インスタンスの変更] を選択します。
注: [すぐに適用] を選択した際、ダウンタイムが発生する可能性があります。
AWS CLI を使用する場合は、modify-db-instance コマンドを実行して CloudWatch ログのエクスポートを有効にします。
aws rds modify-db-instance --db-instance-identifier db_instance --cloudwatch-logs-export-configuration '{"EnableLogTypes":["audit"]}'
注: db_instance を DB インスタンス名に置き換えてください。
監査ログを有効化し、ログをエクスポートするためのインスタンス変更を行った後は、監査ログに記録されたイベントが CloudWatch に送信されるため、CloudWatch でログイベントを監視できます。
関連情報
MariaDB データベースエンジンのオプション
MariaDB DB インスタンスへの接続