1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

DownloadCompleteDBLogFile を用いて RDS からログをダウンロードする (Python)

Last updated at Posted at 2024-03-23

こんにちは。インサイトテクノロジーの松尾です!

本投稿では DownloadCompleteDBLogFile を用いて RDS からログをダウンロードする方法を紹介します!

はじめに

以前所属する会社のサイトで以下のような記事を書きました。

アクセスキーを明示的に指定せずに「ロールが設定された EC2 インスタンスで DownloadCompleteDBLogFile を用いて RDS からログをダウンロードする」ということを目的にして書きましたが、実はロールが設定されているEC2でなくても、~/.aws/credentials が設定されている環境であれば、ローカル環境でも動作します。

今回のQiitaへの投稿を機にgithubにもソースをあげておいたので是非ご活用ください。

使い方

準備

gitからcloneしてきたあと以下の手順を行います。
※ちなみにpipでインストールしてるのはboto3requestsのみなので、デフォルトで使える場合には本手順は不要です。

python3 -m venv venv
source venv/bin/activate
pip3 install -r requirements.txt

実行

引数として対象のインスタンスIDを指定して実行します。

python3 download_logs.py <INSTANCE_ID>

実行例)

実行すると以下のように1ファイルずつダウンロードを行います。

python3 download_rds_log_files.py test-aumy-2-11-4-with-audit-log
audit/audit.log.0.2024-03-22-17-09.0
audit/audit.log.0.2024-03-22-17-10.0
audit/audit.log.0.2024-03-22-17-12.0
audit/audit.log.0.2024-03-22-17-30.0
audit/audit.log.0.2024-03-22-17-35.0
...

おまけ:結合とソート

ここまでで実行できるのは個別のログファイルをダウンロードしただけなので、ファイルの結合とソートを必要に応じて行いましょう。

cat audit-audit.log.* > audit_log.txt
sort audit_log.txt > audit_log_sorted.txt

おわりに

本投稿では、DownloadCompleteDBLogFile を用いて RDS からログをダウンロードする方法をご紹介しました。
ここで紹介した方法は、ロールが設定されいてるEC2でも動作しますし、aws configurecredentialsが設定されているローカル環境でも動作します。DownloadCompleteDBLogFileはご存知のようにawscliには含まれていないものなので利用するには何かしらのコード対応が必要になってきます。本投稿が何かの参考になればと思います。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?