ブログ

AWS運用におけるスナップショットを用いたバックアップ戦略

皆さんこんにちは、セールスアシスタントの犬飼です。
ITについてはまだまだ勉強の毎日ですが、ブログを執筆することで自分自身にとって非常に勉強になっております。ですので今回もはりきって、皆さんと理解を深めていきたいと思います〜!!!

本ブログでは「スナップショット」についてお話をしていきます。
単語自体はよく耳にするけれど、

”そもそもどういう用途なの?”

”どうやって活用すれば良いの?”

“スナップショットはバックアップと同じ用途なの...?” など

上記のようにお客様からよくいただく質問や疑問点を踏まえて、用途解説からスナップショットを用いた戦略までを説明していきたいと思います。

スナップショットとは?

本章では、まずスナップショットについて説明していきます。

「スナップショット」とは、「ある時点(瞬間)における対象の全体像を丸ごと写し取ったもの」を表します。スナップショットはデータを丸々コピーするのではなく、その瞬間のイメージを作成して、そのイメージを保存します。「イメージ」というのは、あくまで「その瞬間のデータのコピー」を作成したものです。

用途としては、データが破損・喪失した際にある時点の状態を復旧したり、別のシステムにデータを複製・移転したり、後から過去のある時点での状態を参照するのに用いられます。ストレージの「データ可用性」を確保するために欠かせない機能がスナップショットです。

そんなに重要な役割だったんですね〜。

スナップショットとバックアップとの違い

「スナップショット」と「バックアップ」の違い、皆さんはご存知でしょうか?

私は最初スナップショット=バックアップと認識しており、違いについて理解しておりませんでした。スナップショットについては、1章で述べた通りなので、このまま「バックアップ」について説明していきます。

「バックアップ」とは、ストレージ内にあるデータのコピーを作り、万が一ストレージ内のデータが破損した際にコピーを使ってシステムやファイルを復元するためのものです。

「スナップショット」はいわば、こうしたバックアップの一種なので、昨日時点の業務ファイルや一週間前時点の試験データ一式等を簡単に取り出せます。

スナップショットはバックアップの一種なので同じなのでは?と思いそうなのですが、それぞれの違いを簡単に説明します。

「バックアップ」とは、一般的に元データを複製し、ディスク障害時に確実に復元ができること。

「スナップショット」とは、あくまでもある時点のイメージが同一ストレージ内に保存されているだけなので、万一、ディスク故障が発生した場合は、データを復旧することはできません。

スナップショットは、誤った認識で運用していると、肝心な時にデータが復元できない可能性があるということがご理解いただけましたでしょうか。

スナップショットとバックアップを必ず併用し、より強固なバックアップ体制をご用意いただくことを推奨いたします!

AWS運用における EBS スナップショットと AMI との違い

スナップショットは AWS でも「 EBS スナップショット」というサービスがございます、

本章では、「 EBS スナップショット」と「 AMI 」の違いについて、お話をしていきます。

EBS スナップショットとは、 EBS のデータを Amazon S3 にバックアップする機能です。

※Amazon S3とは、Amazon Web Services によって提供されるオンラインストレージのWebサービス。公式に99.999999999%の耐久性を謳っており、コスト効率の良さと高可用性を兼ね備えています。

AMI とは、Amazon マシンイメージの略で、インスタンスの作成に必要なソフトウェア構成( OS、アプリケーションサーバー、アプリケーション)を含むテンプレートのことを指します。

スナップショットには AMI のような、インスタンスを構成するための管理情報は含まれていません。スナップショットの中のデータを利用する場合には、基本的にそのスナップショットを元に EBS ボリュームを作成することになります。

スナップショット =「 EBS ボリュームの中のデータ」をある時点(瞬間)における対象の全体像を丸ごと取得し Amazon S3 に保存したもの

AMI  = 「 EBS ボリュームの中のデータ(スナップショット)とインスタンスを構成する管理情報」を含む起動テンプレート

上記の図が体系図としてとても分りやすかったので、AWS Solutions Architect ブログから引用させていただきました。

詳しくは参考文献からご覧ください。

AWS運用におけるスナップショットを用いたバックアップ戦略(まとめ)

本ブログでは、以下それぞれの用途や違いについて説明をしてまいりました。

「スナップショット」「バックアップ」 (「 EBS スナップショット」「 AMI 」)

また、スナップショットは、誤った認識で運用していると、肝心な時にデータが復元できない可能性があるということもご理解いただいているかと思います。

本章では、実際に EBS スナップショットを用いて、「データ可用性」を実現するための戦略をご説明していきます! 1章でも触れましたが、 EBS のスナップショットは「ボリューム(ディスク)のバックアップ」です。それ単体では、サーバーまるごとの復元はできません。よって AMI との性質の違いを理解し、上手く使い分けていくことが重要です。

AMI とスナップショットの比較表:

スナップショットAMI
概要ボリュームの断面をコピー。 Amazon S3 に保存。・スナップショット及びインスタンスの構成情報(メタデータ)から構成される起動テンプレート。
・スナップショットに依存
・「イメージ」と表記される場合あり。
・スナップショット ≒ AMI 。ほぼイコールだが、スナップショットの構成情報は除外されている。スナップショットはハードディスクであるため、CPUその他の情報は保有しておらず別途構成情報として指定する必要あり。逆に柔軟性がある。
一言でいうとEBS のバックアップテンプレート
作成方法ボリューム( EBS )から生成。スナップショットから「イメージ作成」で作成。

(*) その他 AMI は AWS 側からすでに用意されているものや、ベンダーが提供するものなどがある。
主な用途ボリュームのバックアップ。ハードディスクのバックアップのようなもの。スナップショットを起動可能としたもの。ハードディスクだけでは起動できないので、その他構成情報が必要となる。
ただし AMI はテンプレートであり、 AMI からボリュームにコピーされ実行される。
名前snap-********ami-********
保存される場所Amazon S3Amazon S3
変化原則、スナップショット取得後は内容は変化しない内容は変化しない(アップデートはされる)
世代管理リージョンによるが、AWS で世代管理機能あり。2019年現在で世代管理機能はなし。別途作成する必要あり。
備考このボリュームを利用して AMI を登録した場合、 AMI を削除せずボリュームを削除すると以下の警告が表示される。

The snapshot snap-****************** is currently in use by ami-******************
主な構成情報(メタデータ)はおそらく以下の通り。

・AMI ID
・AMI 名
・所有者
・ソース
・プラットフォーム
・アーキテクチャ
・イメージタイプ
・仮想化タイプ
・ルートデバイス名
・ルートデバイスタイプ
・RAM ディスク ID
・カーネル ID
・ブロックデバイス
引用元:「ボリューム(EBS)」、「スナップショット」、「AMI(Amazon Machine Image)」の違いとは(https://awsjp.com/AWS/hikaku/Snapshot-AMI-hikaku.html)

スナップショットを用いたバックアップ戦略としては、まずデータ復旧時点を考える必要があります。データ復旧時点とはつまり、ボリューム故障を含む障害発生時にどこまでのデータ損失を許容できるか、ということです。そのため、 EBS スナップショットは定期的に作成することが推奨されます。

スナップショット取得および利用時の注意点は下記です。

リストアの流れについては、下記をご参考ください。

以上、今回はAWS運用におけるスナップショットについてご説明しました。

まとめとして、主なポイントは下記でした。

  • EBS スナップショットと AMI は異なるもの

スナップショット =「 EBS ボリュームの中のデータ」をある時点(瞬間)における対象の全体像を丸ごと取得し Amazon S3 に保存したもの

AMI  = 「 EBS ボリュームの中のデータ(スナップショット)とインスタンスを構成する管理情報」を含む起動テンプレート

  • EBSスナップショットは、データやボリュームの復元に使用するもの

弊社の cloiud link サービスでは、毎日1回 EBS スナップショットと AMI を取得しております。また、インフラ側での障害時の復旧作業として、リストアも弊社にて実施しております。

バックアップに対して未だ戦略ができていない方、実施してはいるものの自社管理のコストを減らしたい方、本ブログを通して、データ可用性対策のお役に立てることを願っております!


【参考文献】

[AWS Black Belt Online Seminar]
Amazon Elastic Block Store (Amazon EBS)
サービスカットシリーズ
2019/3/20

【AWS Black Belt Online Seminar】
Amazon Elastic Block Store(EBS)
2017/6/2

AWS Solutions Architect ブログ:
AWSトレーニングでよくいただくご質問シリーズ 
- 第一回 Amazon Machine Image (AMI) とスナップショットの違い

https://aws.typepad.com/sajp/2014/04/trainingfaqbest10.html

元記事発行日: 2020年10月31日、最終更新日: 2020年11月18日