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
ランチ中のXで自社インシデントを検知した話(2026年7月24日唐揚げ会)
Search
koji_kawamura
July 26, 2026
Technology
36
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
ランチ中のXで自社インシデントを検知した話(2026年7月24日唐揚げ会)
第五回 唐揚げ会で登壇した資料です。
テーマは「今だから言える開発現場の失敗談」
https://karaage.connpass.com/event/396922/
koji_kawamura
July 26, 2026
More Decks by koji_kawamura
See All by koji_kawamura
AIにブラウザを触らせて、E2EテストをPlaywrightで書く
koji_kawamura
0
580
アウトプットが全ての悩みを解決する
koji_kawamura
0
29
Qiitaハッカソン
koji_kawamura
0
62
ServiceWorker、indexedDBを活用したオフライン機能開発
koji_kawamura
0
420
Other Decks in Technology
See All in Technology
AI de Idea
kawaguti
PRO
2
120
AIエージェントを最高のパートナーに育てる方法|評価と判断軸を育てる5つのステップ
koichiaoki
1
150
AIで社員の自主発信に広報目線を組み込む
_mossann_t
0
120
生成AIエージェントを用いた、 手動テスト手順書から自動テストへの 変換手法の検討
magicpod
0
170
10Xに技術的負債をもたらした「2つの境界の歪み」その構造と解消への営み
10xinc
0
2.1k
あけおめLINE 傾向とその対策
nasa9084
0
130
技術的負債から考える、AI時代のエンジニアリング投資 — ビズリーチの技術的負債と向き合った経験から、変更し続けられるソフトウェアを考える/ technical-debt-con2026
visional_engineering_and_design
4
3.2k
Vibe Coding で作ったプロダクトをどう安全に動かすか / How to Safely Run Products Built with Vibe Coding
glidenote
0
140
Cloudflare Workers 向けアプリを C# で構築する ~WASM Native AOT への道~
nenonaninu
1
240
AI 時代のスタートアップエコシステ厶から考究する技術的負債との向き合い方
m3m0r7
PRO
3
2.2k
JSONataとAWS Step Functionsで目指すRuntimelessな世界
mu7889yoon
0
160
ソフトウェアDNAとクラウドエージェントのススメ
cloudace
0
110
Featured
See All Featured
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
203
76k
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.7k
AI Search: Where Are We & What Can We Do About It?
aleyda
0
7.9k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
30k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.3k
Odyssey Design
rkendrick25
PRO
2
810
Producing Creativity
orderedlist
PRO
348
41k
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
460
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.6k
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
1
410
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
410
Transcript
ランチ中のXで自社インシデントを検知した話 〜悪夢の誤デプロイから、日次リリースの完全自動化へ〜 株式会社 プロダクトエンジニア 河村康治 HITOTSU 2026.07.24 第五回 唐揚げ会 1
自己紹介 経歴: 2017年4月 保険系SIer 4年 2021年9月 フリーランス 2023年5月 HITOTSU株式会社 入社
得意言語: Go、React、関西型言語 2
今日話すこと ① 悪夢は突然に〜本番誤デプロイの一部始終〜 ② なぜ起きたのか? 仕組みの問題 ③ 再発防止策:暫定対応 → 恒久対応
④ 発展編:日次リリースの全自動化へ 3
① 事件 悪夢は突然に 4
いつもの風景:STG環境にデプロイ 社内QAのため、STG環境にプログラムをリリース デプロイには 約10分 かかる 「回している間にお昼を買いに行こう」 ランチを買いに近所のスーパーへ 👆 この「10分の隙間」が悪夢の入口だった… 5
お昼にXを開いたら… 「あれ? サービス落ちてない?💦」 「ログイン画面に戻される…」 6
本番障害をXで検知 「心当たりがある」— プルダウンで「本番」を選んだ記憶がフラッシュ バック 全身の毛穴から冷や汗が噴き出す 💦 7
お昼の買い物をとり止め、全力疾走で職場へ お昼のお弁当の購入を取りやめ家へ全力疾走 まずは本番環境にアクセスし、本番障害を確 認。 エンジニアを集めて状況を共有 BizサイドやCSチームへインシデントを報告 8
暫定対応:ロールバック 本番環境へ正しいプログラムを再デプロイ(ロールバック)開始 待っている間が永遠に感じた 11分間… 12:52 復旧完了 12:41 🛡️ 不幸中の幸い ログイン後に初回APIが即コケる
→ 白画面でログアウト データの不整合・DB汚染は 一切発生せず 9
インシデントの結果:時系列 12:09 STGへのデプロイを実行(実際は本番環境に) 12:20 デプロイ完了 → お昼を買いに外出 🍱 12:30 Xのユーザーツイートで本番障害を検知
😱 12:41 本番環境へのロールバック開始 12:52 復旧完了 ✅ (障害時間:32分間) 10
業務影響 影響範囲: 全ユーザー 停止時間: 12:20 〜 12:52(32分間) 影響内容: ログイン後、白画面になりログイン画面に戻る ログイン中のユーザーも強制ログアウト
🍀 幸いお昼時、業務利用は少なく影響は極少 ログイン直後にエラー → データの不整合は発生せず 11
② 原因 なぜ起きたのか? 12
問題の仕組み:同じ手法でSTGも本番もデプロイ の手動トリガーでデプロイ ブランチ と デプロイ先環境 をプルダウンで 選ぶだけ Branch: develop なのに
environment: production が選べてしまう GitHub Actions 13
なぜそもそも、こんな仕組みだったのか? 構築当初: ユーザーがいなかった 本番でミスが起きても誰にも迷惑をかけない状況 「シンプルに使い回せる」方が効率的だった 時が経ち: 有償ユーザーが増えてきた 「いつかこれ、誰かやらかすよね」という話は出ていた でも、開発の優先順位で後回しになっていた ⏰
「重要だけど緊急じゃない」が1年以上放置された 14
根本原因:仕組みが悪かった 自分で起こしておきながら… 誰がいつやっても起きてもおかしくない仕組みだった。 「お腹すいたな。早く食べたいな」という ほんのわずかな雑念が引き金になっただけ。 15
③ 対策 再発防止策 16
暫定対応:本番へのデプロイ制限 環境には masterブランチ以外デプロイ不可に設定 production ブランチから production を選んでも エラーで弾く まずは「物理的に誤操作できない」状態を作る develop
17
恒久対応:デプロイの仕組みを抜本改修 そもそも 本番とSTGを同じ仕組みでデプロイすること自体が問題 インフラをpulumi → Terraformへ書き換えのタイミングに合わせ、 デプロイフローも1から設計しなおした 旧 新 手動でプルダウン選択
develop マージで自動デプロイ STG環境 本番環境 手動でプルダウン選択 master マージで自動デプロイ 誤操作リスク 常にある 物理的にゼロ 18
「お昼休みのプルダウン誤爆」 は二度と起きなくなった 19
④ 発展 怪我の功名! 日次リリースの全自動化へ 20
日次リリース自動化の背景 週次リリース → 日次リリース へ切り替えたいという要望 でも毎日手動でやるのは負荷が限界 リリースの流れ(手動時代): ① フリーズ・PR作成 →
② 検証環境の構築 → ③ 検証の実施 → ④ PRマージ → 本番デプロイ → 本番後検証 これを毎日やるのは無理… 21
GitHub Actions で全工程をオーケストレーション ① リリースブランチ自動生成 → ② 検証環境自動生成 → ③
E2E自動 テスト → ④ 自動デプロイ ステップ 内容 ① develop/master差分をフリーズしPR自動作成 ② deploy/demo3 Pushを検知して環境自動構築 ③ Playwrightでブラウザ検証 → Slackへ結果通知 ④ 午前中に検証完了 → 午後に本番へ自動デプロイ 22
作業負荷ゼロの 日次リリース基盤が完成! 失敗が、最高の自動化パイプラインを 作る原動力になった。 23
まとめ まとめ 24
「重要だけど緊急じゃない」は 放置するとある日突然インシデントになる 2. ミスをしない人間はいない 「気を付ける」より「安全な仕組み」を作ろう 3. 失敗を成長エンジンに! トラブルが最高の自動化パイプラインを生む 1. 25