見出し画像

[AWS]EBSスナップショットの仕組み~検証してみた~

EBS(Amazon Elastic Block Store)とは、
仮想マシンであるEC2にアタッチすることでディスクとして使用することができる、ブロックストレージボリュームです。
バックアップの機能として、EBSスナップショットがあります。

ある日
「EBSスナップショットって、EBS自体が消えても使えるものなの?」
「スナップショットって最新のものだけあれば大丈夫なの?」
と聞かれました

私は「え、普通に大丈夫じゃないの?」と当たり前に思っていましたが、これを機にきちんと調べることにしました。

EBSスナップショットはAWS公式ドキュメントによれば増分バックアップであるとのことです。

「スナップショットの保存は増分ベースで行われるものの、最新のスナップショットさえあればボリュームを作成できるようにスナップショット削除プロセスは設計されています。」
「ボリュームを削除しても、そのボリュームが作成したスナップショットには影響しません。」

Amazon EBS スナップショットの削除 - Amazon EBS

しかし、一般的に増分バックアップといえば、最初にフルバックアップを取ってそのあと増分していくので、最初のフルバックアップが失われた場合は復元ができないはずです。AWSではどうなのか、ややこしくなってよくわからなくなりました。

そこで
①EBS自体が消えても、スナップショットから復元できるのか
②最初のスナップショットが消えても、復元できるのか
実際に検証をしてみました。

検証準備① EBSアタッチ

EC2インスタンスにRDPして中を見てみます。

デフォルトのEBSがCドライブとして割り当てられています。

デフォルトのEBSが確認できました。
ここに新たにディスクをDドライブとしてアタッチします。

アタッチしただけではオフライン状態でドライブ文字もない
オンラインにして、初期化しドライブ文字Dを割り当てた状態

※ちなみに、この後Dを割り当てたEBSを一度デタッチして、再度アタッチするとオンラインにしただけで勝手にD文字が割り当たりました。

今回はもう一つ新たにディスクをEドライブとしてアタッチしました。
これでディスク構成はC,D,Eとなりました。

検証準備② テストデータ挿入とスナップショット作成

ディスクが正しくリストアされたか確認するために、簡単なテストデータを挿入しながらスナップショットを取ります。
テストデータの挿入とスナップショット採取はEドライブを対象とします。

  1. Firstスナップショット

  2. テストデータ①挿入

  3. Secondスナップショット

  4. テストデータ②挿入

  5. Thirdスナップショット

一般的な増分バックアップの概念のままなら、取得した各スナップショットは下記の図のようになり、Firstスナップショットがフルとなるので、削除するとまずいということになります。

一般的な増分スナップショットの作成

検証

Firstスナップショットを削除します。

削除時に警告は出ませんでした

EドライブのEBSをデタッチして削除します。

EC2からデタッチしないと削除できません

Thirdスナップショットから、EドライブだったEBSをリストアしてみます。

リストアに成功!

RDPしてEドライブ内のテストデータを確認しに行ってみます。

テストデータを発見

すべてのテストデータを確認しました。

結果

①EBS自体が消えても、スナップショットから復元できるのか
②最初のスナップショットが消えても、復元できるのか

は両方ともクリアできました。

調べたところ、AWSの増分バックアップの概念は異なり、下記の図のように最初のフルバックアップを削除しても、増分バックアップが、フルバックアップを保持していくような設計になっているようです。

「スナップショットの保存は増分ベースで行われるものの、最新のスナップショットさえあればボリュームを作成できるようにスナップショット削除プロセスは設計されています。」

Amazon EBS スナップショットの削除 - Amazon EBS

この一文はそのことを表していたのですね。

今回は一旦ここまでとしたいと思います。
EBSについてはまだまだ謎だらけなので
また書きます。

この記事が気に入ったらサポートをしてみませんか?