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
78
DuckDBを用いたS3上のALBアクセスログの探索
ryu-ki
April 15, 2025
Tweet
Share
More Decks by ryu-ki
See All by ryu-ki
Amazon Nova モデルの比較してみる
ryuki0947
0
57
Strands Agents の基本を学ぶ~AWS調査エージェントを添えて~
ryuki0947
3
180
Amazon S3 Vectors とハイブリット検索を実現してみる
ryuki0947
12
2.4k
Strands AgentsでAWS調査エージェントをサクッと構築してみた
ryuki0947
1
150
AWSとゼロから始めるデジタル名刺生活~CI/CD GitHub Actions編~
ryuki0947
1
150
AWSでなにか作ってみませんか?
ryuki0947
2
640
AWSとゼロから始めるデジタル名刺生活~S3+CloudFront 編~
ryuki0947
2
300
宇宙最速!?Kiroについて簡単に紹介
ryuki0947
2
140
ローカルLLMを用いた簡単なLLMアプリを作ってみた / Building a Simple LLM App with Local LLM
ryuki0947
0
79
Featured
See All Featured
Side Projects
sachag
455
43k
Scaling GitHub
holman
463
140k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.1k
Learning to Love Humans: Emotional Interface Design
aarron
274
41k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
10
890
Building Flexible Design Systems
yeseniaperezcruz
329
39k
[RailsConf 2023] Rails as a piece of cake
palkan
57
5.9k
Product Roadmaps are Hard
iamctodd
PRO
55
11k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
658
61k
GitHub's CSS Performance
jonrohan
1032
470k
VelocityConf: Rendering Performance Case Studies
addyosmani
333
24k
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