この記事は本番環境などでやらかしちゃった人 Advent Calendar 2025の11日目の内容です(忘れてなければ)
ちょっと大きめのサーバーのデータをキレイキレイしてしまった話。
こんにちは、おかかです。
今回は、ちょっと大きめのサーバーのデータを全て飛ばしてしまった件について書いていきたいと思います。
(名前は言えませんが、結構大きすぎるやらかしです。時効のはずなので書きます)
第一章 平和な日常
まず、サーバーの構成についてです。
EC2(m5n.2xlarge * 2)
GCE(c4a-standard-4 * 2)
の系4つで動作していてEC2が1つ+GCEが1つ計2つで、それぞれ本番環境と開発環境で分かれていました。
基本ネットワークもサーバーのホスト名も全く違うので間違えてしまうことはないはずでした。そう、この時までは
第二章 異変の始まり
普段、開発サーバーでは複数人で開発を進めていて、テストごとに前使ったものは全て抹消し、まっさらな状態にしてからもう一度最初からテストをする形式でしていました。
本番環境と開発環境は構成(さっきのネットワーク系以外)は全くと言っていいほど同じで、ホスト名とIPを見ない限り簡単に間違えるようなものでした。
まあ、少しでも変えてればこんなことにはならなかったんですけどね!
開発環境のデータを飛ばす日になり、いつもやっていた作業だったのでほんとに10分で終わるぐらい簡単なものでした。
内容はリセットなので、動作中の物を止める->MariaDBを止める->全部ファイルも飛ばす->ビルドしたファイルを置く->MariaDBを起動->新しく置いた物を起動(テスト)->IPにアクセスして動作チェック
これを開発環境で置く予定だったのですが、なんと本番環境で行なってしまいました。
全部ファイルを飛ばしているので、もちろん他のデータも全て飛んでDBも飛んでしまいました。
アラートが鳴り、作業終了から3分後に発覚しました。
第三章 復旧
たまたまバックアップが1日前にあったので、そこから戻しましたが、1日分が消えてしまったため利用者の方へ謝罪し、今後どうして行けばいいのかの話し合いを行いました。
原因は、「大丈夫でしょう!開発環境に接続しているでしょう!」という慢心でした。
そのため、ログイン時に分かりやすく環境を表示するようにしました。
今回のへまったこと(やらかし)
- 流れ作業として確認せずに行ったこと。
- 慢心で、いつも通りやれば大丈夫という考えで作業してしまったこと。
このやらかしを起こさないために
- バックアップを作業前に取得する。
- 開発と本番を分かりやすくすぐに分かるようにする。
- しっかり確認を怠らない。
最後に
これが今言える、大き目なやらかしです。
ほかにも、小さなやらかしは月1あるかないかのペースであるので、個人的にもしっかり考えて動いていきたいです。
あとファイルは確認してから消していかないとだめですね。