EC2インスタンスをEBSのスナップショットから復元する

AMIではなく、EBS(Amazon Elastic Block Store)のスナップショットをバックアップとして保存し、EC2インスタンスの復旧を行います。

スナップショットはAMIとは違ってライフサイクルの設定ができるようになったので定期バックアップが非常に楽になりました!

スナップショットの取得

スナップショットの作成時にインスタンスの停止が推奨されているのでインスタンスを停止させます。

メニューから「EC2」→「インスタンス」を選択します。

スナップショットを取得したいインスタンスを選択し、「アクション」→「インスタンスの状態」→「停止」します。

次に左のメニューから「ボリューム」を選択します。スナップショットを作成したいボリュームを選択し、「アクション」→「スナップショットの作成」を押します。

スナップショットの作成画面に移るので、説明とタグを自分のわかりやすい値に設定し、「スナップショットの作成」を押すとスナップショットが作成されました!

スナップショットからインスタンスを復元する

スナップショットをもとに復元していきます。

ボリュームを作成する

復元前(現在)のボリューム情報を確認します。ボリュームを選択すると下に情報が出てくるので、「説明」タブから「サイズ」、「ボリュームタイプ」、「アベイラビリティゾーン」をメモします。

スナップショットからボリュームを作成します。メニューから「スナップショット」を選択し、復元させたいスナップショットを選択し、「アクション」→「ボリュームの作成」を押します。

ボリュームタイプ、サイズ、アベイラビリティゾーンを先ほどメモしたものと同じにします。タグは任意でわかりやすい値に変更します。

左のメニューの「ボリューム」からボリュームが作成できたか確認します。状態が「available」になっていたらOKです。

インスタンスを停止します。左のメニューの「インスタンス」から対象のインスタンスを選択し、「アクション」→「インスタンスの状態」→「停止」を選択します。状態が「stopped」になればOKです。

ボリュームのデタッチ

ボリュームの作成が終わったので次はデタッチを行います。

左のメニューの「ボリューム」→復元前のボリュームを選択→「アクション」→「ボリュームのデタッチ」を選択します。

最終確認をして「デタッチをする」を押します。

状態が「available」、アタッチ済み情報が空欄だったらデタッチ成功です!

ボリュームをアタッチする

デタッチができたら最後の手順のアタッチを行っていきます!

アタッチするサーバー(インスタンス)のルートデバイスを確認します。左のメニューから「インスタンス」→アタッチしたいインスタンスを選択→「説明」を選択し、ルートデバイス、ブロックデバイスの値をメモします。

次にスナップショットから作成したボリュームをアタッチします。左のメニューから「ボリューム」→スナップショットから作成したボリュームを選択→「アクション」→「ボリュームのアタッチ」を選択します。インスタンスにはアタッチするインスタンス、デバイスには先ほどメモしたデバイスを入力します。

状態が「in use」になったらアタッチ成功です!

アタッチしたインスタンスを「アクション」→「インスタンスの状態」→「開始」を選択して起動させて、サーバーにログインできるか、公開しているWebページ等の機能に問題がないか確認して問題なければ復元成功です!!