はじめに
こちらは「本番環境などでやらかしてしまった人 Advent Calendar2025」の22日目の記事です。
多くの人が経験したことのある?よくある話しだと思いますが、クラウドサービス利用でミスった話しとそこから得た教訓を紹介していきます。
どんな開発をしていた時の話しか
新規開発をしていた時の話しです。
社会人1年目の自分はとにかく一生懸命だった
思い返すといろんなことをさせていただきました。わからないことでも貪欲に挑戦し、周りを巻き込んで多くの仕事をしていました。
この行動が評価され、最終的に自分が仕事で触れる領域がアプリケーションだけでなくインフラも追加されるようになりました。
そして事件は起こる
だんだん仕事ができるようになり、自分でできることが増えてきました。リリース日が近づいてきて開発もクライマックス、そしてその日はやってきました。
リソースの掃除をしよう
「AWSのリソース削除を手伝ってほしい!」と開発リーダーさんから依頼され自分は「はい!」と元気よく答えたのを覚えています。
当時、「リリース前の大事な仕事を任されているぞ!」というワクワクと「リソース削除は難しくないしすぐ終わるな」という楽観的な考えを持っていたのを今でも覚えています。
違和感
開発リーダーと手分けをしてAWSのダッシュボードからリソースを削除している最中、「なんかこれ違う気がするんだよな...」というのを感じました。
しかし、何度も同じ処理をしてきた自分は「自分は間違ってはない。いつも通りだ。」と思い込んでいました。
違和感が現実に。そして事件へ
違和感は正解でした。自分は本番で消してはいけないリソースに手をかけていました。
焦る自分、咄嗟に出た言葉は「あのーもしかしたらやってしまったかもしれません...」でした(多分こんな感じのこと言った気がする)。
結局どうなったのか
開発リーダーとプロジェクトマネージャーに状況を説明、関係各所への連絡、消してしまったリソースの対応をしました。「まだ世にサービスを出していなかった」という状況に助けられました。
今でも当時の開発リーダーさん、プロジェクトマネージャーさんには感謝しかありません。
教訓
本番リソースを触る時は1人で行わない
いわゆるダブルチェックです。リモートワークでも画面共有しながら作業はできるので導入のハードルは一番低いと思います。
人間は間違えるもの。可能なものは自動化を検討しよう
そもそも今回のミスは「人力でリソース操作をしようとした」が原因です。AWSならCLI, CDK, CloudFormationなどでリソース操作はできます。AWSじゃなくてもTerraformでリソース操作できたりします。
人間はミスをする生き物です。自動化を検討しましょう。昔作ったリソースがあって.... という状況でも安心です。CloudFormationはリソースのimportができます。
新しい技術に触れるチャンスでもあるので自分の好奇心、工数と相談し積極的に挑戦していきましょう。
そもそも環境ごとにアカウントは分けるべき
開発環境と本番環境でアカウントを分けるのが一番楽です。本番環境の権限をアカウントレベルで縛ってしまえば各メンバーの本番リソースを触る機会をコントールできます。
同じアカウントでIAMを細かく設定するというご意見があるかもしれません。それは結構面倒です。管理が面倒です。リソース作成ごとに毎回権限を考えて設定は少しイケてないと個人的に思います。
AWS公式も昔からおっしゃってました。
まとめ
今回はよくある失敗談をお話しさせていただきました。クラウドサービス、すごく使いやすい一面もあり常に危険と隣り合わせという面もあります。正しく使って楽しい開発をしましょう。
最後に
個人的な意見ですが、失敗したことを恥じる必要はないと思います。失敗は多くの知識を与えてくれるからです(何でもかんでも失敗してはいけないんですがね笑)。
仕事で失敗しないために日頃から自分で技術を触り、個人開発でたくさん失敗すると良いかもしれません。今回の記事が何かのきっかけになってくれたら嬉しいです。