Issei.M's Techlog

Web/iOS エンジニアの僕が技術関連のメモ等をつらつらと。主に Symfony について書いています。

[AWS] Root Device が ebs の EC2 から無停止で AMI を生成する

通常 Root Device が ebs の EC2 から AMI イメージを生成する際、インスタンスを一時停止する必要がありますが(自動で停止します)実は無停止で生成する方法も存在するので今回はその手順をご紹介します。

※今回はRightImage_CentOS_6.4_x64_v13.5.0.2_EBS (ami-0f2bbc0e)から作った EC2 をベースとします。

インスタンス情報の確認

まずは管理コンソールの Instances からインスタンスの情報を確認をします。

f:id:issei_m:20130826125148p:plain

Kernel IDRoot Device の値は後で使うので控えておいて下さい。

スナップショットの撮影

次に Volumes を開き、インスタンスのルートデバイスとなっているボリューム(例では sda に接続されている)を選択し、右クリックのメニューから「Create Snapshot」を実行します。

f:id:issei_m:20130826125805p:plain

イメージの作成

次に Snapshots を開き、先ほどのスナップショットを確認します。Progress が available (100%) になったら右クリックのメニューから「Create Image from Snapshot」を実行します。

f:id:issei_m:20130826130039p:plain

AMI 作成のダイアログが表示されます。
Name は適当に入力して下さい。Architecture は 64bit の CentOS を使用しているのでx86_64を、 Root Device NameKernel ID には先ほど控えた値を入力します。(※ Root Device がsdaの場合は/dev/sdaと入力します。)

続いて画面中部のタブから「Instance Store Volumes」を選択し、Instance Store, Device 共にデフォルト(今回は 0sdb) のまま「Add」 ボタンを押します。

f:id:issei_m:20130826130952p:plain

すべて完了したら設定をよく確認し、問題がなければ「Yes, Create」を押します。
(※ Ephemeral Disk を追加していないとインスタンスが正しく起動しないので注意。)

AMI を確認する

AMIs から AMI を確認します。Status が available になっていれば準備完了。

f:id:issei_m:20130826131134p:plain

後はここから EC2 を起動するだけです。
尚、今回の作業は全て API Tools からも行えるはずなので自動化も可能です。