Aurora Serverless クラスターでログを有効にして、ログを表示およびダウンロードする方法を教えてください。

最終更新日: 2021 年 3 月 10 日

データベースアクティビティを監査して、MySQL または PostgreSQL を実行する Amazon Aurora サーバーレス V1 クラスターのコンプライアンス要件を満たす必要があります。次に、ログを Amazon CloudWatch に公開して、ログを表示またはダウンロードしようと考えています。その方法を教えてください。

簡単な説明

MySQL 互換 DB クラスターの場合は、スロークエリログ、一般ログ、または監査ログを有効にすることができます。PostgreSQL 互換 DB クラスターの場合、log_stementsパラメーターでログのレベルを制御できます。

設計により、Aurora Serverless V1 は、自動的にスケーリングされる DB インスタンスのプロキシフリートに接続します。ログファイルに直接アクセスしてホストする DB インスタンスはありません。したがって、Amazon Relational Database Service (Amazon RDS) コンソールからログを直接表示することはできません。ただし、CloudWatch コンソールに送信されるログを表示およびダウンロードすることは可能です。

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

解決方法

ログを有効にするには、最初に Aurora Serverless V1 クラスターのクラスターパラメータグループを変更します。その後、Aurora Serverless V1 は自動的にログを CloudWatch にアップロードします。MySQL 互換 DB クラスターの場合は、クラスターのバージョンに応じた Aurora MySQL 5.6/5.7 クラスターパラメータグループファミリーを使用します。PostgreSQL 互換 DB クラスターの場合は、Aurora PostgreSQL 10 クラスターパラメータグループファミリーを使用します。

Aurora Serverless V1 のログを有効にする

  1. カスタム DB クラスターパラメータグループを作成します
  2. DB クラスターパラメータグループ値を変更します。MySQL 互換クラスターの場合、エラーログはデフォルトで有効になっています。スロークエリと一般ログを有効にするには、次のパラメータを変更します。
    general_log=1
    slow_query_log=1
    PostgreSQL 互換クラスターの場合、log_statementパラメータはログに記録される SQL ステートメントを制御します。デフォルト値は none です。クエリログとエラーログを記録するには、次のパラメータを変更します。
    log_statements=all
    ヒント: log_stements all に設定し、DB インスタンスの問題をデバッグするときにすべてのステートメントをログに記録するのがベストプラクティスです。すべてのデータ定義言語 (DDL) ステートメント (CREATE、ALTER、DROP など) をログに記録するには、パラメータ値を ddl に設定します。すべての DLL とデータ操作言語 (DML) ステートメント (INSERT、UPDATE、および DELETE など) をログに記録するには、パラメータ値を mod に設定します。
  3. DB クラスターを変更して、ステップ 2 で作成したカスタム DB パラメータグループを使用します。

DB クラスターを変更した後、Aurora Serverless V1 は自動シームレスなスケールを実行して、パラメーターの変更を適用しようとします。

注意:Aurora Serverless V1 は、この変更を適用するときに ForceApplyCapacityChange タイムアウトアクションを使用します。つまり、タイムアウトが発生する前に Aurora Serverless V1 DB クラスターでスケーリングポイントが見つからない場合、接続が切断される可能性があります。

CloudWatch でログを表示する

Aurora Serverless V1 はこれらのログを CloudWatch に自動的に公開するので、ログを表示およびダウンロードして CloudWatch コンソールで表示することができます。

  1. CloudWatch コンソールを開きます。
  2. ナビゲーションペインで、[Log groups] を選択します。
  3. リストから適切なロググループを選択します。

詳細については、「Amazon CloudWatch でログイベントをモニタリングする」を参照してください。