前提

前回からの続きで、今回は作成したEC2インスタンスのスナップショットを取得して
そこからAMIを作成、インスタンスをリストアするところまでやってみました。
手順的には省いてますが対象インスタンスが起動中の場合は、
一応停止してからの方がよいと思います。

手順

  • ebsボリューム情報を確認する

    ec2-describe-volumes
    # SYNOPSIS: ec2dvol
    
  • スナップショットを作成する

    # -d : スナップショットの概要
    # 上で確認したvolume idを設定
    ec2-create-snapshot -d 'snapshot test' $volumeid
    
  • 作成したスナップショットからAMIを作成する

    # -n : amiの名前
    # -d : amiの概要
    # --root-device-name : インスタンスのルートデバイス
    # -b ルートデバイスと対応するsnapshotのid
    # -a : アーキテクチャ
    # --kernel : 元インスタンスのkernelID(ec2-describe-instancesで確認)
    ec2-register -n test_ami -d 'test ami' --root-device-name /dev/sda -b /dev/sda=$snapshotoid -a x86_64 --kernel aki-44992845
    
  • 作成したAMIからインスタンスを作成、起動する

    ec2-run-instances $amiid --group first_group --key django_aws --instance-count 1 --instance-type m1.small --availability-zone ap-northeast-1a --instance-initiated-shutdown-behavior stop
    

まとめ

これで作成したスナップショット時点にいつでも戻れるようになりました。
何かの検証作業する時とか、すぐにやり直しが出来るようになるので便利です。
次回もec2 api tools使ってインスタンスタイプの変更をやってみる予定です。