はじめに
AWS を触り始めたばかりの頃にやらかした初歩的なミスをまとめたアドベントカレンダー、題して「AWS初歩ミス図鑑」の 5 日目です。
今回はS3 バケットを作り直したらリリースが延期になってしまった話を書いていきます。
やっていたこと
遠方の別部署と連携して、古いサービスのリプレイス作業を行うことになりました。
作業手順はざっくりと以下の通りです。
- 静的コンテンツを配置する新しいバケットを作成
- 既存バケットから必要なものだけ移動
- CloudFront のオリジンの向き先を新しいバケットに変更
- 動作確認
- 既存環境の削除
私がバケットを作成したら、別部署の方がコンテンツの移動を行ってくれる予定でした。
しかし私はここで、さっそくひとつのミスをします。
CloudFront があるリージョンはバージニアだったので、本来なら新しいバケットはバージニアに作成しなくてはいけなかったのですが、間違えて既存環境と同じリージョンに作成してしまいました。
なんと、またリージョン関係でやらかしています。
https://qiita.com/ei_540/private/417a496fd68a8961091c
あ、間違えた!でも今度はすぐに気が付けたぞ!そうやって浮かれるエンジニアが、何のダメージもなしにこの危機を回避できるはずがありません。
結果
間違えて作成したバケットを削除したにもかかわらず、同名のバケットがエラーで再作成できずに詰みました。
※画像はイメージです
命名規則の関係でバケット名をちょっと変えて作り直すということもできず、さらにはようやくバケットの再作成が行えるようになったのが次の日の午前中だったため、リリース自体が延期になってしまいました。
何を考えていたのか
間違えたら作り直せばいいや! と思っていました。やっている業務内容に対して心構えが軽すぎますね。
S3 バケットは AWS 側にしばらくキャッシュが残っているため、たとえ削除してコンソール画面から消えたとしてもすぐには再作成ができません。
そのことを知らず、特に複雑な設定のない S3 バケットの作成だからと、確認作業を怠ったのが原因です。
まとめ
基本的な仕組みを理解することがどれだけ重要なのかを痛感しました。設定項目もすくないし、すぐに作れるし、覚えやすいし、簡単なサービスだ!と思ってあまり深く学習をしていませんでしたが、AWS の始祖といっても過言ではない S3 をないがしろにしてよい訳がなかったです…。
余談
この記事を作成するにあたり、改めてバケット作成→削除→同名で再作成の手順で作業を行ってみたのですが、同じリージョンだと数分くらいで作り直すことができました。
数年前と違い、現在は反映も早くなっているようです。すこし安心ですね。
