Amazon Aurora MySQL DB クラスターの高度な監査を有効にしてから、そのログを CloudWatch に公開する方法を教えてください。

最終更新日: 2019 年 7 月 30 日

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

簡単な説明

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

最初に、関連付けられているカスタム 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. 高度な監査のパラメータを変更します。
  3. 新しいカスタム DB パラメータグループを Aurora MySQL DB クラスターに関連付けるようにクラスターを変更します。

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

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

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

または、クラスターレベルの 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 のログイベントを監視できます。