Amazon CloudWatch Logs への Aurora PostgreSQL ログの発行 - Amazon Aurora

Amazon CloudWatch Logs への Aurora PostgreSQL ログの発行

ログデータを Amazon CloudWatch Logs のロググループに発行するように、Aurora PostgreSQL DB クラスターを設定することができます。CloudWatch Logs を使用すると、ログデータのリアルタイム分析や、CloudWatch を使用したアラームの作成、メトリクスの表示を行うことができます。CloudWatch Logs を使用して、耐久性が高いストレージにログレコードを格納できます。

注記

以下の点に注意してください。

  • Aurora PostgreSQL は、9.6.12 以降のバージョン、10.7 以降のバージョン、11.6 以降のバージョンで CloudWatch Logs にログを発行することをサポートします。

  • Aurora PostgreSQL からは、postgresql ログのみを発行できます。アップグレードログの発行はサポートされていません。

  • Aurora は、無効化された監査ログデータをエクスポートする場合に、既存のロググループまたはログストリームを削除しません。既存の監査ログデータが無効化されている場合、既存のログは保持期間により、CloudWatch Logs で使用可能となり、保管された監査ログデータに変更を加えることもできます。ログストリームとロググループは、CloudWatch Logs コンソール、AWS CLI または CloudWatch Logs API を使用して削除できます。

  • 監査ログを CloudWatch Logs にエクスポートしない場合は、監査ログをエクスポートするすべてのメソッドが無効になっていることを確認してください。これらのメソッドは AWS Management Console、AWS CLI、RDS API です。

コンソールを使用して CloudWatch Logs に Aurora PostgreSQL ログを発行することができます。

コンソールから Aurora PostgreSQL ログを発行するには

  1. Amazon RDS コンソール (https://console.aws.amazon.com/rds/) を開きます。

  2. ナビゲーションペインで、[データベース] を選択します。

  3. ログデータを公開する Aurora PostgreSQL DB クラスターを選択します。

  4. [Modify] を選択します。

  5. [ログのエクスポート] セクションで、[Postgresql ログ] を選択します。

  6. [続行] を選択し、概要ページで [クラスターの変更] を選択します。

Aurora PostgreSQL ログは、AWS CLI を使用して発行することができます。以下のいずれかのオプションを指定して modify-db-cluster AWS CLI コマンドを実行できます。

  • --db-cluster-identifier— DB クラスター識別子。

  • --cloudwatch-logs-export-configuration — DB クラスターの CloudWatch Logs へのエクスポートに使用できるログタイプの構成設定。

また、以下の AWS CLI コマンドのいずれかを実行して、Aurora PostgreSQL ログを発行することもできます。

以下のオプションを使用して、この AWS CLI コマンドの 1 つを実行します。

  • --db-cluster-identifier— DB クラスター識別子。

  • --engine — データベースエンジン。

  • --enable-cloudwatch-logs-exports — DB クラスターの CloudWatch Logs へのエクスポートに使用できるログタイプの構成設定。

実行する AWS CLI コマンドに応じて、他のオプションが必要となる場合があります。

次のコマンドでは、ログファイルが CloudWatch Logs に発行されるよう Aurora PostgreSQL DB クラスターを作成します。

Linux、macOS、Unix の場合:

aws rds create-db-cluster \ --db-cluster-identifier my-db-cluster \ --engine aurora-postgresql \ --enable-cloudwatch-logs-exports postgresql

Windows の場合:

aws rds create-db-cluster ^ --db-cluster-identifier my-db-cluster ^ --engine aurora-postgresql ^ --enable-cloudwatch-logs-exports postgresql

次のコマンドでは、ログファイルが CloudWatch Logs に発行されるよう既存の Aurora PostgreSQL DB クラスターを変更します。--cloudwatch-logs-export-configuration 値は JSON オブジェクトです。このオブジェクトのキーは EnableLogTypes で、その値は postgresql です。

Linux、macOS、Unix の場合:

aws rds modify-db-cluster \ --db-cluster-identifier my-db-cluster \ --cloudwatch-logs-export-configuration '{"EnableLogTypes":["postgresql"]}'

Windows の場合:

aws rds modify-db-cluster ^ --db-cluster-identifier my-db-cluster ^ --cloudwatch-logs-export-configuration '{\"EnableLogTypes\":[\"postgresql\"]}'
注記

Windows コマンドプロンプトを使用する場合、JSON コードでは、二重引用符 (") の前にバックスラッシュ (\) を付けてエスケープする必要があります。

次の例では、既存の Aurora PostgreSQL DB クラスターを変更して、CloudWatch Logs へのログファイルの発行を無効にします。--cloudwatch-logs-export-configuration 値は JSON オブジェクトです。このオブジェクトのキーは DisableLogTypes で、その値は postgresql です。

Linux、macOS、Unix の場合:

aws rds modify-db-cluster \ --db-cluster-identifier mydbinstance \ --cloudwatch-logs-export-configuration '{"DisableLogTypes":["postgresql"]}'

Windows の場合:

aws rds modify-db-cluster ^ --db-cluster-identifier mydbinstance ^ --cloudwatch-logs-export-configuration "{\"DisableLogTypes\":[\"postgresql\"]}"
注記

Windows コマンドプロンプトを使用する場合、JSON コードでは、二重引用符 (") の前にバックスラッシュ (\) を付けてエスケープする必要があります。

Aurora PostgreSQL ログは、RDS API を使用して発行することができます。以下のいずれかのオプションを指定して ModifyDBCluster アクションを実行できます。

  • DBClusterIdentifier— DB クラスター識別子。

  • CloudwatchLogsExportConfiguration — DB クラスターの CloudWatch Logs へのエクスポートに使用できるログタイプの構成設定。

以下の RDS API アクションのいずれかを実行することで、RDS API を使用して Aurora PostgreSQL ログを発行することもできます。

次のパラメータを指定して RDS API アクションを実行します。

  • DBClusterIdentifier— DB クラスター識別子。

  • Engine — データベースエンジン。

  • EnableCloudwatchLogsExports — DB クラスターの CloudWatch Logs へのエクスポートに使用できるログタイプの構成設定。

実行する AWS CLI コマンドに応じて、他のパラメータが必要となる場合があります。

Amazon CloudWatch でログイベントをモニタリングする

Aurora PostgreSQL ログイベントを有効にすると、Amazon CloudWatch Logs でイベントをモニタリングできます。モニタリングの詳細については、「CloudWatch Logs に送信されたログデータを表示する」を参照してください。

新しいクラスターロググループは、cluster-name が DB クラスター名となり、log_type がログタイプとなる次のプレフィックスの Aurora DB クラスターに自動的に作成されます。

/aws/rds/cluster/cluster-name/log_type

例えば、エクスポート関数を設定して、my-db-cluster という名前の DB クラスターの postgresql ログを作成すると、PostgreSQL ログデータは、/aws/rds/cluster/my-db-cluster/postgresql ロググループに保存されます。

DB クラスターのすべての DB インスタンス におけるすべてのイベントは、別々のログストリームを使用してロググループにプッシュされます。

指定する名前のロググループがすでに存在する場合、Aurora はこのロググループを使用して Aurora DB クラスターにログデータをエクスポートします。事前定義された保持期間、メトリックフィルター、カスタムアクセスのロググループを作成するには、AWS CloudFormation のような自動設定を使用できます。それ以外の場合は、デフォルトのログ保持期間である [失効しない] を使用して新規のロググループが自動的に CloudWatch Logs に作成されます。ログの保持期間を変更するには、CloudWatch Logs コンソール、AWS CLI、または CloudWatch Logs API を使用します。CloudWatch Logs でログの保持期間を変更する方法の詳細については、「CloudWatch Logs でのログデータ保管期間の変更」を参照してください。

DB クラスターのログイベント内の情報を検索するには、CloudWatch Logs コンソール、AWS CLI、または CloudWatch Logs API を使用します。検索およびログデータのフィルタ処理の詳細については、「ログデータの検索およびフィルタ処理」を参照してください。