Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
データを知らずにインフラを組むな~Fargate ✖️ RNA-Seq 死亡日記~
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
POHD-AI/DX
March 10, 2026
12
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
データを知らずにインフラを組むな~Fargate ✖️ RNA-Seq 死亡日記~
POHD-AI/DX
March 10, 2026
More Decks by POHD-AI/DX
See All by POHD-AI/DX
生成AI×財務経理:PoCで挑むSlack AI Bot開発と現場巻き込みのリアル
pohdax
1
1.6k
Featured
See All Featured
Mind Mapping
helmedeiros
1
360
The #1 spot is gone: here's how to win anyway
tamaranovitovic
4
1.2k
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
330
Paper Plane
katiecoart
PRO
4
53k
Claude Code のすすめ
schroneko
67
230k
Prompt Engineering for Job Search
mfonobong
0
450
How to Think Like a Performance Engineer
csswizardry
28
2.8k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.8k
A Soul's Torment
seathinner
8
3.6k
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
330
Statistics for Hackers
jakevdp
799
230k
Transcript
データを知らずにインフラを組むな ~Fargate ✖️ RNA-Seq 死亡日記~ JAWS DAYS 2026 Mashup for
the Future 株式会社ポーラ・オルビスホールディングス 井山 学・一ノ瀬 美帆
#jawsug #jawsdays2026 #jawdays2026_a 自己紹介 井山 学 データエンジニア 経歴 メーカー系オペレーター 求人広告系エンジニア
インターネット広告データエンジニア 小売関係データエンジニア 〜現在〜 やっていること データ基盤の構築・運用(Snowflakeやらdbtやら) バイオインフォマティクスに関してのデータ基盤構築 (今日の話) 社内AI活用推進(ClaudeだったりDevinだったり) バイオは素人、インフラはわかる(つもり) 本日は↑の素人がやった失敗談を話します 一ノ瀬 美帆 データプラットフォームチーム マネージャー 経歴 SIerでデータエンジニア→ データ活用コンサル ~現在〜 やっていること データ基盤の全体マネジメント データ活用案件リード(ポーラ・オルビスのマ ーケや販売員育成系分析) グループ全体のデータ活用文化醸成(社内教育 やアワード・コミュニティ運営) 今日は井山さんの応援団長です
#jawsug #jawsdays2026 #jawdays2026_a 会社紹介
#jawsug #jawsdays2026 #jawdays2026_a 会社紹介
RNA-Seq 前処理パイプラインをAWSで構築した話 ⬇️ 利用しているFargateが2回死んだ ☠️ ⬇️ どちらも「データの特性」を理解していれば防げた ⬇️ 教訓とAWSサービス選定の話 #jawsug
#jawsdays2026 #jawdays2026_a 今日話すこと ※バイオの専門知識は不要です ※RNA-Seqは「入力より中間生成物のほうがはるかに大きくなる」タイプのデータです
クオリティチェック トリミング 再チェック マッピング 結果出力 StepFunction Fargate (前処理基盤) 結果データ出力 ディスク
爆発 💀 DataSync S3 #jawsug #jawsdays2026 #jawdays2026_a アーキテクチャ ※関連アーキテクチャの抜粋 パイプライン内部処理(StepFunction内) EventBridge DynamoDB (ステータス管理) メモリ 爆発 💀 ※各工程で中間ファイルが発生 元データの連携
#jawsug #jawsdays2026 #jawdays2026_a 何故 Batch on Fargate? インスタンス管理したくない 連携データは毎日発生しない(スパイク型) 処理工程ごとにリソース要件が違う
→Sfn で分離、Batch on Fargate で柔軟にリソース割当 実態のデータは大きくても 1ファイル 6~7G (2ファイル1サンプル “例外あり“) エフェメラルストレージ 200Gあれば大丈夫だと“思っていた” Dynamoでステータス管理、冪等性を担保
#jawsug #jawsdays2026 #jawdays2026_a ローカル検証:OK ローカルのDocker上で処理検証: ✅ テストデータで動作確認: ✅ 実際にAWS環境で動かそう
#jawsug #jawsdays2026 #jawdays2026_a 前処理の途中でタスクが失敗 エラーログ:「ファイル破損」 ... ? 1回目の死 ディスク爆発 💀
#jawsug #jawsdays2026 #jawdays2026_a 調査の過程 ファイルが途中で壊れている 同じデータをローカルで流すと成功 →Fargate側の問題? →CloudWatchでリソース確認 →ディスク使用量がスパイク
#jawsug #jawsdays2026 #jawdays2026_a 原因1 入力10GB → 中間ファイル蓄積 → ピーク231GB →
200GB制限で死亡 184サンプル中4サンプルだけ該当、エフェメラルストレージ200G制限を超過 ローカルでは動いた ※ライブラリの処理的に処理後に中間ファイルを自動的に削除、結果しか見ていなかった
#jawsug #jawsdays2026 #jawdays2026_a 対策と選択肢 結果:ピーク200G超 → 100G削減 選択肢: EFSマウント →
容量無制限、ただし、既存処理をかなり変える必要が出てくる EC2に切り替え → インスタンス管理が発生 中間ファイル即削除 → 採用 ✅ (中間ファイルも一部用途があるものはS3に退避)
#jawsug #jawsdays2026 #jawdays2026_a ディスク問題は解決したはず しかし別の処理・別サンプルでOOME発生 64GBメモリを積んでも死ぬ ...?? 2回目の死 メモリ爆発 💀
R1-01 R2-01 R1-01 R2-01 R1-02 R2-02 #jawsug #jawsdays2026 #jawdays2026_a データ特性(RNA-Seqデータ)
RNA-Seqは「ペアエンド」でデータを読む → R1とR2が1:1で対応している必要がある 通常:2ファイル(R1, R2) 例外:精度が悪いサンプルは4ファイル以上になる時もある 今回死んだのはこの「例外」パターン(結果としては明確に私の実装ミス) 1ペア (1つのデータ) 通常パターン 例外パターン (4ファイル以上のパターンがある) 2ペア (1つのデータ)
R1-01 R2-01 R1-02 R2-02 R1-01 R2-01 R1-02 R2-02 逆 #jawsug
#jawsdays2026 #jawdays2026_a 原因2 1ペア (1つのデータ) 正しい処理 実装ミスパターン 2ペア (1つのデータ) 例外パターンのために作っていた処理部分に問題があった 処理が悪く、ペアファイルの順序を考慮していない 「対応するペアが見つからない」→ 処理側が全データをメモリに溜め込む 64Gでも足りない メモリ爆発 💀 ※DNAの二重鎖を両端から読む→対応が崩れると意味不明なデータになる
#jawsug #jawsdays2026 #jawdays2026_a 対策 R1-01 R2-01 R1-02 R2-02 順序を 保持
1ペア (1つのデータ) 修正 結果:順序を保持して処理するように 内部処理を修正、正常に動作するように ✅
💀死因 ピークを結果・平均で 見てしまっていた ↓ 184サンプル中4サンプルで 例外発生 #jawsug #jawsdays2026 #jawdays2026_a 教訓
~死亡診断書~ 例外パターンにおいての データの順序を理解していない ↓ 4ファイル以上のパターンで 例外発生 外れ値で死ぬ 意味で死ぬ 💀死因
#jawsug #jawsdays2026 #jawdays2026_a まとめ データの特性を知らずにインフラを組むな どんなピークがあるか? どんな例外パターン、意味があるか? それに耐えられるサービスは何か?
#jawsug #jawsdays2026 #jawdays2026_a 余談ですが AWS HealthOmics というサービスがあるのをこの資料を作っている時に知りました... オミクス向けワークフロー実行基盤をマネージドで提供 スケールや実行管理をサービス側が吸収 自前でStepFunctions
+ Fargateを組まなくてもよかったかもしれない (まだ東京リージョンないかもだけど..) 車輪の再発明をする前に、ワークロード特化型サービスをちゃんと調べます...
ご清聴ありがとうございました 🙇