web-dev-qa-db-ja.com

Amazon EC2の用語-AMI対EBS対スナップショット対ボリューム

私はAmazon EC2をざっと見ていて、いくつかの用語について少し混乱しています。特にAMI、スナップショットとボリューム、およびEBSに関して

私が間違っている場合は修正してください。または、次のステートメントの深刻なギャップを埋めてください。

  • AMI(Amazon Machine Image)は、オペレーティングシステムと構成の完全な「ディスク」キャプチャです。インスタンスを起動すると、AMIからインスタンスが起動されます

  • EBS(Elastic Block Storage)は、特定のAMIから起動した後に行った変更の状態を保持する方法です。私の考えでは、これはAMIに対するインスタンスの最終状態の差分のようなものです。

  • スナップショットは……まあ、よくわかりません。特定のインスタンスのスナップショットであるとしか想定できませんが、これがEBSに格納されている状態とどのように異なるかは明確ではありません。スナップショットは、既存のインスタンスからEBS AMIを作成することとどのように異なりますか?

  • ボリュームは... AMI/EBSペアがロードされるマウントされたディスクスペースのように見えますか?これもわかりません。 AWSコンソールから、スナップショットからボリュームを作成でき、ボリュームをアタッチ/デタッチできることがわかりますが、whyまたはwhenあなたはそうするでしょう。

127
Matt

ご存知のとおり、AMIはマシンイメージです。これは、インスタンスとして起動できるイメージとして保存されたシステムの全体的なスナップショットです。すぐにAMIに戻ります。

EBSを見てみましょう。他の2つのアイテムは、このサブアイテムです。 EBSは仮想ブロックデバイスです。これはハードドライブと考えることができますが、実際には別の種類のストレージデバイスにリンクするソフトウェアマジックの集まりですが、インスタンスに対してはハードドライブのように見せます。

EBSはサービス全体の単なる名前です。 EBSの内部には、ボリュームと呼ばれるものがあります。これらは、Amazonが販売している「ユニット」です。ボリュームを作成すると、Xギガバイトが割り当てられ、実行中のコンピューター(インスタンス)に接続できるハードドライブのように使用します。ボリュームは空白で作成することも、前のボリュームのスナップショットコピーから作成することもできます。これにより、次のトピックに進みます。

スナップショットは...まあ...ボリュームのスナップショット:すべてのデータを含む、ボリュームが特定の瞬間にどのように見えたかの正確なキャプチャ。ボリュームを作成し、それをインスタンスに接続し、ボリュームで満たしてから、スナップショットを作成しても、引き続き使用できます。ボリュームの内容は、ファイルシステムとして使用するにつれて変化し続けますが、スナップショットはすぐにフリーズします。このスナップショットをベースとして使用して、新しいボリュームを作成できます。新しいボリュームは、スナップショットを作成したときの最初のディスクとまったく同じように見えます。古いボリュームの代わりに新しいボリュームを使用してデータをロールバックしたり、同じデータセットを別のマシンに接続したりできます。いつでもボリュームのスナップショットを作成し続けることができます。これはフリーズフレームインスタンスバックアップのようなもので、必要なときにいつでも簡単に新しいライブディスク(ボリューム)に作成できます。

したがって、ボリュームは新しい空白スペースまたはスナップショットに基づくことができます。わかった?ボリュームは、どのインスタンスからもアタッチまたはデタッチできますが、仮想抽象化されている物理ディスクと同じように、一度に1つのインスタンスにしか接続できません。

AMIに戻ります。 2つのタイプがあるため、これらはトリッキーです。ルートファイルシステムがコンピューターへのドライブのように見えますが、実際にはメモリのどこかに常駐し、使用を停止した瞬間に気化する一時的なインスタンスを作成します。もう1つの種類は、EBSバックアップインスタンスと呼ばれます。つまり、インスタンスがロードされると、ルートファイルシステムが新しいEBSボリュームにロードされ、基本的にはEBSテクノロジーの上にEC2仮想マシンテクノロジーが階層化されます。通常のEBSボリュームはEC2の隣にあり、アタッチできるものですが、EBSでバックアップされたインスタンスもISボリューム自体です。

通常のAMIは、マシンとして読み込まれる大きなデータのチャンクです。 EBSでバックアップされたAMIはEBSボリュームにロードされるため、シャットダウンして、実際のディスクと同じように、中断したところからバックアップを開始できます。

それをすべてまとめます。インスタンスがEBSでバックアップされている場合は、スナップショットを作成することもできます。基本的に、これは通常のスナップショットと同じように動作します...ある時点でのコンピュータのルートディスクのフリーズフレーム。実際には、2つの異なることを行います。 1つは、インスタンスをシャットダウンして、ONのコンピューターではなく、OFFのコンピューターに見えるディスクのコピーを取得することです。これにより、起動が簡単になります:)インスタンスをスナップショットすると、インスタンスがシャットダウンされ、ディスクの画像が取得されて、再度起動されます。次に、そのイメージを通常のディスクスナップショットではなくAMIとして保存します。基本的には、ボリュームのブート可能なスナップショットです。

151
Caleb

簡単にしましょう。既存のインスタンス(たとえばinstance#1からAMIテンプレートを作成します。AMIテンプレートを作成すると、ボリュームのスナップショットも作成されます。スナップショットセクションを確認してください。新しいインスタンスを作成する場合は、新しく作成したものを選択しますAMIテンプレートは、AMIテンプレートの作成時にスナップショットを選択します。

これで、インスタンス#1のボリュームからスナップショットを作成している場合は問題ありません。 AMIテンプレートから新しいインスタンスを作成し、そのインスタンス用に自動的に作成されたボリュームをデタッチし、スナップショットから作成されたボリュームをinstance#1のボリュームからアタッチします。

9
Goldwynn T

要約すると:

  • [〜#〜] ebs [〜#〜] = AWSサービス自体

  • EBSボリューム = EC2インスタンスに接続できるハードドライブのようなものと考えてください

  • スナップショット =ボリュームの特定の時点のコピー

  • [〜#〜] ami [〜#〜] =完全なインスタンスのコピー

  • EC2 =実行するサービスVM compute
2
TH22

上記の説明に加えて、ここではこれらすべてを明確にする例を示します。

「EC2インスタンスI1」に2つのEBSボリュームが接続されているとしましょう-EBSボリュームV1aとEBSボリュームV1b。

EC2インスタンスI1からAMIイメージを作成すると、次のようになります-

a。 EC2インスタンスI1のAMIイメージをAMI1と呼びましょう

b。 EBS Volume V1aのスナップショット、S1としましょう

c。 EBSボリュームV1bのスナップショット、S2としましょう

次に、AMI1イメージから新しいインスタンスを起動すると、次のようになります-

a。新しいEC2インスタンス、それをI2と呼びましょう

b。スナップショットS1から生成された新しいEBSボリュームをV2aとしましょう

c。スナップショットS2から生成された新しいEBSボリューム。V2bとしましょう

要約すると-

  1. AMIイメージは、元のインスタンス(AMIの作成元)に接続されているボリュームのスナップショットを作成します

  2. AMIイメージから起動された新しいインスタンスは、そのAMIにアタッチされたスナップショットからボリュームを作成します。

http://zilhaz.com/ebs-AMI-aws-ec2/ で詳細に説明しました

0
zilhaz