Amazon EC2 のインスタンスは、結構簡単に止まる。負荷に耐えられなくなると、無反応になる場合がある。ssh ができず、AWS Console からのリブートも効かず、Terminate もできない。ping にはかろうじて反応していることもある。OS の /var/log には、止まっている間の記録は何もない。

こんなときどうするか。アタッチした外付けEBSのスナップショットを取ってボリュームを作り、他のインスタンスにつなげるくらいしか、できることがない。それすらもできないかもしれない。EBSのデタッチはできないと思ったほうがいい。強制デタッチもできない。ルートパーティションのデータは救い出せない。復旧するのを待つしかない。

Premium Support サービスを購入していなければ、AWS の公開フォーラムに書きこんで、中の人が対処してくれるのをじっと待つ。あるいはフォーラムに書きこまなくても、Amazon の監視で引っかかればリブートしてもらえるようだ。この前止まったときは、12時間以上たってからリブートされていた。12時間以上止まっているインスタンスをリブート対象にしているのかもしれない。

AWS Premium Support は、技術的支援を受けるためというよりは、大事なインスタンスが止まってしまったときに緊急対応してもらうためにあるのではないだろうか。品質の低いものをわざと提供してそこで稼いでいる、とまでは思わないが。

教訓 ・EC2インスタンスはいつ止まってもおかしくない。 ・救い出したいデータは、必ず外付けのEBSに格納する。 ・負荷が集中しそうで、止まって欲しくないサーバは、Microインスタンスなどではなく、処理能力に余裕のあるインスタンスのほうがいい。