AWS

AMIとスナップショットの違いについて調べた

More than 1 year has passed since last update.

日頃あまり意識していなかったのですが、AMIとスナップショットの違いについて調べました。


当初の理解


  • スナップショットは特定のEC2のデータを 全て どこかにコピーしたもの

  • AMIはEC2インスタンスを作る時に選択できるOSイメージ


疑問


  1. スナップショットが特定のEC2のデータを 全て 含むものだとしたら、スナップショットメニューからAMIを作成する際に何故カーネルIDを指定する必要があるのか

 以下スナップショットからAMIを作る際の入力項目です。

スクリーンショット 2016-12-03 21.40.12.png


  1. EC2インスタンスからAMIを作成する場合と、スナップショットからAMIを作る場合で入力しなければいけない項目に違いがあるのは何故か

 以下EC2のインスタンスからAMIを作る際の入力項目です。

スクリーンショット 2016-12-03 21.42.18.png


  1. スナップショットからAMIを作ると、スナップショットが消せないのは何故か

 以下消せない時のエラーです。

スクリーンショット 2016-12-04 10.10.35.png


調べてみた

AMI = インスタンスを構成するメタデータ + スナップショット

スナップショット = (ルートデバイスストレージのデータ + ユーザデータ)を、S3にバックアップしたもの


結論



  1. スナップショットが特定のEC2のデータを 全て 含むものだとしたら、スナップショットメニューからAMIを作成する際に何故カーネルIDを指定する必要があるのか


    • スナップショットには「インスタンスを構成するメタデータ」が含まれていないため、EC2インスタンスのデータを 全て 含むわけではない




  2. EC2インスタンスからAMIを作成する場合と、スナップショットからAMIを作る場合で入力しなければいけない項目に違いがあるのは何故か


    • スナップショットには「インスタンスを構成するメタデータ」が含まれていないため。




  3. スナップショットからAMIを作ると、スナップショットが消せないのは何故か


    • AMIはスナップショットに依存するため。




さらなる疑問


  1. 何故スナップショットにメタデータが含まれないのか

  2. メタデータってどんな情報か

  3. スナップショットからAMIを作成する時にカーネルIDを指定できるようにしている理由

  4. スナップショットはS3にバックアップするということだが、どのバケットにあるのか

このあたりは別の機会に調べてみようかと思います。