EC2インスタンスのバックアップ完全ガイド:AWSスナップショットとAMIの比較

Amazon Web Services(AWS)では、AWS EC2インスタンスのバックアップに利用できる2つのネイティブ機能、すなわち”AWS EBSスナップショット”と”Amazon Machine Image(AMI)”が提供されています。このブログ記事では、これら2つのバックアップ手法の違いについて解説し、それぞれの方法が最適な場面について説明します。

AWS EC2 バックアップ用 NAKIVO

AWS EC2 バックアップ用 NAKIVO

Amazon EC2インスタンスのEC2、AWS S3、およびオンプレミスへのバックアップ。ランサムウェア対策オプション。インスタンスおよびアプリケーションオブジェクトの迅速な復旧。

EC2のバックアップオプションについて

EC2インスタンスのバックアップに使用される2つのAWSネイティブツールについて確認し、その違いをより深く理解しましょう。

AWS EBSスナップショット

AWS EBSスナップショットは、EBSボリュームの特定時点のコピーであり、EBSボリュームのバックアップと見なすことができます。EBSスナップショットは Amazon S3に保存されますが、Amazon S3バケットからは直接アクセスできず、新しいEBSボリュームの作成にのみ使用できます。 最初のスナップショットはデータの完全なコピーであり、それ以降の各スナップショットは 段階的に に保存され、前回のスナップショット以降の変更部分のみが書き込まれます。この増分方式により、ストレージ容量の使用量が削減され、コストも低減されます。

EBSスナップショットは、EC2インスタンスのEBSボリュームのみを復元するために使用できます。 インスタンス構成、起動設定、ネットワーク構成などを含むインスタンス全体を復元するには、手動の手順に従う必要があります。

AWS EC2 インスタンスのバックアップについては、 AWS EC2 スナップショットの設定方法 をご覧ください。

Amazon Machine Images (AMI)

Amazon Machine Images (AMI) は、EC2 EBS ボリュームのデータだけでなく、EC2 インスタンスを完全に復元したり、新しい EC2 インスタンスを作成したりするために必要なその他のデータも含む、あらかじめ構成済みのイメージです。 AMIはインスタンス全体のフルバックアップとして使用され、AWS EC2インスタンスの完全な復旧を行うために利用できます。AMIには、ルートボリュームを含むEBSボリューム、オペレーティングシステム、インスタンス設定、およびメタデータ(つまり、インスタンスを完全に復旧するために必要なすべての要素)が含まれています。

AMIはAmazon S3に保存され、異なるインスタンス、リージョン、さらにはアカウント間でも再利用可能です。既存のEC2インスタンスを使用して、カスタムAmazon Machine Imageを作成することもできます。 AMIは、複数の同一のEC2インスタンスを展開するための”ゴールドイメージ”を作成するのに最適です。

AWSスナップショットとAMI:主な違い

AWS EC2のEBSスナップショットとAmazon Machine Imageは、ユースケース、目的、機能の点で異なります。これらが、AWSスナップショットとAMIの違いの主な要因です。

  • スナップショットはEBSボリュームレベルのデータのみをキャプチャするのに対し、AMIはAWS EC2インスタンスのすべてのデータをキャプチャします。 たとえば、データベースが EBS ボリューム上に存在する場合、スナップショットにはそのボリュームとデータベースが含まれます。一方、AMI には、オペレーティングシステム、アプリケーションデータ、ファイル、インスタンス構成を含む、アタッチされたすべてのボリュームが含まれます。スナップショットは EC2 インスタンスの構成をキャプチャしません。
  • AMI は常に完全なインスタンスバックアップ( 完全バックアップ タイプ)であり、インスタンスを再作成するために必要なすべての要素が含まれています。 EBSスナップショットは増分方式であり、前回のスナップショット以降の変更部分のみが保存されます。
  • EBSスナップショットは、既存のEC2インスタンスのボリュームを作成または復元するために使用されますが、AMIは、あらかじめ構成された環境用の新しいEC2インスタンスを起動するために使用されます。
  • EBSスナップショットは、EBSボリュームおよびEC2インスタンス(手動でのインスタンス構成が必要)のデータバックアップと復元に使用されます。 Amazon Machine Images(AMI)は、環境の複製や事前構成済みのデプロイに使用されます。

以下に、EBSスナップショットとAmazon Machine Images(AMI)の主な側面を比較した表を示します。

定義

機能 AWS EBSスナップショット Amazon Machine Images(AMI)
目的 EBSボリュームのデータに対する特定時点のバックアップ EC2インスタンスの完全なイメージ(OS、データ、設定)
範囲 EBS ボリューム(データ層)のみをキャプチャします OS、データ、設定を含め、インスタンス全体をキャプチャします

機能

特徴 AWS EBS スナップショット Amazon Machine Images (AMI)
内容 単一の EBS ボリューム上のデータのみ OS、インストール済みのソフトウェア、データ、およびアタッチされたボリュームが含まれます
増分バックアップ 最初のスナップショット後の増分バックアップをサポートします 増分バックアップはサポートしていません (毎回フルイメージ)
構成 インスタンスレベルの設定は含まれません インスタンスタイプ、ネットワーク、権限などのインスタンスレベルの設定が含まれます
移植性 別のリージョンにコピーできます 別のリージョンにコピーできます
ネットワーク転送 変更されたブロックのみのデータ転送が必要です インスタンスイメージ全体を転送します

使用方法

機能 AWS EBS スナップショット Amazon Machine Images (AMI)
主なユースケース EBSボリュームのバックアップまたは復元 EC2インスタンスを起動するための事前構成済みテンプレートの作成
粒度 ボリューム単位のバックアップ ( 例:データベースボリューム) インスタンス全体のバックアップ(例:アプリケーションサーバー)
ディザスタリカバリ 個々のボリュームを復元します フェイルオーバーリージョンで事前構成済みのインスタンスを起動します
テスト データのみのバックアップをテストします 完全な構成を含む環境を複製します

コスト

AWS EBSスナップショット Amazonマシンイメージ(AMI)
コストの基準 スナップショットサイズ(増分)に基づくストレージコスト AMIおよび関連するスナップショットのストレージコスト
コスト効率 頻繁な増分バックアップでより高いコスト効率を実現します インスタンス構成が含まれるため、コストが高くなります

復旧オプション

機能 AWS EBSスナップショット AMI
復旧対象 スナップショットから新しいEBSボリュームを作成します AMIに基づいて新しいEC2インスタンスを起動します
復旧の粒度 個々のボリュームを復元できます アタッチされたボリュームを含め、インスタンス全体を復元します

自動化

機能 AWS EBSスナップショット AMI
自動化ツール AWS Backupまたはライフサイクルルールを使用して自動化できます スクリプト、AWS CLI、またはAWS Lambdaなどのツールを使用して自動化できます
頻度 頻繁な増分バックアップに適しています 通常、定期的なバックアップやデプロイ前のバックアップに使用します

AWSスナップショットまたはAMIを使用するタイミング

AWSスナップショットとAmazonマシンイメージ(AMI)のどちらを選択するかは、具体的なユースケースと、必要とするデータまたはインスタンスのバックアップレベルによって異なります。前のセクションでは、AWS EC2スナップショットとAmazonマシンイメージの違いについて説明しました。ここでは、それぞれの主なユースケースを見ていきます。

EBSスナップショットのユースケース:

  • スナップショットは、EBSボリュームに保存されたデータに重点を置いたボリュームレベルのバックアップや、EBSボリュームを復元してディザスタリカバリを行う目的に最適です。
  • ディザスタリカバリを目的として、スナップショットを別のリージョンにコピーします。
  • スナップショットを使用してEBSボリュームを複製し、元のインスタンスに影響を与えずにテストします。
  • EBSスナップショットはスケーラビリティの面で効果的です。多数のAMIを並行して作成すると、問題や失敗が発生することがあります。

Amazonマシンイメージのユースケース:

  • オペレーティングシステム、アプリケーションデータ、その他のファイルを含む、EC2インスタンス全体のバックアップを作成します。
  • 同じ構成の複数のインスタンスをデプロイしてワークロードをスケーリングするため、AWSで同一のEC2インスタンスを起動します。大規模な更新を実行したり、インスタンスの構成変更を実装したりする前に行う最適な方法です。負荷分散のシナリオで役立ちます。
  • 事前設定済み環境を使用してEC2インスタンスをデプロイするためのテンプレートを作成します。
  • アカウント内のEC2インスタンスを別のAWSリージョンに移行するには、AMIを作成し、これらのイメージから新しいインスタンスをデプロイします。

以下の表では、バックアップに使用する適切なAWSネイティブ機能を選択するための一般的なシナリオと推奨事項を確認できます。

シナリオ 使用する機能 AWSスナップショット AMIを使用
特定のEBSボリュームのバックアップ(データのみ) はい いいえ
EC2インスタンス全体のバックアップ(OS + データ) いいえ はい
頻繁な増分バックアップ はい いいえ
同一インスタンスによるスケーリング いいえ はい
個別ボリュームのディザスタリカバリ はい いいえ
インスタンス全体のディザスタリカバリ いいえ はい
EBSボリュームのリージョン間レプリケーション はい いいえ
リージョン間またはアカウント間でのインスタンス移行 いいえ はい
事前設定済みインスタンステンプレート いいえ はい
コスト効率の高い頻繁なバックアップ はい いいえ

適切なオプションは、必要なバックアップの粒度と復旧速度によって異なります。

  • データのみを対象とするボリューム単位のバックアップや、コスト効率の高い頻繁なバックアップには、AWS スナップショットを使用します。
  • インスタンス全体のバックアップ、同一環境のスケーリング、およびインスタンス全体の復元が必要なディザスタリカバリには、AMI を使用します。

EBS スナップショットと AMI を併用できる場合もあります。以下に、これら 2 つの機能を組み合わせる方法の例を示します。

  • 定期的なデータバックアップとインスタンス全体のバックアップの作成:
    • 重要なデータボリューム(データベースストレージなど)の頻繁なバックアップには、スナップショットを使用します。
    • 構成とアプリケーションを含むインスタンス全体をバックアップするには、AMI を定期的に使用します。
  • AWSの災害復旧:
    • インスタンス全体の復旧には AMI を、粒度の細かいボリュームの復元にはスナップショットを組み合わせます。
    • スナップショットを使用すると特定のボリュームを復旧でき、AMI を使用するとインスタンス全体を再作成できます。
  • テストと開発:
    • テスト用に、本番環境の完全なレプリカを AMI で作成します。
    • 集中的な開発タスクでは、スナップショットを使用してデータレイヤーのみを複製します。

EC2 インスタンスのバックアップに関するベストプラクティス

データには EBS スナップショットを、インスタンス全体の構成には AMI を使用することで、AWS EC2 インスタンスの堅牢なバックアップと災害復旧戦略を実装できます。以下に、EC2 インスタンスのバックアップに関するベストプラクティスを示します。

  • 適切なバックアップ方法を選択します 。データのバックアップにはスナップショットを、インスタンス全体のバックアップには AMI を使用します。
  • バックアップを自動化します 。AWS Backup またはカスタムスクリプトを使用して、スナップショットと AMI の作成を自動化します。
  • コストを監視および管理します 。ストレージコストを最小限に抑えるため、古くなったスナップショットや AMI を定期的に確認して削除します。
  • 保持ポリシーを実装します 。過剰なストレージコストを回避するため、スナップショットと AMI の保持期間を定義します。ライフサイクルポリシーを使用して、一定期間後に古くなったバックアップを自動的に削除します。コンプライアンス対応のための四半期ごとのバックアップなど、重要なバックアップはより長期間保持します。
  • バックアップの整合性を確保します 。データベースなどのアプリケーションでは、バックアップ中にアプリケーションの一貫性を確保します。書き込みを一時停止するか、アプリケーション固有の API(MySQL の FLUSH TABLES WITH READ LOCK など)を使用します。 データベースボリュームには、AWS アプリケーション整合性スナップショットを使用してください。
  • スナップショットと AMI を暗号化して、バックアップを保護します。 AWS キー管理サービス(KMS)を使用してバックアップを暗号化してください。データセキュリティを強化するには、暗号化を有効にしてください。
  • 復旧ワークフローをテストします。 スナップショットからの復元や、AMI からのインスタンスの起動を定期的にテストし、復旧プロセスが期待どおりに正しく機能することを確認してください。災害復旧テスト を使用すると、障害発生時にデータを復元できることを確認できます。
  • AWS バックアップ専用のソリューションを導入します。 AWS EC2 バックアップに対応する NAKIVO Backup & Replication のようなプロフェッショナルなデータ保護ソリューションを使用すると、バックアップと復旧のプロセスをより効果的かつシームレスに実行できます。

NAKIVO による EC2 バックアップの簡素化

NAKIVO Backup & Replication は、AWS EC2 の Amazon S3、その他のクラウドストレージ、およびローカルストレージへのバックアップに対応しています。NAKIVO ソリューションは、AWS EC2 バックアップの自動化、バックアップの暗号化、バックアップ検証、ディザスタリカバリテスト、アプリケーション認識型バックアップ、バックアップの不変性、および多数の その他の機能 に対応しています。NAKIVO ソリューションは、EBS ボリュームやメタデータを含むインスタンス構成など、EC2 インスタンス全体の完全バックアップと増分バックアップを作成し、迅速かつ便利な復旧を可能にします。AWS EC2 バックアップを簡素化し、ディザスタリカバリ戦略を強化できます。

AWS EC2 のバックアップジョブを作成する前に、前提条件を確認します。

NAKIVO ソリューションで AWS EC2 バックアップを構成するには、インベントリにAWSアカウントを追加する が必要です。Settings > Inventory で +(プラス)ボタンをクリックし、手順に従うことで実行できます。

The AWS account is added to the inventory

2 つ目の前提条件は、バックアップおよび復旧ジョブの実行時にデータを処理するための AWSへのNAKIVO Transporterの導入 です。Settings > Nodes に移動し、+ ボタンをクリックして、AWS に新しい トランスポーター を追加してください。

The Transporter is deployed in AWS

NAKIVO Backup & Replication では、新しい AWS バックアップジョブを簡単に構成でき、数回のクリックで完了できます。

  1. Data Protection に移動し、+ をクリックしてから、Backup for Amazon EC2 をクリックしてください。

    Creating a new job for EC2 instance backup

  2. バックアップする AWS EC2 インスタンスを選択してください。AWS にトランスポーターをまだデプロイしていない場合は、トランスポーターが必要であることを示すメッセージが表示されます。完了したら、Proceed をクリックしてください。NAKIVO Backup & Replication が適切な AWS リージョンに EC2 インスタンスとしてトランスポーターを自動的にデプロイできるようになります。次に、Next をクリックしてください。

    Selecting AWS EC2 instances to back up

  3. AWS EC2 バックアップの保存先を選択してください。NAKIVO インベントリに追加されている、サポート対象の任意の バックアップリポジトリ を選択できます。この例では、ローカルバックアップリポジトリと Amazon S3 のバックアップリポジトリを使用しています。

    Selecting a backup repository

  4. Amazon EC2バックアップジョブのスケジュール管理と顧客維持設定を構成します。複雑なスケジュールと保持方式を実装するために、複数のルールを構成できます。ランサムウェア対策を確実にするには、バックアップの不変性を有効にします。

    Configure scheduling and retention settings

  5. バックアップジョブのオプションを構成します。ジョブ名を入力し、アプリケーション認識モード、変更追跡方法、暗号化、完全バックアップモードなどの設定を指定します。Finish & Runをクリックして設定をセーブし、ジョブを実行します。

    Configuring job options for EC2 instance backup

まとめ

EBSスナップショットは、新しいスナップショットが増分方式であるため、EBSボリュームを頻繁にバックアップする場合や、ストレージを節約するオプションを利用する場合に最適です。EBSスナップショットからEC2インスタンス全体を復元する際は、EC2インスタンスを手動で作成および構成する必要があります。または、既存のEC2インスタンスを使用してEBSボリュームを復元できます。Amazonマシンイメージ(AMI)は、インスタンス全体の復旧、同一の構成を持つインスタンスの一括デプロイ、および移行を実現するために、EC2インスタンスの完全なイメージ(EBSボリューム、起動オプション、インスタンス構成、メタデータなどを含む)の作成に使用されます。

EBSスナップショットとAMIのネイティブバックアップ機能に加え、多くの高度なバックアップ機能とオプションを備えた、専用のAmazon EC2バックアップソリューションの利用をご検討ください。NBRは、信頼性が高く、使いやすいユーザーインターフェイスを備え、EC2インスタンス全体の完全バックアップと増分バックアップをサポートしています。これにより、ネイティブ方式の利点と、データ保護の効率を高める幅広いカスタマイズ可能な機能を組み合わせることができます。

NAKIVO Backup & Replication をお試しください

NAKIVO Backup & Replication をお試しください

無料トライアルを利用して、本ソリューションのデータ保護機能をすべてお試しください。15日間無料です。機能や容量の制限は一切ありません。クレジットカードも不要です。

関連記事