Upgrade to Pro — share decks privately, control downloads, hide ads and more …

データを知らずにインフラを組むな~Fargate ✖️ RNA-Seq 死亡日記~

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
Avatar for POHD-AI/DX POHD-AI/DX
March 10, 2026
7

データを知らずにインフラを組むな~Fargate ✖️ RNA-Seq 死亡日記~

Avatar for POHD-AI/DX

POHD-AI/DX

March 10, 2026
Tweet

Transcript

  1. データを知らずにインフラを組むな ~Fargate ✖️ RNA-Seq 死亡日記~ JAWS DAYS 2026 Mashup for

    the Future 株式会社ポーラ・オルビスホールディングス 井山 学・一ノ瀬 美帆 
  2. #jawsug #jawsdays2026 #jawdays2026_a 自己紹介 井山 学 データエンジニア 経歴 メーカー系オペレーター 求人広告系エンジニア

    インターネット広告データエンジニア 小売関係データエンジニア 〜現在〜 やっていること データ基盤の構築・運用(Snowflakeやらdbtやら) バイオインフォマティクスに関してのデータ基盤構築 (今日の話) 社内AI活用推進(ClaudeだったりDevinだったり) バイオは素人、インフラはわかる(つもり) 本日は↑の素人がやった失敗談を話します 一ノ瀬 美帆 データプラットフォームチーム マネージャー 経歴 SIerでデータエンジニア→        データ活用コンサル ~現在〜 やっていること データ基盤の全体マネジメント データ活用案件リード(ポーラ・オルビスのマ ーケや販売員育成系分析) グループ全体のデータ活用文化醸成(社内教育 やアワード・コミュニティ運営) 今日は井山さんの応援団長です
  3. RNA-Seq 前処理パイプラインをAWSで構築した話 ⬇️ 利用しているFargateが2回死んだ ☠️ ⬇️ どちらも「データの特性」を理解していれば防げた ⬇️ 教訓とAWSサービス選定の話 #jawsug

    #jawsdays2026 #jawdays2026_a 今日話すこと ※バイオの専門知識は不要です ※RNA-Seqは「入力より中間生成物のほうがはるかに大きくなる」タイプのデータです
  4. クオリティチェック トリミング 再チェック マッピング 結果出力 StepFunction Fargate (前処理基盤) 結果データ出力 ディスク

    爆発 💀 DataSync S3 #jawsug #jawsdays2026 #jawdays2026_a アーキテクチャ ※関連アーキテクチャの抜粋 パイプライン内部処理(StepFunction内) EventBridge DynamoDB (ステータス管理) メモリ 爆発 💀 ※各工程で中間ファイルが発生 元データの連携
  5. #jawsug #jawsdays2026 #jawdays2026_a 何故 Batch on Fargate? インスタンス管理したくない 連携データは毎日発生しない(スパイク型) 処理工程ごとにリソース要件が違う

     →Sfn で分離、Batch on Fargate で柔軟にリソース割当 実態のデータは大きくても 1ファイル 6~7G  (2ファイル1サンプル “例外あり“) エフェメラルストレージ 200Gあれば大丈夫だと“思っていた” Dynamoでステータス管理、冪等性を担保
  6. #jawsug #jawsdays2026 #jawdays2026_a 原因1 入力10GB → 中間ファイル蓄積 → ピーク231GB →

    200GB制限で死亡 184サンプル中4サンプルだけ該当、エフェメラルストレージ200G制限を超過 ローカルでは動いた   ※ライブラリの処理的に処理後に中間ファイルを自動的に削除、結果しか見ていなかった
  7. #jawsug #jawsdays2026 #jawdays2026_a 対策と選択肢 結果:ピーク200G超 → 100G削減 選択肢: EFSマウント →

    容量無制限、ただし、既存処理をかなり変える必要が出てくる EC2に切り替え → インスタンス管理が発生 中間ファイル即削除 → 採用 ✅ (中間ファイルも一部用途があるものはS3に退避)
  8. 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つのデータ)
  9. 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の二重鎖を両端から読む→対応が崩れると意味不明なデータになる
  10. #jawsug #jawsdays2026 #jawdays2026_a 対策 R1-01 R2-01 R1-02 R2-02 順序を 保持

    1ペア (1つのデータ) 修正 結果:順序を保持して処理するように 内部処理を修正、正常に動作するように ✅
  11. 💀死因 ピークを結果・平均で 見てしまっていた ↓ 184サンプル中4サンプルで 例外発生 #jawsug #jawsdays2026 #jawdays2026_a 教訓

    ~死亡診断書~ 例外パターンにおいての データの順序を理解していない ↓ 4ファイル以上のパターンで 例外発生 外れ値で死ぬ 意味で死ぬ 💀死因
  12. #jawsug #jawsdays2026 #jawdays2026_a 余談ですが AWS HealthOmics というサービスがあるのをこの資料を作っている時に知りました... オミクス向けワークフロー実行基盤をマネージドで提供 スケールや実行管理をサービス側が吸収 自前でStepFunctions

    + Fargateを組まなくてもよかったかもしれない  (まだ東京リージョンないかもだけど..) 車輪の再発明をする前に、ワークロード特化型サービスをちゃんと調べます...