EC2 retirement notification小噺

先日とある案件でEC2のretirement notificationが来たことがあって。stop & startの対応が必要になったときのこと。
いつもの調子でstopかけたところ、対象インスタンスがAuto Scaling Group配下だったのを忘れていて即座にterminateを食って新しいインスタンスを起動されてしまって軽く慌てたよねという話。

dev.classmethod.jp

自分が運用する場合はAuto Scaling配下のインスタンスには基本ローカルデータは置かないようにして、極端な話いつどこで配下のインスタンスが入れ替わったりしても問題ないような構成にしている。コンテンツファイルだってS3か編集機能を持つ管理サーバからの取得で対応だ。だから不意にインスタンスが消えても必要数が常に確保できていれば問題ない…が、そのインスタンスに乗っていたログが必要みたいな状態を放ったままうっかりterminateとかされてしまうと、それはそれで悲しい目には遭う。*1

そんなことがあって、じゃあstopしてもterminateされないためにはどうしたらいいかと調べて上記のようなページを見つけたりもした。しかし上記のような自分の運用方針からして、ここまでメンテナンス時の手間を増やしてしまうよりは、必要なデータだけさっさとサルベージしてterminate前提で放棄したほうがいいのではないかとも思った。これらの手法はこれはこれで重要な情報だし必要に応じて用いればいいが、私が実運用で積極的に使うとした場合のメリットがあまり多くないなと。

*1:まあ、そんなログはfluentdあたりに任せておけよともいうが