その他
    ホーム 技術発信 DoRuby EC2再起動でステータスチェック失敗した状態からリカバリした方法
    EC2再起動でステータスチェック失敗した状態からリカバリした方法
     

    EC2再起動でステータスチェック失敗した状態からリカバリした方法

    この記事はアピリッツの技術ブログ「DoRuby」から移行した記事です。情報が古い可能性がありますのでご注意ください。

    EC2再起動でステータスチェック失敗した状態からリカバリした方法

    EC2の再起動を実施した所、予想外のトラブルが発生し、なんとかリカバリした時の話。

    何が起こったか

    AWSのEC2でメンテナンスの為インスタンス再起動が予定された為、事前に手動再起動を実施。
    (通常であれば難なく起動し、イベントから当該の予定が消えるはず。)
    しかし、イベントから予定は消え、ステータスはrunningになったものの、インスタンスのステータスチェックに失敗。
    よって、当該インスタンスにSSHもできなくなった。

    試した事1 (失敗)

    インスタンスの「再起動」ではなく「停止」&「起動」をしてみた。

    結果

    相変わらずインスタンスのステータスチェックに失敗

    試した事2 (失敗)

    当該インスタンスのAMIを取得し、そのAMIから起動を試みた。

    結果

    AMIから起動してもやはりインスタンスのステータスチェックに失敗

    試した事3 (失敗)

    AWSのトラブルシューティングに20分以上待つと解消するかもしれない、とあったので、
    暫く待ってみた。

    結果

    1時間待っても解消せず。

    試した事4 (成功)

    当該インスタンスは、2台構成で冗長化してあるサーバの片方であった為、
    もう片方のAMIを取得し、そのAMIから起動してみた。

    結果

    問題なく起動できた。

    この段階での問題点

    不運な事に、冗長構成のプログラムとは別に、(起動不能となった)当該インスタンスだけに設定してあったプログラムがあり、
    そのプログラムが実行できない状態になった。

    試した事5 (成功)

    AMIより起動した新規EC2に、起動不能となったEC2のEBSをアタッチしてみた。

    結果

    問題なくアタッチできた。

    あとは、マウントの設定と、いくつかプログラムの設定を実施し、なんとか平常状態にする事ができた。