AWS EC2 インスタンスでは、仮想ストレージとして、Elastic Block Store(EBS)を使っていますが、EBSのスナップショットの取得と、スナップショットからの復旧操作を実際にやってみました。操作内容を記録しておきます。
Snapshotの取得
スナップショットの取得は、EBSの「Volumes」画面、もしくはEBSの「Snapshots」画面から実施できます。今回はEBSの「Volumes」画面からスナップショットの取得を行います。
スナップショットを取得するVolume(今回は Volume ID が vol-acc03d89 です)を選択、右クリックして、「Create Snapshot」を選択すると以下の画面が表示されます。
「Name」でスナップショットを識別できる名前をつけて、「Yes,Create」ボタンをクリックするとスナップショットを取得できます。
Snapshotからの復旧
スナップショットからデータを復旧する必要がある場合は、以下の手順で進めます。
- 復旧対象のSnapshotからVolumeを作成する
- EC2インスタンスを「STOP」する
- EC2インスタンスにAttachしているVolumeをDetachする
- 復旧対象のSnapshotから作成したVolumeをEC2インスタンスにAttachする
- EC2インスタンスを「START」する
では、以降に各手順を記載します。
1.復旧対象のSnapshotからVolumeを作成する
EBSの「Snapshots」画面から、該当のSnapshotを選択して右クリックし、「Create Volume from Snapshot」を選択すると、以下のダイアログが表示されます。
EC2インスタンスと同じAZにVolumeを作成します。
Volumes画面を確認すると、利用可能(available)Volumeとして新規Volumeが作成されています。
2.EC2インスタンスを「STOP」する
次に、Volumeを付け替えるために、EC2インスタンスを停止します。
なお、スポットインスタンスを使っている場合は、インスタンスを「STOP」する事は出来ません。(スポットインスタンスの特性を考えれば納得です。)
3.EC2インスタンスにAttachしているVolumeをDetachする
停止したEC2インスタンスにAttachされているVolumeをDetachします。
Volumes画面で、「in-use」となっているAttachしているVolumeを右クリックして「Detach Volume」を選択します。
表示される以下のダイアログで、「Yes, Detach」ボタンをクリックします。
これで、EC2インスタンスにAttachしているVolumeは無くなります。
4.復旧対象のSnapshotから作成したVolumeをEC2インスタンスにAttachする
次に、先ほどSnapshotから作成したVolumeをEC2インスタンスにAttachします。
Volume画面で該当Volumeを選択して右クリックし、「Attach Volume」を選択します。すると、以下のダイアログ画面が表示されます。
「Instances」で、停止している該当EC2インスタンスを選択します。
「Device」では、Linux起動ディスクである「/dev/sda1」を指定入力します。
「Yes, Attach」ボタンをクリックすると、すぐにVolumeがAttachされます。
5.EC2インスタンスを「START」する
最後に、EC2インスタンスを起動すれば、スナップショットから作成したVolumeでEC2インスタンスを起動する事が出来ます。
少し手間がかかりますが、スナップショットからの復旧手順は以上です。
(もっと楽な復旧方法はないのかな?)