AWSでは、バックアップの代わりに
- スナップショット
- AMI
の二種類があります。
AMIは用途として分かりますが、スナップショットが用途的に便利なケースはどのような時でしょうか?
レジュメ
結論、AWSスナップショットをマウントしファイルリストア出来る!
結論から言いますと
- AMIはイメージリストアに適しており(ただし基本オフラインでAMI取得)
- スナップショットはファイルリストアに適しています
※ AMIはスナップショットを含んでいますので、ファイルリストアも可能です
AWSでスナップショットを取得するのはファイルリストアしたい時ですね。
スナップショットからファイルリストアする方法、一連の作業流れ
- スナップショットからボリュームを作成する
- ボリュームをインスタンスにアタッチする
- ボリュームをOS上でマウントする
- ボリュームをOS上でアンマウントする
- ボリュームをインスタンスからデタッチする
- ボリューム削除
上記の流れになります。
まず、準備としてスナップショットを作成してみましょう
0、AWSスナップショットはオンラインでも作成可能
どのディスクをスナップショット化するかありますが
「インスタンス」画面から該当インスタンスを選択し、下の説明画面から「ブロックデバイス」を選択するのが分かりやすいです。
「EBS ID」を選択します
「ボリューム」画面で該当ボリュームを選択し、右クリックメニューから「スナップショット作成」を選びます
インスタンスはオンラインでも、オフラインでもスナップショット作成出来ます。
- Name
- 説明
を入力し、「作成」ボタンを押します
1、スナップショットからボリュームを作成する
左メニューの「スナップショット」画面からファイルリストアしたいスナップショットを選択します。
右クリックメニューから「ボリューム作成」を選びます
マウントするインスタンスが起動しているAZ(アベイラビティゾーン)を選択します。
2、ボリュームをインスタンスにアタッチする
「ボリューム」画面でスナップショットから作成したボリュームを選択し、
右クリックメニューより「ボリュームのアタッチ」をクリックします
どのインスタンスにアタッチするか(接続するか)入力し、「アタッチ」ボタンを押します
「インスタンス」画面で、アタッチしたインスタンスに新しいボリュームが接続されていることを確認します。
※ インスタンスはオンラインでもアタッチ可能です。
3、ボリュームをOS上でマウントする
ここからはアタッチしたインスタンスのOS上での操作になります。
-
アタッチしたOSがLinuxの場合(redhat 例)
まずはアタッチされたボリュームが、Linux OS上のどのデバイスになったか探します。
- amazon linuxの場合は、AWSコンソールに表示されている/dev/sdf
- redhatやcentosの場合は、/dev/xvdf
になるかと思います。(dmesgコマンドで確認できます)
amazon linuxの場合は、mountコマンドで普通にマウントできますが
redhatの場合は普通にマウントコマンドを実行すると以下のエラーでマウントできないので(以下のエラーもdmesgに出力されます)
XFS (xvdf2): Filesystem has duplicate UUID ****** - can't mount
デバイスのUUIDを見ないでマウントさせるために、以下のようにnouuidオプションをつけてマウントします
mount -o nouuid /dev/xvdf2 /mnt
-
アタッチしたOSがWindowsの場合(Windows Server 2012 R2 例)
「ディスクの管理」にもう一つのディスクがオフラインで接続されています。
右クリックメニューからオンラインにします。
(Windows Server 2012 R2ではオンラインにすると自動でドライブ文字も付きました、D:とかF:とか)
4、ボリュームをOS上でアンマウントする
ファイルリストアが完了しましたら、マウントしていたボリュームをアンマウントします。
-
Linux OSの場合
umountコマンドでマウントポイントをアンマウントします
umount /mnt
-
Windows OSの場合
「ディスクの管理」からオンラインにしたディスクを選択し右クリックメニューから
オンラインにしたとき同様に「オフライン」を選択します。
5、ボリュームをインスタンスからデタッチする
再びAWSコンソール操作に戻り
「ボリューム」画面からアタッチしたボリュームを選択し、右クリックメニューより「ボリュームのデタッチ」を選択します
「デタッチする」をクリックします。
「インスタンス」画面より、今まで付いていたブロックデバイス(/dev/sdf)が消えていることを確認します。
6、ボリューム削除
最後に、ゴミを残さないように(ゴミも課金されてしまうので)
「ボリューム」画面から、今回作成したボリュームを右クリックし「ボリュームの削除」をクリックします。
※ インスタンスにアタッチされていると「ボリュームの削除」はグレーアウトしていて実行できないです