【AWS】スナップショットからボリュームを作成し、そのボリュームにEC2インスタンスをアタッチしてリカバリーする
前回はAMIを作成することで、EC2のバックアップをしましたが、今回はスナップショットとしてバックアップしたものから、ボリュームを作成してそれをデタッチ状態のEC2インスタンスにアタッチすることで、EC2をリカバリーします。
EC2はリカバリーされますが、ElasticIPやELB配下のEC2の認識は変わらないので、Route53のElasticIP設定し直しや、ELBのEC2再設定などは必要なく、リカバリできます。
AMIからEC2を再生成した場合には、AMI作成時のEC2に行っていた設定は反映されていますが、EC2インスタンスとして再生成されるので、前のEC2がElasticIPを使っていたり、ELB配下に入っていた場合には、再設定が必要になります。
それではまずEC2インスタンスのバックアップとして、スナップショットを作成するところから行います。
AMI作成やスナップショット作成では、EC2インスタンスまたはファイルを更新するサービスを停めておくことが推奨されています。
作成時にファイルシステムが更新されると整合性の取れていない状態になるので、復元時に問題が発生する可能性があるようです。
一応、AWSでは、EC2インスタンスを停止しなくても、AMIやスナップショットは取得することができると謳っており、実際に停止せずに操作を行うと、自動でシャットダウンとリスタートが走って、オペレーション的にはなにもしないでも良いのですが、新しく動かすときには「動作確認はして下さい」とのことなので、インスタンスは停止して行うことにしておいた方がベターかと思います。
(ちなみに、画面イメージのインスタンス、ボリュームは削除してしまったので、現在は存在しませんので、ある程度そのままの画面キャプチャーです)
AWSのスナップショット
AWSのスナップショットからのリカバリー
アタッチするサーバーのルートデバイスを確認する
復元前のボリュームのデバイス名(/dev/xvda)と合わせて指定いなければエラーとなる。