Root Deviceを「instance-store」から「ebs」に変更する優しい方法

二日連続で調子のってブログ更新します。
以前題名の通りにツイッターで質問したところ
忍者がブログで解決してくれましたw。

Instance StoreタイプのインスタンスからEBS backed AMIを作ってみた

実際やってみたらできました(*^_^*)。

でも・・・
でも・・・
でも・・・

ちこっとめんどくさかったんですよw。

なんか楽な方法ないかな〜と考えていたら・・・
ふと思ったのが・・・Elasticfox使ったら楽じゃない?
Elasticfoxのダウンロード先
※0.2.8以降をインストールしてください。

何が楽かって・・・APIコマンド叩かなくていい。
ec2-registerというスナップショットを指定してAMI化がGUIでできるので、かなり楽ですね。

なので実際やってみました。

sda1と同容量のEBSボリュームを作成しattachします。(例:/dev/sdg等・・・)

attach後、パーティションしてファイルシステムを作成します。


fdisk /dev/sdg
mke2fs -j /dev/sdg1

ファイルシステム作成後、fstabのmntを外します。


/dev/sda1 / ext3 defaults 1 1
/dev/sdb /mnt ext3 defaults 1 2 ←行ごと削除
/dev/sda3 swap swap defaults 0 0
/dev/sdk1 /userdata ext3 grpquota 0 0
none /dev/pts devpts gid=5,mode=620 0 0
none /dev/shm tmpfs defaults 0 0
none /proc proc defaults 0 0
none /sys sysfs defaults 0 0

fstab編集後、以下のコマンドを実施


dd if=/dev/sda1 of=/dev/sdg
20971520+0 records in
20971520+0 records out
10737418240 bytes (11 GB) copied, 1199.73 seconds, 8.9 MB/s
内容をコピー。終わったのを確認したら、Elasticfoxを起動

環境設定



attachしたEBSボリュームのスナップショットを作成する


※対象ボリュームを右クリックし「Create new snapshot from this volume」
そーするとスナップショットが作成されるので作成されたスナップショットを右クリックし「Registaer AMI from snapshot」
Root DeviceがebsタイプのAMIが登録されます。

あとはAMIからインスタンスを起動すると、以前「instance-store」で起動していたインスタンスが「ebs」に変更されて起動されるはずです。

起動しない場合

systemlogなどを見て、なぜ起動しないか調べる。
AKIやARIを指定しないとちゃんと動かない事もあるので、AMIのパラメータをよく確認してください。