Amazon EC2 Micro Instance(マイクロインスタンス)が応答しなくなった。
突如、EC2のサーバーが反応がなくなった。
Webだけじゃなくて、SSHも。
Management ConsoleでStopしたのに、Stoppingのままで、何時間もそのまま。
止まらない限り課金されちゃうだろうし、どうしたものか!
Amazon AWSのフォーラムで聞いてみました。
どうやら、インスタンスはRunning状態の時のみ課金されて、Stoppingでは課金されないみたい。
なので、別にインスタンスをたてて、そこにEBSをマウントさせるのが正解らしい。
具体的には、
- 今のvolumeからスナップショットを作る。Management Consoleのsnapshotsからcreate snapshotを選んで、ボリュームを選択する。
- 作成したスナップショットからcreate volumeを実行。
- とりあえずインスタンスを作成。EBSからブートするAMIを選んでいったん起動して、すぐにstopさせる。
- ボリュームを入れ替える。volumesからstopしたインスタンスにアタッチされているボリュームをデタッチする。
- さっきスナップショットから作ったボリュームをアタッチする。このときに./dev/sda1を指定すれば、rootとしてマウントされる。
これで、無事新しいインスタンスで前のボリュームをアタッチして、新たなインスタンスに環境をそのまま移行できる。
ただ、インスタンスが新しくなったのでIPが変わっている。DNSを設定し直さないといけない。
elastic ipがほしくなるね。
[2011-05-25追記]
どうやら、Elastic IPはインスタンスに割り当ててさえいれば無料みたい。割り当てずにIPだけキープしたり100回割り当てし直すと課金されるみたい。
それなら最初からやっておけばよかった。
とりあえず、これでなんとか復旧。
やっぱ、安かろう、悪かろうなんだろうね。フォーラム見たら他にも何人かの人が、同じ症状になってた。
たぶん、入っているハードがおかしくなったんだろうね。インスタンス立ち上げ直すと、また別のところにインスタンスが立ち上がるみたいだから、それで回避できるわけだ。
Micro InstanceがEBSしか使えない理由がなんとなくわかった。
EBSならば、こんな風に止まってもデータは消えないからね。他にインスタンス立ち上げて、つなぎ直せばいい。
Small Instanceとかは、止めたらデータも消えてしまうので、こうはいかない。
ただ、今回EBS使ってみて、スナップショットかは便利なのがわかった。
コレ使えばフルバックアップが簡単にとれる。
費用的にその分かさむのかもしれないけど、お手軽でいいいね。