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
94
DuckDBを用いたS3上のALBアクセスログの探索
ryu-ki
April 15, 2025
Tweet
Share
More Decks by ryu-ki
See All by ryu-ki
気軽に始めるアウトプット活動
ryuki0947
1
490
ポリシーの評価理論について CLI で遊んでみた
ryuki0947
0
60
Amazon Nova モデルの比較してみる
ryuki0947
0
71
Strands Agents の基本を学ぶ~AWS調査エージェントを添えて~
ryuki0947
3
220
Amazon S3 Vectors とハイブリット検索を実現してみる
ryuki0947
14
3.1k
Strands AgentsでAWS調査エージェントをサクッと構築してみた
ryuki0947
1
170
AWSとゼロから始めるデジタル名刺生活~CI/CD GitHub Actions編~
ryuki0947
1
160
AWSでなにか作ってみませんか?
ryuki0947
2
660
AWSとゼロから始めるデジタル名刺生活~S3+CloudFront 編~
ryuki0947
2
320
Featured
See All Featured
Are puppies a ranking factor?
jonoalderson
0
2.6k
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
140
Bootstrapping a Software Product
garrettdimon
PRO
307
120k
Game over? The fight for quality and originality in the time of robots
wayneb77
1
76
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.1k
Amusing Abliteration
ianozsvald
0
84
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
1
34
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
77
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1k
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
230
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
0
110
Marketing to machines
jonoalderson
1
4.5k
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