カテゴリ: AWS EC2 更新日: 2025/12/18

EC2でのバックアップ方法まとめ!スナップショット・AMI・自動化まで対応

181
EC2でのバックアップ方法まとめ!スナップショット・AMI・自動化まで対応

先生と生徒の会話形式で理解しよう

生徒

「EC2で運用しているサーバーのバックアップって、どうやるんですか?万が一のためにコピーを取っておきたいんですが…」

先生

「EC2インスタンスのバックアップには、主にスナップショットとAMIを使います。また、これらを自動化する方法もありますよ。」

生徒

「スナップショットとAMIって、どう違うんですか?」

先生

「それでは、EC2バックアップの基本から、違い、自動化のやり方まで順番に見ていきましょう!」

1. EC2インスタンスのバックアップとは?

1. EC2インスタンスのバックアップとは?
1. EC2インスタンスのバックアップとは?

AWS EC2で運用しているサーバーは、障害や操作ミスによるデータ損失に備えて定期的にバックアップすることが重要です。
EC2のバックアップには、主に以下の方法があります。

  • スナップショット(EBSボリュームのコピー)
  • AMI(Amazon Machine Image)によるインスタンス全体のイメージ作成
  • バックアップの自動化(EventBridge + Lambdaなど)

用途やタイミングによって使い分けることで、運用効率と安全性の両方を確保できます。

2. EBSスナップショットでバックアップ

2. EBSスナップショットでバックアップ
2. EBSスナップショットでバックアップ

スナップショットは、EC2のルートボリューム(EBS)や追加ボリュームの状態を丸ごと保存する機能です。 ストレージ単位のバックアップとして使われ、柔軟な運用が可能です。

手動でスナップショットを取得する手順:

  1. EC2インスタンスの「説明」からボリュームIDを確認
  2. EBSセクションの「ボリューム」→対象のボリュームを選択
  3. 「アクション」→「スナップショットを作成」を選択
  4. 任意の名前・説明を入力して作成

スナップショットから新しいEBSを作成し、既存インスタンスにアタッチすることで、部分的なデータ復元が可能です。

3. AMIでインスタンス全体をバックアップ

3. AMIでインスタンス全体をバックアップ
3. AMIでインスタンス全体をバックアップ

AMI(Amazon Machine Image)は、EC2インスタンスのOS・設定・インストール済みアプリケーションなどを含めた完全なイメージです。 インスタンス全体を再作成したい場合に非常に便利です。

AMI作成手順:

  1. EC2インスタンスを選択
  2. 「アクション」→「イメージとテンプレート」→「イメージの作成」
  3. 名前・説明を入力して作成

AMIから新しいEC2インスタンスを起動すれば、構成やデータをそのまま再現できます。 テスト環境や予備サーバーとして活用することも可能です。

AWSの基本用語や仕組みを、図解でサクッと理解したい人には、 入門の定番書がこちらです。

AWSの基本が全部わかる教科書をAmazonで見る

※ Amazon広告リンク

4. バックアップの自動化(EventBridge + Lambda)

4. バックアップの自動化(EventBridge + Lambda)
4. バックアップの自動化(EventBridge + Lambda)

毎回手動でスナップショットやAMIを作成するのは手間がかかります。
そこで活用したいのが、EventBridge(旧CloudWatch Events)AWS Lambdaを使った自動化です。

自動化の一般的な手順:

  1. Lambda関数でスナップショットやAMI作成処理を記述
  2. IAMロールを設定して、EC2やEBSへの権限を与える
  3. EventBridgeでスケジュール(毎日1回など)を設定し、Lambda関数をトリガー

この方法により、定期的なバックアップを人手なしで継続的に実行できます。運用の自動化は、可用性と保守性の向上に大きく貢献します。

5. EC2バックアップに関するよくある質問

5. EC2バックアップに関するよくある質問
5. EC2バックアップに関するよくある質問

Q. スナップショットはどこに保存されるの?

A. スナップショットは、Amazon S3上に非公開で自動保存され、リージョン内でのみ利用可能です。

Q. スナップショットとAMIの違いは?

A. スナップショットはEBSのバックアップのみ、AMIはインスタンス構成全体のバックアップに使います。

Q. バックアップの保存コストはどれくらい?

A. 保存容量に応じて課金されます。古いスナップショットは削除することでコスト削減が可能です。

Q. バックアップから復元するには?

A. スナップショットから新しいボリュームを作成しインスタンスにアタッチするか、AMIから新しいEC2を起動します。

6. まとめ

6. まとめ
6. まとめ

AWS EC2でのバックアップは、システムの安定運用と障害対策のために欠かせない作業です。今回の記事では、スナップショットAMIバックアップの自動化という3つの重要なバックアップ方法を紹介しました。

EBSスナップショットは、ボリューム単位で柔軟にバックアップできるため、ファイル単位の復旧や特定のデータだけを復元したいときに便利です。スナップショットはAmazon S3上に保存され、自動的に差分のみを保持するため、ストレージコストの最適化にもつながります。

一方で、AMI(Amazon Machine Image)は、OS・ミドルウェア・アプリケーション・データを含んだインスタンス全体の複製です。サーバー全体をまるごと復元したり、テスト環境や予備環境の構築にも役立ちます。

さらに、EventBridgeとLambdaを使えば、毎日のバックアップ作業を自動化できます。以下は、Lambda関数でAMIを作成するPython(Boto3)コードの一例です。


import boto3
import datetime

ec2 = boto3.client('ec2')
def lambda_handler(event, context):
    now = datetime.datetime.utcnow()
    image_name = 'daily-backup-' + now.strftime('%Y-%m-%d-%H-%M')
    ec2.create_image(
        InstanceId='i-xxxxxxxxxxxxxxxxx',
        Name=image_name,
        Description='Daily AMI backup',
        NoReboot=True
    )

上記のように自動AMI作成処理をLambdaで定義し、EventBridgeでスケジュール実行すれば、毎日自動でバックアップが取れる安全な環境が構築できます。

AWSでは、バックアップは設計段階から考慮すべき重要な運用設計の一部です。障害に強いインフラを構築するためにも、日々のスナップショット取得や定期的なAMI作成、自動化の導入を実践していきましょう。

先生と生徒の振り返り会話

生徒

「スナップショットとAMIの違いがよくわかりました!用途によって使い分けるのがポイントなんですね。」

先生

「その通りです。スナップショットはボリューム単位、AMIはインスタンス全体のバックアップに向いています。」

生徒

「自動バックアップも便利そうですね。LambdaとEventBridgeを組み合わせれば、手間をかけずに運用できそうです。」

先生

「自動化は保守性を上げるだけでなく、うっかりミスも防げます。スケジュールを決めて忘れずにバックアップを続けましょう。」

生徒

「バックアップコストも気になりますが、古いスナップショットを削除すればある程度抑えられるんですね。」

先生

「はい、スナップショットやAMIの整理も大切な運用のひとつです。今日学んだ知識を活かして、強いAWSインフラを作っていきましょう。」

この記事を読んだ人からの質問

この記事を読んだ人からの質問
この記事を読んだ人からの質問

プログラミング初心者からのよくある疑問/質問を解決します

EC2インスタンスのスナップショットとは何ですか?AWS EC2でのスナップショットの意味を教えてください。

スナップショットとは、EC2で使用されているEBSボリュームの状態を保存する機能で、バックアップ目的で使われます。Amazon EC2上で特定時点のデータを保存したいときに便利です。

AWS EC2のAMIとは何ですか?スナップショットとの違いも知りたいです。

AMI(Amazon Machine Image)は、EC2インスタンス全体をコピーして保存できる機能です。スナップショットがEBSボリュームのみを対象とするのに対して、AMIはOSやアプリケーション、設定も含めて保存します。
AWS EC2の一覧へ
新着記事
FlutterのMVP・MVVMアーキテクチャの違いと使い分け
FlutterのMVP・MVVMアーキテクチャの違いと使い分けを初心者向けに解説!
オニオンアーキテクチャの基本とFlutterでの適用例
オニオンアーキテクチャの基本とFlutterでの適用例を初心者向けに解説
クリーンアーキテクチャとは?Flutterでの導入メリット
クリーンアーキテクチャとは?Flutterでの導入メリットをやさしく解説
【AWS】RDS for Oracleの特徴・できないこと・バージョン・料金まとめ
【AWS】RDS for Oracleの特徴・できないこと・バージョン・料金を初心者向けに徹底解説
人気記事
インスタンスタイプの料金比較と最適な選び方(最新2025年版)
AWSのインスタンスタイプの料金比較と最適な選び方【2025年最新版】
【AWS】VPCの料金体系まとめ!無料枠・通信費・各種サービスごとの料金を徹底解説
【AWS】VPCの料金体系まとめ!無料枠・通信費・各種サービスごとの料金を徹底解説
【AWS】VPCエンドポイントとは?種類・使い方・S3連携まで完全解説
【AWS】VPCエンドポイントとは?種類・使い方・S3連携まで完全解説
【AWS】s3 cpコマンド完全ガイド!基本・recursive・exclude/includeも解説
【AWS】s3 cpコマンド完全ガイド!基本・recursive・exclude/includeも解説

🔌 USBポート不足を解消

Type-C 1本で拡張。
開発・作業環境を一気に快適に

UGREEN USB-Cハブを見る

※ Amazon広告リンク