AWSスナップショットからルートデバイスのリストア方法

AWSのEC2バックアップとして「スナップショット」機能を利用しました。
いざ、スナップショットからEC2をリストアしようとしたところ、リストアしたボリュームをルートデバイスとして認識できずに「インスタンス開始のエラー」となりOSが起動できませんでした。

image

ブロックデバイスをルートデバイスとしてどうしたら良いのでしょうか?

結論、ボリュームアタッチ時に「デバイス」を指定する

image

「ボリューム」を「インスタンス」にアタッチする時に、「デバイス」にエラー時に表示されたルートデバイス名を指定しボリュームマッピングしてあげると、ルートデバイスとして認識され、インスタンスを開始出来るようになります。

代表的なOSのルートデバイスは?

この記事ではamazon linuxでのルートデバイスを紹介していますが、
代表的なOSのルートデバイス名を記載します。

  • amazon linux・・・「/dev/xvda」
  • redhat linux・・・「/dev/sda1」
  • sentos linux・・・「/dev/sda1」
  • windows server 2012 r2・・・「/dev/sda1」

微妙にOSによってルートデバイスが違っているんですね(というかamazon linuxだけ)

スナップショットからルートデバイスのリストア方法

最後に、AWSスナップショットからのルートデバイスリストア方法を紹介します。
今回の記事では

  • インスタンスはすでに存在する(ボリュームが既にデタッチされている状態=ルートデバイスやディスクがない状態)
  • リストアしたいスナップショットは存在している
  • amazon linuxでの画面

で紹介します。

1、スナップショットからボリュームを作成する

image

EC2画面から「スナップショット」メニューを表示させ、リストアしたいスナップショットを右クリックし、「ボリュームの作成」を押します。

image

アタッチしたいインスタンスがあるアベイラビリティーゾーンと同じAZ(アベイラビリティーゾーン)を指定し、「作成」ボタンを押します。

image

ボリュームのリンクをクリックします。

2、ボリュームをインスタンスにアタッチする

image

リストアしたいボリュームを右クリックし「ボリュームのアタッチ」を押します。

image

リストアするインスタンス名を指定し(インスタンス名を入力するとインスタンスID一覧が表示され、インスタンスIDを指定します)、デバイスにルートデバイスを指定し「アタッチ」ボタンをします

image

ルートデバイスとして、リストアしたボリュームがマッピングされたことが確認できます。
これでスナップショットからのリストア作業完了です。
インスタンスが起動し、OSが元の時点(バックアップ時点)に戻っていることを確認します。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です