Step3 カスタムAMIを保存

 Step2までで,実際に稼働するアプリケーションが完成した。だが,ここで気を抜いてはならない。この状態でEC2に障害が起こったり,Linux仮想マシンを停止(「Terminate」コマンド)したりしてしまうと,AMIに加えた変更はきれいさっぱり消えてしまうからだ(図4)。仮想マシン内のストレージに対する変更を保持するには,OSの再起動に留める必要がある。

図4●EC2とストレージ・サービス「Amazon S3」の関係
図4●EC2とストレージ・サービス「Amazon S3」の関係
EC2は計算資源の提供に特化しているため,仮想マシンを解放するとストレージの更新内容が失われる(OSの再起動では状態を保持する)。このため今のところは,Amazon S3など外部のオンライン・ストレージを必要に応じて併用する必要がある。データベースなど恒常的な記憶領域が必要な場合は,仮想マシンにマウントできる仮想ハードディスク「EBS」を組み合わせる。

 Amazonはこの仕様を補うものとして「Amazon EBS(Elastic Block Store)」というオプション・サービスを用意している。EBSは仮想ハードディスクと呼べるストレージ・サービス。「/dev/sdh」といったデバイス名を指定したうえでLinux仮想マシンから任意のディレクトリにマウントして利用する。管理ツールにElasticfoxを使う場合,「Volumes and Snapshots」タブでボリュームやスナップショットによるバックアップを作成できる。

 ただ,EBSはあくまで増設ドライブで,起動ドライブにはなれない。カスタマイズした仮想マシンの状態がなるべく失われないようにするには,EBSとストレージ・サービスの「AmazonS3(Simple Storage Service)」を併用する必要がある。