スナップショットとAMIのAWSの違い


107

だから私は、具体的にはこれら2つの違いをうまく理解できません。

私が理解しているように、スナップショットは単なるディスクドライブのバックアップですが、AMIはシステム全体(または言うべきインスタンス)のバックアップですが、システム全体が技術的に完全にディスクドライブ上にあるのではありませんか?それが事実である場合、明確な違いはなく、何か不足していますか?

回答:


70

AMI(および対応するインスタンス)には2つのタイプがあります。

  1. インスタンスストア(S3ベースと呼ばれることもあります)。これらはあまり一般的ではないので、初心者にはお勧めしません。インスタンスストアAMIは、ルートインスタンスストアボリュームと一部のメタデータのコピーであり、すべて特別な形式でS3バケットに保存されます。

  2. EBSブート。これはおそらくあなたが使用しているものです。EBSブートAMI 、EBSルートボリュームのEBSスナップショットと、アーキテクチャ、カーネル、AMI名、説明、ブロックデバイスマッピングなどのメタデータです。

EBSブートボリュームのスナップショットを取得し、適切なメタデータに登録することで、EBSブートAMIに変えることができます。これの最もトリッキーな部分は、正しく起動するように正しいAKI ID(カーネル)を指定することです。


エリックさん、AMIイメージをバックアップしました。起動して登録することもできますか?ここで何が違うのか混乱しています...
Melbourne2991

「AMIイメージのバックアップ」の意味がわかりません。
エリックハモンド

8
[Create AMI]をクリックすると、EC2はそのインスタンスのEBSボリュームのEBSスナップショットを作成し、それをAMIとして登録します。そのAMIを開始点として指定して、新しいインスタンスを起動できます。新しいインスタンスを実行せずにEBSスナップショットのファイルを確認するだけの場合は、EBSスナップショットの新しいボリュームを作成することもできます。
エリックハモンド

6
または、自分でEBSボリュームのEBSスナップショットを作成し、後でそのスナップショットをAMIとして登録することもできます。これは、設定する適切なAMI登録属性を知っている必要があるため、AMIを作成する少し難しい方法です。「Create AMI」はこのすべてをあなたに代わって行います。
エリックハモンド

1
@ cosbor11 AMIのスナップショットを削除することはできません。
エリックハモンド

24

主な違いは、参照されるサービスの種類の間です。スナップショットは、特定の時点で状態を保存し、同じデータで再起動できるEBSボリュームのスナップショットです。

AMIも同様ですが、EC2インスタンス自体のものです。ebsを使用しないインスタンスのスナップショットを作成することはできませんが、1つのAMI(システムイメージ)を作成できます。

通常、EBSスナップショットをデータベースボリュームのバックアップソリューションとして使用し、AMIを使用してインスタンス構成を保存します


1
ボリュームにデータベースとインスタンス構成が含まれている場合はどうなりますか?AMIはEBSスナップショットが保存しないこと(およびその逆)を何が保存しますか?ありがとう
Melbourne2991

1
AMIはすぐに新しいインスタンスで起動できます。EBSスナップショットを新しいボリューム(仮想ディスク)にコピーできます。その仮想ディスクは新しいインスタンスのベースとして使用できますが、それ自体はインスタンスではありません。
Dan Pritts

16

AMIはスナップショットを使用して作成できます。たとえば、単一の「スナップショット」を使用して、複数のAMIを作成できます。たとえば、同じスナップショットを使用して1つのPVと1つのHVM AMIを作成できます。

したがって、スナップショットにはシステム/ OSデータがあります。AMIは(スナップショット+マシン/ハードウェアメタデータ)です。


1
私がAMIを持っている場合、そのインスタンスはそれから作成されたものです。AMIにはそのインスタンスのデータが含まれていますか?つまり、インスタンスにTomcat WARファイルが含まれている場合、そのインスタンスの作成元のAMIにも含まれていますか?
Dejell 2015年

1
Tomcat(または任意のファイル)を含むインスタンスからAMIを作成すると、新しく作成されたAMIにはそれらのファイル/データが含まれます。このAMIからさらに作成されたインスタンスには、これらのファイルがあります。ただし、インスタンスを作成したソースAMIにはそれらがありません(インスタンスの作成後にファイルをインスタンスに追加した場合)。
Anshu Prateek 2015年

15

私もそれで混乱しました。これを理解する最も簡単な方法は次のとおりです。

  • EBS Snapshot 多くの場合、特定のEBSボリュームのバックアップを表します。これは、任意のボリューム(ルートボリューム、データボリュームなど)である可能性があります

  • AMI(Amazon Machine Image)は、EC2インスタンス全体のバックアップです。たとえば、適切な構成で、複数のEBSボリュームを含むAMIを作成できます。

混乱するかもしれませんが、どちらも「EBSスナップショット」として保存されます。

そのように考えてください:

  • EBS Snapshot 単なるデータのバックアップです。
  • AMI特定の時点でのシステム状態を表します。そこから起動することもできます。

ルートボリュームのスナップショットを作成した場合、そのスナップショットを使用してインスタンスを起動できますか?
gaurav parashar

1
短い答え:いいえ。EC2で使用できる「起動オプション」はAMIだけなので、ボリュームだけを使用して直接行うことはできません。ただし、ボリュームからAMIを作成し、最近作成されたAMIからインスタンスを起動できます(間接オプションのように)。
skryvets

7

EBS VolumeEC2の背後にある基盤となるディスクです。Snapshot特定の時点のバックアップですvolumeAMIは仮想マシンとまったく同じように複数の接続されたボリュームを持つ可能性のあるEC2インスタンス全体のバックアップですが。

ではパッカー、あなたはEC2用のAMIを含む自動化されたマシンのイメージを構築することができ、VMDK / VMXは、VMware社のファイルVirtualBoxのためのOVFの輸出など

EC2  <-- EBS Volume (Boot) + EBS Volume 
                        ^
                        |
                     Snapshot (only of specific volume)       
                        ^
                        |
                       AMI (Combined snapshots of all volumes, snapshot must have boot volume) 
                        ^
                        | 
                  Launch a new Instance (same installed softwares and configs, different specs) 

スナップショットは、ドライブ/ボリュームのバックアップに使用できます。これは増分バックアップ操作であり、ボリュームのスナップショットを作成するたびに、最後のバックアップ以降にボリュームに追加/導入された新しい変更のみが追加され(バックアップ全体ではなく)、バックアップ時間、スペース、そして最終的にはコストが節約されます。 。

スナップショットは次の場所で使用できます。

  • 定期的にドライブをバックアップ

  • 例えば、ボリュームの種類を変更するには、トラフィックを持っているか、読み取りおよび書き込みとあなたから変更してIO操作を高める必要性gp2io1高いとIOPs

カスタムAMIは次の場所で使用できます。

  • 現在実行中のEC2インスタンスが破損し、理由もなく実行できなかった場合の災害復旧用。

  • 導入プロセスを簡素化するすべての前提条件ソフトウェアがインストールされている標準的な会社のAMI(たとえば、 `Splunkに接続するように構成されている、監視および監視ソフトウェアがインストールされている、Dockerがインストールされている、または起動時にPuppetまたはChefに接続するように構成されている)

  • AMIを使用すると、アプリケーションをさまざまなリージョンに簡単にデプロイできます。

  • インストールされているすべてのソフトウェアとその構成を使用して、サーバーをより高い仕様または異なる仕様にアップグレードします

  • AMIはAWSアカウント間でパブリックに共有できます。


最初の段落は、これまで読んだ中で最も明確な定義です。ありがとうございました!
specialk1st

5

AMIスナップショットとEBSスナップショットの違いは次のとおりです。

1)AMIは起動可能であり、ルートデバイスへのリンクが含まれ、他のデータボリュームのスナップショットへのリンクが含まれる場合があります。

2)AMIに含まれるデータイメージは、インスタンスが再起動されない限り、明確に定義された特定の時点を表しません。これは、通常、実稼働環境では受け入れられないものです。スナップショットは、正確な時点を制御できるため、一貫した方法で取得できます。スナップショットを開始する前に、すべてが「バックアップの準備ができている」ことを確認できます。

3)AMIは、Linuxではルートデバイスの既存のスナップショットから作成できますが、Windowsでは作成できません。


2

AWSが提供する定義に従って、

AMIは、EC2インスタンスを開始できるテンプレートです。EBSスナップショットは、EBSボリュームのブロックレベルのコピーです。EBSボリュームは、ブートボリューム(つまり、オペレーティングシステムを含む)、またはデータのみのボリューム(たとえば、データベースファイルを含む)の場合があります。RegisterImageを使用して(スナップショットから)AMIを作成します。

これらは、異なるレベルで適用される2つの異なる概念(EBSボリュームとEC2テンプレート)ですが、2つの概念の間にはいくつかの依存関係があります。

EBSでバックアップされたEC2インスタンス(つまり、EBSボリュームから起動するEC2インスタンス)の場合、AMIは、ブートボリュームのEBSスナップショット+いくつかのメタデータ(マシンのアーキテクチャ-32ビット対64ビット-)、タイプ仮想化の例-HVM vs PV-など...)

したがって、EBSでバックアップされたEC2インスタンスの場合、AMIはEBSスナップショット+ XMLファイルです。所有しているブートボリュームのスナップショットに基づいて、独自のAMIを作成することもできます。


1

スナップショットは、バックアップ戦略として使用する方が安価です。これは、複数のスナップショットがある場合、1回の完全バックアップに対してのみ料金が発生し、残りは基本的に差分だけであり、通常ははるかに小さいためです。


6
これはEBSブートAMIには当てはまりません。これらは、正確にEBSスナップショットと少しのメタデータだからです。費用は同じです。
エリックハモンド

1

AMIは、OSとインストールされたコンポーネントが保持されるマシンの汎用テンプレートと考えることができます。

スナップショットには、AMIが行うすべてのことを含めることができますが、EBSボリュームのディスクデータも保存できます。

どちらを使用するかは、インスタンスがEBSでサポートされているかどうか、すべてのデータをそのままにしてマシンを正確に再作成するか、または汎用マシンテンプレートが必要かによって決まります。


それで、AMIはEBSボリュームを保存しませんか?
Melbourne2991

1
AMIは1つ以上のEBSボリュームを含むように設定できますが、それらのボリュームは起動時に空白になり、元のソースマシンに含まれていたデータは含まれません。
CIGuy 2013

それで、AMIは実際には単なるメタデータです(それが正しい用語かどうかはわかりません)?使用しているOS、インスタンスのサイズなどは?技術的には数KBのサイズにする必要がありますか?
Melbourne2991

1
AMIには、マシンにインストールしたプログラム、OSレベルの構成オプションなども保存されます。そのため、実際にはメタデータだけでなく、通常はスナップショットよりもはるかに小さくなります。
CIGuy 2013

1
この答えは間違っています。AMIには1つ以上のスナップショットが含まれています。つまり、1つ以上のスナップショットを参照し(データのコピーはありません)、追加のメタデータも保持します。これが、現在AMIによって使用されているスナップショットを削除できない理由です。docs.aws.amazon.com/AWSEC2/latest/UserGuide/AMIs.htmlこのスレッドでのEric Hammondの寄稿も参照してください。
Max Barraclough

0

AWSが提供する定義から、違いを明確にします。AmazonMachine Image(AMI)は、ソフトウェア構成(オペレーティングシステム、アプリケーションサーバー、アプリケーションなど)を含むテンプレートです。AMIからインスタンスを起動します。これは、クラウドで仮想サーバーとして実行されているAMIのコピーです。一方、スナップショットの場合特定の時点のスナップショットを作成することで、EBSボリュームのデータをAmazon S3にバックアップできます。スナップショットは増分バックアップです。つまり、最新のスナップショットの後に変更されたデバイス上のブロックのみが保存されます。スナップショットを削除すると、そのスナップショット専用のデータのみが削除されます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.