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
本番環境のデータベースを吹っ飛ばした話
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Ryuhei Shikanai
September 27, 2018
Programming
0
350
本番環境のデータベースを吹っ飛ばした話
BIT VALLEY -INSIDE- Vol.1(
https://www.facebook.com/bitvalleyinside/
)でのLTで使用したスライドです
Ryuhei Shikanai
September 27, 2018
Tweet
Share
More Decks by Ryuhei Shikanai
See All by Ryuhei Shikanai
Document-Driven 概念を知りたい
ryuhei373
0
350
小さく始めるVue.js
ryuhei373
0
190
Other Decks in Programming
See All in Programming
AI主導でFastAPIのWebサービスを作るときに 人間が構造化すべき境界線
okajun35
0
700
技術検証結果の整理と解析をAIに任せよう!
keisukeikeda
0
110
Cyrius ーLinux非依存にコンテナをネイティブ実行する専用OSー
n4mlz
0
130
Ruby and LLM Ecosystem 2nd
koic
1
540
米国のサイバーセキュリティタイムラインと見る Goの暗号パッケージの進化
tomtwinkle
2
550
どんと来い、データベース信頼性エンジニアリング / Introduction to DBRE
nnaka2992
1
280
nilとは何か 〜interfaceの構造とnil!=nilから理解する〜
kuro_kurorrr
3
1.9k
Claude Code Skill入門
mayahoney
0
220
AI時代でも変わらない技術コミュニティの力~10年続く“ゆるい”つながりが生み出す価値
n_takehata
2
720
AIとペアプロして処理時間を97%削減した話 #pyconshizu
kashewnuts
1
220
「抽象に依存せよ」が分からなかった新卒1年目の私が Goのインターフェースと和解するまで
kurogenki
0
110
株式会社 Sun terras カンパニーデック
sunterras
0
2.1k
Featured
See All Featured
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1.1k
GitHub's CSS Performance
jonrohan
1032
470k
[RailsConf 2023] Rails as a piece of cake
palkan
59
6.4k
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
74
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
4.1k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8k
The untapped power of vector embeddings
frankvandijk
2
1.6k
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
1.9k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4k
How to Talk to Developers About Accessibility
jct
2
150
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
0
170
Transcript
本番環境のデータベースを 吹っ飛ばした話 2018/09/26 ever sense Inc. Ryuhei Shikanai
自己紹介
自己紹介 ・本名: 鹿内 隆平(Shikanai Ryuhei) ・Twitter: 373.3(@373_3) ・github: @ryuhei4k9 ・所属:
ever sense Inc.(https://eversense.co.jp/) RailsとかSwiftを書いたりしています。 メンダコが好きです。
前置き
前置き ・技術的な話は全くしません ・体験談と、それから得た心構えの話をします
吹っ飛ばした話 概要
吹っ飛ばした話 概要 testing環境をterminateしたと思ったら、本番環境をterminateしていた 以上!
None
吹っ飛ばした話 概要 ・もう少し詳しく - ELB・EC2(1台)・RDS(1台)のうち、RDSのみがterminateされてしまった - 基本的にはiOSアプリのバックアップの役割であり、RDSが落ちていてもアプリその ものは動くのでユーザーへ直ちに影響が出るものではなかった - RDSは定期的にスナップショットを取っていた
吹っ飛ばした話 その後
吹っ飛ばした話 その後 - インシデント復旧後、すぐさま今後の対策を講じるのではなく、期限が差し 迫ったタスクを優先した - 再びtesting環境を利用した際、他のチームメンバーがダブルチェックを行 わず単独でterminateを行った
吹っ飛ばした話 その後 重大なインシデントを起こした人間・チームとして 良くない動きだった
何がいけなかったか
何がいけなかったか ・ケアレスミス? 間違ってterminateしたことそのものは紛うことなくケアレスミス 対策よりタスクを優先したのは「考え、判断した結果」 他のチームメンバーが単独でterminateを行ったのも「考え、判断した結果」
何がいけなかったか 考えてるし、判断してるけど その判断が間違ってるよね
何故判断をミスったか
何故判断をミスったか 今までは製品を納期内に完成させることに優先していて、品質担保に強くコミットしてい なかったのではないか。極端に言うと「バグが出ても後から直せばいいから、早いほうが いいでしょ」寄りの思考だったのではないか。 「納期内の完成」・「品質担保」はどちらも正しく必要なことではあるが、 「今現在組織か ら求められている品質担保のレベル」に達していないのではないか
何故判断をミスったか そういった普段のふるまいの積み重ねが 大きなインシデントを生んでしまったのではないか
何故判断をミスったか ・そもそも「品質担保」って何 理想としては、インフラの話だけでなく、設計、コーディング、コードチェックなど様々な フェーズにおいて、考慮漏れやバグが発生しないようにすること。 実際には、その理想を実現できる方向にリソースを注ぐこと。
何故判断をミスったか 「品質担保にコミットする」ことを目標に 行動を少しずつ変えていくことにした
何を変えたか
何を変えたか ・インフラと関係ない部分も含む - 本番環境に影響のあるコマンド実行時のダブルチェックの徹底 - コードレビュー依頼時に、「自分は何を確認したか」「相手には何を確認してほしい か」を共有するようにした - アプリ開発時に、メンバー全員で集まる時間を作りデグレチェックをするようにした -
チームメンバー間で「今品質担保できてる?」と互いに確認し合う習慣を作った - リスクがある点において、他人の力を適切に借りることができるようになった - etc...
何を変えたか 今まで意識できていなかった部分が 習慣として少しずつ定着してきた
余談
余談 このインシデントを受けて、AWSとgithubの権限を一時的に縛ってもらった - AWS: コンソールでの操作権限剥奪(ReadOnlyに) - github: 本番環境へ影響を与えることのできるansibleなどの構成ツールの参照権 限剥奪(readができるとgit cloneもできてしまうので、readすらできないように)
余談 (当たり前だが)めちゃくちゃ不便だった
余談 「大いなる力には、大いなる責任が伴う」 ということを、身をもって理解できた
まとめ
まとめ 結果として、やらかしたことはいい経験になり、 エンジニアとしての今後のふるまいを変える きっかけにもなった (もちろん二度と起こしてはいけないことではある)
まとめ 常日頃から「品質担保」にコミットしていこう 意識するときだけ意識しても一時的な力にしかならないし、 必ずどこかほころびが発生してしまう。 習慣として自然に身に付けることで、「品質」のベースラインが上がってくる
終わりです