Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
DuckDBを用いたS3上のALBアクセスログの探索
Search
ryu-ki
April 15, 2025
110
0
Share
DuckDBを用いたS3上のALBアクセスログの探索
ryu-ki
April 15, 2025
More Decks by ryu-ki
See All by ryu-ki
AI-DLCを試してみて困ったことを共有したい
ryuki0947
0
320
Claude Codeに要件をヒアリングしてもらった体験がかなり良かった(2026年版)
ryuki0947
0
410
Qiita 週1投稿を1年間完走した感想
ryuki0947
0
52
AWS × LINE で始める FinOps ~Terraform を添えて~
ryuki0947
0
140
A2A のトレース事情 〜親子エージェントの動きをLangfuseで可視化してみる〜
ryuki0947
1
580
A2A においてエージェント同士はどのようにやりとりしているのか
ryuki0947
0
300
継続してアウトプットするヒントになる...かもしれない話
ryuki0947
0
95
AWS re:Invent 2025 振り返り 〜初海外が re:Invent な私の感想〜
ryuki0947
0
1.5k
AWS DevOps Agent 入門 〜プレビュー期間に触ってみる〜
ryuki0947
2
100
Featured
See All Featured
Unsuck your backbone
ammeep
672
58k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
199
73k
Building Applications with DynamoDB
mza
96
7k
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
1
180
Why Our Code Smells
bkeepers
PRO
340
58k
First, design no harm
axbom
PRO
2
1.2k
The Spectacular Lies of Maps
axbom
PRO
1
740
Visualization
eitanlees
151
17k
Into the Great Unknown - MozCon
thekraken
41
2.5k
Leading Effective Engineering Teams in the AI Era
addyosmani
9
1.9k
How to train your dragon (web standard)
notwaldorf
97
6.6k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.2k
Transcript
DuckDBを用いた S3上のALBアクセスログの探索🦆 2025/04/16(水) 豊洲会
自己紹介 ┃所属:TIS株式会社 ‐ 年次:2年目(24卒) ‐ 担当業務:社内サービス(AWS/Terraform/React) ┃趣味:国内旅行・競馬 ┃片思いのAWSサービス:Amazon Bedrock 2
井町 瑠貴 (いまち りゅうき) 昨年末からQiitaへの記事投稿を 始めました!(AWS・生成AIなど) クォータ制限を引き上げてもらえません!
はじめに ┃本日お話しすること ‐ DuckDBについて ‐ DuckDBでALBアクセスログを確認する流れ ┃お話ししないこと ‐ DuckDBの詳細な仕組み ‐
作成したスクリプトの詳細 3
担当業務 ┃AWSで構築された社内サービスの保守運用業務 ‐ 月次作業 ‐ アラート対応 ┃アラート発生時、以下の手順で該当ALBアクセス ログを確認 ‐ マネコンからS3バケットを開く
‐ オブジェクト更新時間から、該当ALBアクセスログが 含まれていそうなオブジェクトをダウンロード 4
アラート対応 ┃アラート発生時、ALBアクセスログを確認 ①マネコンからS3バケットを開く 5
アラート対応 ┃アラート発生時、ALBアクセスログを確認 ②更新時間から、該当ログが含まれていそうな オブジェクトをダウンロード 6
アラート対応 ┃アラート発生時、ALBアクセスログを確認 ③ローカルで解凍・確認 ※なければ②に戻る 7
アラート対応 ┃アラート発生時、ALBアクセスログを確認 ③ローカルで解凍・確認 ※なければ②に戻る 8 手間すぎる! 何とかならないか?
あるブログとの出会い ┃S3にあるALBログの調査はAthenaより DuckDBのほうが簡単 ‐ https://road288.hatenablog.com/entry/2024/11/06/1 13954 9 DuckDBってなに?
DuckDB ┃組み込み型OLAPデータベース管理システム(OSS) ‐ https://duckdb.org/ ┃CSV・JSON・Parquet・Excelなど、様々なファイル 形式のインポート・エクスポートに対応 ‐ pythonをはじめとした多様な言語でAPIが利用可能 10
なぜDuckDB? ┃クエリ実行にコストがかからない ‐ Athenaだとコストを気にしながらクエリ実行 ‐ 柔軟な検証を身軽に行える ┃学習コストが少ない ‐ Python(Pandas)の事前知識あり ┃大規模なデータは扱わない
‐ ターゲットとなるデータはすでにある程度絞れている 11
DuckDB操作|データインポート ┃左図のようなコマンドで テーブル作成が可能 ‐ 「パーティション射影」で検索 ┃ログファイルパスはワイルド カードで複数選択可能 12
DuckDB操作|テーブル出力 13 ┃以下コマンドでインポートしたデータを取得 できていることを確認
Pythonによる操作|データインポート ┃左図のような記述でテーブル 作成が可能 ‐ 本例ではCloud9で実施 14
Pythonによる操作|テーブル出力 15 ┃インポートしたデータを csvで取得できている
スクリプト化 16 ┃左図のようなシェルスクリプトで 簡単実行できるように ┃指定期間内の、条件に合致する ALBログを自動抽出
今後の展望 ┃ 今回はCloud9上で実装したが、Lambdaで実装したい ‐ Lambdaレイヤーで簡単に導入可能と思われる ‐ 昨晩試してみた • 「【Lambda】Lambda LayerへのDuckDBライブラリの追加方法」を
編集 - Qiita • 「【DuckDB】DuckDBを用いてS3のデータを操作するLambdaを 作ってみた」を編集 – Qiita ┃S3 Tables(Iceberg)にアクセスできる(らしい) ‐ どのような使い勝手か知らないので試してみたい • 【Iceberg】Apache Icebergとは?~S3 Tablesから触ってみた~ #AWS - Qiita 17
まとめ ┃DuckDBは、軽量で様々なデータ形式に対応しており、 データリーダーとして優秀 ┃DuckDBを使うと、簡単にS3バケットのデータを 取得・処理することができる ┃ユースケースに応じて適切にツール(Athenaなど)を 使い分けることが重要 18