AWSスナップショットとは?EBS・AMIの違いから復元方法、料金まで徹底解説!

AWS
スポンサーリンク

本記事は「AWSスナップショットとは?EBS・AMIの違いから復元方法、料金まで徹底解説」について解説させて頂きます。

「AWSのバックアップ、どう設定するのが正解か迷っている…」

「EC2インスタンスのデータが飛んだらどうしようと不安…」

「スナップショットの料金がいつの間にか膨れ上がっていないか心配…」

AWSを利用する上で避けて通れないのが「バックアップ戦略」です。

中でも「スナップショット」は、AWS環境のデータを保護するための最も基本的かつ強力な機能です。

しかし、AWSには「EBSスナップショット」「AMI」「Lightsailスナップショット」など、似たような言葉が多く、それぞれの違いや正しい使い分けがわからないという方も多いのではないでしょうか。

この記事では、AWSスナップショット(主にEBSスナップショット)の基本的な仕組みから、作成・復元方法、気になる料金、そしてWordPressなどでの実践的な活用例までをわかりやすく解説します。

専門用語を並べ立てるのではなく、実務で「絶対に押さえておくべきポイント」に絞ってカジュアルにまとめました。

この記事のまとめ
  • AWSスナップショットとは何か? → ディスクの状態を丸ごと保存するバックアップ機能
  • スナップショットの種類と違い → EBSスナップショット・AMI・Lightsailスナップショットの違い
  • EBSスナップショットの仕組み → 変更分だけ保存する増分バックアップで低コスト
  • スナップショットの作成方法 → コンソールから数クリックで取得できる
  • スナップショットからの復元方法 → ボリューム作成→デタッチ→アタッチの3ステップ
  • スナップショットの料金 → 東京リージョンで約0.05USD/GB/月、増分なので安い
  • WordPressに応用する例 → アップデート前にAMI取得しておけば即復旧可能
  • スナップショットの自動化(Amazon DLM) → 取得・削除を自動化して放置を防ぐ
こすけさん
こすけさん

スナップショットは大事ですよ!

まどかさん
まどかさん

教えてください!

AWSスナップショットとは何か?

AWSにおける「スナップショット」とは、ある時点でのストレージ(ディスク)の状態を丸ごと写真に撮るように保存したバックアップデータのことです。

AWSで仮想サーバー(EC2)を構築する際、データの保存先としてよく使われるのが「Amazon EBS(Elastic Block Store)」というブロックストレージです。

パソコンでいうところの「ハードディスク」や「SSD」にあたります。このEBSのデータを丸ごとバックアップする機能がEBSスナップショットです。

AWSスナップショット|なぜスナップショットが必要なのか?

AWSは非常に堅牢なクラウドインフラですが、AWS側が自動で私たちのデータをバックアップしてくれるわけではありません(マネージドサービスの一部を除く)。

例えば、以下のようなトラブルはユーザーの責任で対処する必要があります。

  • 操作ミスによるデータ削除: 誤って重要なファイルを消してしまった。
  • アプリケーションの不具合: アップデートに失敗してシステムが起動しなくなった。
  • サイバー攻撃: ランサムウェアなどに感染し、データが暗号化されてしまった。

このような万が一の事態に備え、いつでも元の状態に戻せるようにしておくのがスナップショットの最大の役割です。

こすけさん
こすけさん

バックアップは必須です!

AWSスナップショット|スナップショットの種類と違い

AWSで「スナップショット」や「バックアップ」に関連する用語として、よく混同されるのが「EBSスナップショット」「AMI」「Lightsailスナップショット」の3つです。

それぞれの役割と違いを整理しておきましょう。

種類主な対象特徴・用途料金の考え方
EBSスナップショットEBSボリューム(単一のディスク)特定のディスクのデータのみをバックアップ。データの復元や別ボリュームへの複製に使用。保存されたデータ容量に対して課金。
AMI (Amazon Machine Image)EC2インスタンス全体 (OS+複数ディスク)サーバーを起動するための「金型」。OSの設定や複数のEBSスナップショットをひとまとめにしたもの。AMI 自体は無料だが、裏で紐づくEBS スナップショットの容量に対して課金される。
lightsail
スナップショット
Amazon LightsailのインスタンスやディスクAWSの初心者向けVPS サービス「Lightsail」専用のバックアップ。EC2 への移行(エクスポート)にも使える。保存されたデータ容量に対して課金(EBSとは料金体系が異なる)

AWSスナップショット|EBSスナップショットとAMIの使い分け

一番迷いやすいのが「EBSスナップショット」と「AMI」の使い分けです。

  • EBSスナップショット
    「データドライブ(Dドライブなど)だけをバックアップしたい」「特定のディスクだけを復元したい」という場合に使います。
  • AMI
    「サーバー全体(OSの入ったCドライブもデータ用のDドライブもすべて)のバックアップを取りたい」「同じ設定のサーバーをもう一台増やしたい(オートスケーリングなど)」という場合に使います。

実務では、サーバー全体の確実な復旧を担保するために、定期的なバックアップとしては「AMI」を取得するケースが多いです。

ただし、AMIを取得すると裏側で各ディスクの「EBSスナップショット」が自動的に作成される仕組みになっているため、根本の技術はEBSスナップショットに依存しています。

※本記事では、以降「EBSスナップショット」の仕組みを中心に解説を進めます。

AWSスナップショット|EBSスナップショットの仕組み(増分バックアップ)

EBSスナップショットの最大の特徴であり、コストを抑えるための重要な仕組みが「増分バックアップ」です。

初めてスナップショットを作成するときは、ディスク内のすべてのデータがコピーされます(フルバックアップ)。

これを増分バックアップと言います。

しかし、2回目以降は「前回から変更された部分(差分)だけ」を保存しま

例えば、100GBのデータが入ったディスクがあるとします。

  1. 1回目のスナップショット: 100GBまるごと保存(100GB分の料金)。
  2. その後、5GBのデータを更新: ディスク内のデータ量は100GBのまま。
  3. 2回目のスナップショット: 更新された「5GB」だけを保存(5GB分の追加料金)。

このように、毎回すべてのデータをコピーするわけではないため、バックアップにかかる時間が短縮され、保存容量(=ストレージ料金)も大幅に節約できます。

スナップショットを削除した時の挙動

増分バックアップと聞くと、「途中のスナップショットを消したら、後のデータが復元できなくなるのでは?」と不安になるかもしれません。

しかし、AWSの仕組みは非常に賢くできています。

どのスナップショットを削除しても、残っているスナップショットから確実にデータを復元できるように自動で調整してくれます。

先ほどの例で、もし「1回目のスナップショット(100GB)」を削除したとしても、「2回目のスナップショット」を復元するのに必要なベースデータ(変更されなかった95GB分)は裏側で保持され続けます。

そのため、「古いバックアップは消してはいけない」といった心配は無用です。

AWSスナップショット|スナップショットの作成方法

ここでは、AWSマネジメントコンソール画面から手動でEBSスナップショットを作成する基本的な流れを紹介します。

  1. EC2コンソールにアクセス: AWSマネジメントコンソールを開き、「EC2」サービスを選択します。
  2. ボリュームを選択: 左側のメニューから「Elastic Block Store」>「ボリューム」をクリックします。
  3. 対象を選ぶ: バックアップしたいボリューム(ディスク)にチェックを入れます。
  4. スナップショットの作成: 画面右上の「アクション」メニューから「スナップショットの作成」をクリックします。
  5. 説明の入力: 後で見て何のバックアップかわかるように、説明(例: web-server-data-backup-20231024)を入力します。
  6. 作成の実行: 「スナップショットの作成」ボタンを押せば完了です。

データ量によっては作成完了までに少し時間がかかります。

左メニューの「スナップショット」画面で、ステータスが「完了(Completed)」になれば無事バックアップ成功です。

まどかさん
まどかさん

なんだか出来そう!

AWSスナップショット|スナップショットからの復元方法

バックアップは「取ること」よりも「いざという時に確実に復元できること」の方が100倍重要です。

スポンサーリンク

ここでは、EBSスナップショットからデータを復元する手順を厚めに解説します。

復元の大まかな流れは以下の3ステップです。

  1. スナップショットから「新しいEBSボリューム」を作成する。
  2. トラブルが起きたEC2インスタンスから「古いボリューム」を切り離す(デタッチ)。
  3. 作成した「新しいボリューム」をEC2インスタンスにくっつける(アタッチ)。

スナップショットから新しいボリュームを作成

  1. EC2コンソールの左メニューから「スナップショット」を選択します。
  2. 復元したい時点のスナップショットを選択し、「アクション」>「スナップショットからボリュームを作成」をクリックします。
  3. アベイラビリティーゾーン(AZ)の選択
    新しいボリュームは、くっつけたいEC2インスタンスと同じAZ(例: ap-northeast-1a)に作成する必要があります。 ここを間違えると後でアタッチできません。
  4. ボリュームタイプやサイズ(元のサイズ以上である必要があります)を確認し、「ボリュームの作成」をクリックします。

古いボリュームのデタッチ

  1. 対象のEC2インスタンスを「停止(Stop)」します。(※稼働中の切り離しも可能ですが、データ破損を防ぐため停止を推奨します)
  2. 左メニューの「ボリューム」画面に行き、トラブルが起きている古いボリュームを選択します。
  3. 「アクション」>「ボリュームのデタッチ」をクリックして、インスタンスから切り離します。

新しいボリュームのアタッチ

  1. ステップ1で作成した「新しいボリューム」を選択します。
  2. 「アクション」>「ボリュームのアタッチ」をクリックします。
  3. 対象のEC2インスタンスを選択します。
  4. デバイス名の指定
    ルートボリューム(OSが入っているドライブ)を復元する場合は、デバイス名を元の設定(例: /dev/xvda/dev/sda1 など)と完全に一致させる必要があります。
  5. アタッチが完了したら、EC2インスタンスを「起動(Start)」します。

これで、サーバーがスナップショットを取得した時点の状態に戻って起動するはずです。

いざという時に焦らないよう、テスト環境で一度この復元プロセスを練習しておくことを強くお勧めします。

AWSスナップショット|スナップショットの料金

バックアップ戦略を考える上で、コストの把握は欠かせません。

EBSスナップショットの料金は非常にシンプルで、「Amazon S3に保存されているデータ容量(GB)× 月額単価」で決まります。

基本的な料金(東京リージョンの場合)

ティア料金(GB/月)用途
標準(Standard)約 0.05 USD通常のバックアップ。すぐに復元可能。
アーカイブ (Archive)約 0.0125 USD長期保存向け。復元時に別途取り出し料金が発生

なお、AWSの無料利用枠(Free Tier)には、EBSスナップショットのストレージ1GBが含まれています。

検証目的で少量のスナップショットを試す程度であれば、無料で体験できます。

アーカイブ利用時の注意点

アーカイブティアは保存料金が約4分の1と格安ですが、以下の点に注意が必要です。

  • 復元時に取り出し料金が発生:0.03 USD / GB の一時復元料金がかかります。
  • 最低保存期間が90日:90日未満で削除・復元すると、残り期間分の保存料金が請求されます。
  • 復元に時間がかかる:標準ティアのスナップショットのように即座にボリュームを作成できず、一時復元のプロセスが必要です。

「半年に1回も復元しないだろうけど、規約上保存しておかなければならない」というケースに最適です。

料金計算の注意点

前述の通り、スナップショットは「増分バックアップ」です。

例えば、100GBのボリュームを毎日スナップショット取得したからといって、「100GB × 30日 = 3,000GB分」の料金がかかるわけではありません。

  • 初回: 100GB
  • 2日目: 変更分(例: 1GB)
  • 3日目: 変更分(例: 2GB)
  • 合計保存量: 103GB

このように、実際に変更されて保存されたデータ量に対してのみ課金されます。

ただし、EC2インスタンス上で毎日大量のログファイルが生成されたり、データベースの更新が激しかったりすると、増分データが膨らみ、スナップショットの料金も高くなるので注意が必要です。

AWSスナップショット|WordPressに応用する例

具体的なユースケースとして、EC2上でWordPressサイトを運営している場合のスナップショット活用法を考えてみましょう。

WordPressサイトの更新(テーマの変更、プラグインのアップデート、WordPress本体のバージョンアップなど)は、画面が真っ白になるなどのトラブルが起きやすいタイミングです。

私も何度かなっています。

大きなアップデートを行う直前に、EC2インスタンスの「AMI(Amazon Machine Image)」を取得しておきましょう

  • EC2コンソールでWordPressが動いているインスタンスを選択。
  • 「アクション」>「イメージとテンプレート」>「イメージを作成」。
  • イメージ名(例:`wp-backup-before-update-202310`)を入力して作成。

もしアップデート後にサイトが崩れたり、データベースのエラーでログインできなくなったりしても、このAMIから新しいEC2インスタンスを起動すれば、数分でアップデート直前の完璧な状態にサイトを復旧できます。

プラグインのバックアップツール(UpdraftPlusなど)も便利ですが、サーバーのOSレベルやミドルウェア(Apache, Nginx, MySQLなど)の設定を含めて丸ごと保護できるのがAWSスナップショット(AMI)の強みです。

AWSスナップショット|Amazon DLMとは?

DLMは、EBSスナップショットやAMIの「作成」「保持」「削除」を自動化してくれる無料のAWSサービスです。

例えば、以下のようなルール(ライフサイクルポリシー)を簡単に設定できます。

  • 作成:毎日深夜2時にバックアップ(スナップショット/AMI)を自動取得する。
  • 保持・削除:最新の7世代(7日分)だけを残し、それより古いものは自動的に削除する。

なぜDLMを使うべきか?

取り忘れを防ぐことが出来ます。

ミスした時に自動化させておくことで確実なデータ保護が可能になります。

手動でスナップショットを取っていると、消し忘れて古いバックアップがどんどん溜まり、気づけばS3のストレージ料金が跳ね上がっていた…という「AWSあるある」を防ぐことができます。

世代管理をして自動削除させることは、コスト管理の観点から非常に重要です。

基本的にDLM自体の利用料は無料です。

ポリシーの設定にお金はかかりません(作成されたスナップショットの保存料金のみ)

DLMの設定の流れ(コンソール)

  1. EC2コンソールの左メニューから「ライフサイクルマネージャー」を選択。
  2. 「ライフサイクルポリシーの作成」をクリック。
  3. ポリシータイプを選択(「EBSスナップショットポリシー」または「EBS-backed AMIポリシー」)。
  4. 対象リソースのタグ(例:Backup: true)を指定。
  5. スケジュール(例: 毎日、12時間ごとなど)と保持数(例: 最新7世代)を設定。
  6. 必要に応じてクロスリージョンコピーの設定を追加。
  7. ポリシーを有効化して保存。

この設定を一度行えば、あとは完全自動でバックアップの取得と古いデータの削除が回り続けます。

EC2を構築したら、セットで必ずDLMのポリシーを設定しても良いかもしれません。

【まとめ】AWSスナップショットとは?EBS・AMIの違いから復元方法、料金まで徹底解説

ここまでいかがでしたでしょうか?

本記事は「AWSスナップショットとは?EBS・AMIの違いから復元方法、料金まで徹底解説」について解説させて頂きます。

AWSスナップショット(EBSスナップショット、AMI)は、クラウド上でシステムを安全に運用するための「命綱」です。

Lightsailを利用している場合は「Lightsailスナップショット」という専用の機能がありますが、基本的な考え方や「いざという時の備え」としての役割は同じです。

「まだ手動でバックアップを取っている」「古いスナップショットが何十個も放置されている」という方は、ぜひこの記事を参考に、今すぐバックアップ戦略と自動化の設定を見直してみてください。

いざという時の安心感が全く違います!

こすけさん
こすけさん

定期的に取りましょう!

まどかさん
まどかさん

頑張って設定します!

スポンサーリンク

コメント