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
0
88
DuckDBを用いたS3上のALBアクセスログの探索
ryu-ki
April 15, 2025
Tweet
Share
More Decks by ryu-ki
See All by ryu-ki
ポリシーの評価理論について CLI で遊んでみた
ryuki0947
0
38
Amazon Nova モデルの比較してみる
ryuki0947
0
60
Strands Agents の基本を学ぶ~AWS調査エージェントを添えて~
ryuki0947
3
200
Amazon S3 Vectors とハイブリット検索を実現してみる
ryuki0947
13
2.5k
Strands AgentsでAWS調査エージェントをサクッと構築してみた
ryuki0947
1
160
AWSとゼロから始めるデジタル名刺生活~CI/CD GitHub Actions編~
ryuki0947
1
150
AWSでなにか作ってみませんか?
ryuki0947
2
640
AWSとゼロから始めるデジタル名刺生活~S3+CloudFront 編~
ryuki0947
2
300
宇宙最速!?Kiroについて簡単に紹介
ryuki0947
2
140
Featured
See All Featured
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
48
9.8k
GitHub's CSS Performance
jonrohan
1032
470k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
15k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
320
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Optimizing for Happiness
mojombo
379
70k
jQuery: Nuts, Bolts and Bling
dougneiner
65
8k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
132
19k
Bash Introduction
62gerente
615
210k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
24
1.6k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
The World Runs on Bad Software
bkeepers
PRO
72
12k
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