RDS for PostgreSQL の CloudWatch Logsの設定について

このブログシリーズ 「クラウドセキュリティ 実践集」 では、一般的なセキュリティ課題を取り上げ、「なぜ危険なのか?」 というリスクの解説から、 「どうやって直すのか?」 という具体的な修復手順(コンソール、AWS CLI、Terraformなど)まで、分かりやすく解説します。

この記事では、RDS for PostgreSQL DB は CloudWatch Logs にログを発行する必要があることについて、リスクと対策を解説します。Amazon RDS for PostgreSQLのログをCloudWatch Logsに発行することで、データベースのセキュリティ監査、パフォーマンス監視、トラブルシューティングを効果的に実施できます。

問題の概要

Amazon RDS for PostgreSQLは、フルマネージドなリレーショナルデータベースサービスです。CloudWatch Logsへのログ発行機能を有効にすることで、データベースの動作状況、エラー、パフォーマンス、セキュリティに関する詳細な情報を一元的に収集・分析できます。

PostgreSQLで利用可能なログタイプ:

  • iam-db-auth-error ログ: RDS PostgreSQLでIAM (AWS Identity and Access Management) データベース認証の使用時に発生する認証失敗のエラーログ
  • postgresql.log: 一般的なデータベースログ(エラー、警告、通知、接続情報、SQLクエリ実行、パフォーマンス情報など)
  • upgrade.log: メジャーバージョンアップグレード時のログ(アップグレードプロセスの詳細、エラー、警告など)

修復方法

前提条件

CloudWatch Logsへのログ発行を有効化する前に、以下を確認してください:

  • RDSインスタンスに関連付けられたサービスロールがCloudWatch Logsへの書き込み権限を持っていること
  • ログの保持期間とコストについて検討済みであること

AWSマネジメントコンソールでの修復手順

AWSのコンソールを使用して、RDS for PostgreSQLのCloudWatch Logsへのログ発行を有効化します。

  1. AWS管理コンソールにログインし、RDSコンソールに移動します
  2. 左側のナビゲーションペインから「データベース」を選択します
  3. CloudWatch Logsへのログ発行を有効にしたいPostgreSQLインスタンスを選択します
  1. 「変更」ボタンをクリックします
  2. 「ログのエクスポート」セクションまでスクロールします
  3. 「CloudWatch Logsに発行するログ」で以下を選択します:
    • iam-db-auth-error ログ: 認証失敗のエラーログを発行
    • PostgreSQL ログ: 一般的なデータベースログを発行
    • アップグレードログ: メジャーバージョンアップグレード時のログを発行(必要に応じて)
  1. 「次へ」をクリックし、変更内容を確認します
  2. 「変更のスケジューリング」で適用タイミングを選択:
    • すぐに適用: 即座に変更を適用(推奨)
    • 次のメンテナンスウィンドウ中に適用: メンテナンスウィンドウで適用
  3. 「DBインスタンスの変更」をクリックして設定を保存します
  4. CloudWatchコンソールで、ロググループ /aws/rds/instance/{db-instance-id}/postgresql が作成されていることを確認します

Terraformでの修復手順

enabled_cloudwatch_logs_exports の箇所で利用するログを選択すれば適用されます。

# RDS for PostgreSQL インスタンス
resource "aws_db_instance" "postgresql" {
  >>>> Skip
  # CloudWatch Logsへのログ発行(重要)
  **enabled_cloudwatch_logs_exports = ["postgresql", "upgrade"]**

}

まとめ

RDS for PostgreSQLのCloudWatch Logsへのログ発行を有効にすることで、データベースのセキュリティ監査、パフォーマンス分析、トラブルシューティングが大幅に改善されます。

主なポイント:

  • ログ未発行はサービス障害の長期化やセキュリティインシデントの発覚遅延を招く
  • SOX法、PCI-DSS、HIPAA、GDPRなどのコンプライアンス要件を満たせず、多額の制裁金リスク
  • PostgreSQLログとアップグレードログの両方を有効化することが重要
  • 環境に応じた適切なログ保持期間の設定が必要
  • パラメータグループで詳細なログ設定をカスタマイズ

特に本番環境では、パフォーマンスへの影響を最小化しつつ、必要な情報を確実に収集するバランスが重要です。

この問題の検出は弊社が提供するSecurifyのCSPM機能で簡単に検出及び管理する事が可能です。 運用が非常に楽に出来る製品になっていますので、ぜひ興味がある方はお問い合わせお待ちしております。 最後までお読みいただきありがとうございました。この記事が皆さんの役に立てば幸いです。

参考情報

この記事をシェアする

クラウドセキュリティ対策実践集一覧へ戻る

貴社の利用状況に合わせた見積もりを作成します。

料金プランを詳しく見る