Amazon Aurora MySQL DB クラスターの監査ログ記録を有効にして CloudWatch にログを発行するにはどうすればよいですか?

最終更新日: 2020 年 12 月 8 日

問題

コンプライアンス要件を満たすために、Amazon Aurora MySQL DB クラスターで監査ログ記録を有効にして、データベースのアクティビティを監査したいと考えています。その後、リアルタイムのデータ分析を実行できるように、DB ログを Amazon CloudWatch に公開したいと考えています。どうすればよいですか?

簡単な説明

Amazon Aurora での高度な監査を使用して、接続、切断、クエリされたテーブル、Aurora MySQL DB クラスターで発行されたクエリのタイプ (DML、DDL、DCL) などのデータベースイベントを記録および監査します。ログファイルに含まれる情報の種類の詳細については、監査ログの詳細を参照してください。

最初に、関連付けられているカスタム DB クラスターパラメータグループの高度な監査パラメータを有効にします。その後、高度な監査ログを CloudWatch に公開できます。

注: MySQL または MariaDB 向けに Amazon Relational Database Service (Amazon RDS) を使用している場合は、 Amazon RDS MySQL または MariaDB インスタンスの監査ログを有効にして、そのログを CloudWatch に公開する方法を教えてくださいを参照してください。

解決方法

高度な監査は、次のデータベース容量タイプをサポートしています。

  • Aurora Provisioned
  • Aurora Provisioned with Aurora パラレルクエリサポート
  • Aurora Serverless

Aurora Serverless を使用する場合は、監査ログ記録パラメータを有効にする必要がありますが、CloudWatch へのログのエクスポートを有効にする必要はありません。Aurora サーバーレスクラスターは、設定パラメータを通じて有効にしたログの種類を自動的にアップロードするため、DB クラスターパラメータグループ内のさまざまなログタイプの値を変更することによって、Aurora サーバーレスクラスターのログアップロードを有効または無効にします。

クラスターパラメータグループで高度な監査パラメータを使用できるようにする

  1. カスタム DB クラスターのパラメータグループを作成します。
  2. [Advanced Auditing] (高度な監査) のパラメータを変更します。
  3. 新しいカスタム DB パラメータグループを Aurora MySQL DB クラスターに関連付けるようにクラスターを変更します。

高度な監査パラメータの詳細については、「高度な監査の有効化」を参照してください。パラメータは動的なので、DB クラスターを再起動する必要はありません。ただし、パラメータグループをデフォルトからカスタムパラメータグループに変更した場合は、新しい DB パラメータグループを適用するために DB インスタンスを手動で再起動する必要があります。

高度な監査ログを CloudWatch に公開する

  1. Amazon RDS コンソールを開きます。
  2. ナビゲーションペインから [Databases] (データベース) を選択します。
  3. ログデータを CloudWatch にエクスポートする Aurora MySQL DB クラスターを選択します。
  4. [Modify] (変更) を選択します。
  5. [ログのエクスポート] セクションから、[監査ログ] を選択します。
  6. [Continue] (続行) を選択します。
  7. [Summary of modifications] (変更の概要) を確認して、[Modify cluster] (クラスターの変更) を選択します。

または、クラスターレベルの DB パラメータ server_audit_logs_upload の値を 1 に設定して、高度な監査ログを CloudWatch Logs に発行できます。このパラメータのデフォルト値は 0 です。AWS Command Line Interface (AWS CLI) を使用して、次のようなコマンドを実行して CloudWatch ログのエクスポートを有効にすることもできます。

aws rds modify-db-cluster --db-cluster-identifier <mydbcluster> --cloudwatch-logs-export-configuration '{"EnableLogTypes":["audit"]}'

監査ログを有効にしてインスタンスを変更してログをエクスポートすると、監査ログに記録されたイベントが CloudWatch に送信されます。その後、CloudWatch のログイベントをモニタリングできます。