CreateImageとAMIとスナップショット

  • Post author:
  • Post category:aws

Screenshot 2015-01-24 at 14.16.47
CreateImageしたら、なんでAMIとスナップショットできるの?と思っていたため調べてみた

AMIとは

インスタンスの起動に必要な情報が記載されている
ソフトウェア構成(オペレーティングシステム、アプリケーションなど)を記録したテンプレート
簡単に言うと、Name、CPUアーキテクチャ(i386/x86_64)、何GBのHDDをなんというデバイス名でつなげておくか」といった設定情報が記録されている

スナップショットとは

EBS ボリュームそのものからデータのコピーを取得し S3 上に保管したもの
スナップショットの中のデータを利用する場合には、基本的にそのスナップショットを元に EBS ボリュームを作成することになる

CreateImage=CreateSnapshot+CreateAmi

既存のInstanceと同じAMIを作りたい場合は、まずルートボリュームのSnapshotを取り
そのSnapshotをルートデバイスに紐付けたAMIを作るという手順となる
CreateImage はその決まりきった手順を一発で簡単に実施できる
もしCreateSnapshotとCreateAmiをわけて実施する場合、柔軟なバックアップや起動構成を自分で設定できるというメリットがある

絵にするとこんなイメージ

Screenshot 2015-01-24 at 14.45.20

スナップショットからImageを作成することも可能

Screenshot 2015-01-24 at 15.09.03
Screenshot 2015-01-24 at 15.09.53
ただしデメリットもある
・アーキテクチャやカーネルの選択を誤ると正しく起動してこなかったり、動作が不安定な AMI が出来る可能性がある
・有償の AMI (例: WindowsのAMI) などの場合、スナップショットから AMI を作成しても必要な管理情報が抜け落ちてしまい、うまく起動できないことがある

参考URL

AWSで下記の4つの概念の関係を明確に教えていただけないでしょうか?
http://q.hatena.ne.jp/1369319236
AWSトレーニングでよくいただくご質問シリーズ – 第一回 Amazon Machine Image (AMI) とスナップショットの違い
http://aws.typepad.com/sajp/2014/04/trainingfaqbest10.html