以前、「EC2の障害復旧パターン」という記事を書きましたが、今回、復旧パターンの4番のStop/Startしてもだめだった場合を、実際に体験してしまいました。
突然EC2の反応が無くなったため、リブートを試みましたが、リブート後も反応が無い状態になりました。
次に、Stop/Start行おうとしましたが、Stoppingのまま止まってしまい、Startできる気配がまったくありません。
このままでは仕方ないので、EBSのスナップショットを取得して、そこからAMIを作成しての復旧を試みました。
ちなみにスタップショットからAMIの作成については、以下ので紹介しています。
スナップショットからAMIを作成する方法
今回はEBSを追加でアタッチしていたので、そのEBSがアタッチ済みのインスタンスで起動するようなAMIを作成しなければいけません。
ということで、今回のAMI作成コマンドはこんな感じになりました。
(Windowsのコマンドプロンプトでの実行です)
> ec2reg ˆ ?-K pk.pem ˆ ? -C cert.pem ˆ ? --region us-west-1 ˆ ? -s snap-xxxxxxxx ˆ ? -b "/dev/sdb1=snap-yyyyyyyy:100:false" ˆ ? -a x86_64 ˆ? -n suz-lab-ami-0.0.0
ポイントは、
-b "/dev/sdb1=snap-yyyyyyyy:100:false"
/dev/sdb1 に snap-yyyyyyyy(スナップショット)から作成した100GのEBSをアタッチして、
インスタンスを起動しなさい。インスタンスをターミネートしても、
そのEBSは削除しない(false)ように、といった意味合いです。
復旧は、15分くらいで完了しました。