EC2編~PVインスタンスからHVMインスタンスに移行してみた~

こんにちは、TKです。

今回は仮想化方式の切替についてお話したいと思います。

現在AWSは、HVM方式のインスタンスが出てきたことによって、PV方式よりもメモリが多く、料金が安いので移行したいという方は多いと思います。
今回は、PV方式のインスタンスからHVM方式のインスタンスへの移行について検証を行いました。その際にわかったことについて書きたいと思います。

仮想化方式の違いについて

PV方式は準仮想化で、HVMは全仮想化となっています。基本的にはHVM方式がパフォーマンスは高く、利用料金も安いといった特徴があります。
それでは実際に仮想化方式を変えるにはどのようなことを行うのでしょうか。

PVからHVMへの移行の方法はこの2つのサイトを見て行いました。
http://dev.classmethod.jp/etc/pv2hvm-rb/
http://www.agilegroup.co.jp/technote/t1micro-to-t2micro-migration.html

検証した結果としましては
・EBSボリュームの内容が一部違うのでPVからHVMに切り替えられない。
・PVとHVM両方に対応しているインスタンスでも切り替えることはできない。
ということでした。
つまり現状では変換を行わないと方式は切り替えられないようです。

手動変換とツール変換について

手動で行う方法の場合は変換したいインスタンスのボリュームを複製し、作業用のインスタンスで変換を行い、出力を別のボリュームに出力します。
変換された内容のボリュームからスナップショットを作成し、スナップショットからHVM方式のAMIイメージを作成することで変換が完了します。
Instance change1

もう一方のツールを使う方法ですが、こちらは変換したいインスタンスのAMIイメージを作成し、変換ツールをインストールしたEC2インスタンスで変換することでHVM方式のインスタンスを作成します。
Instance change2

前者の方法ですが変換したいインスタンス1つにつき、変換コピー用ボリューム、変換後出力用ボリュームが必要となり、ボリュームの大きさによってはそれなりの料金がかかる可能性があります。
それに対して後者の方法は作成したAMIを変換するだけなので、手間もコストも前者よりかからない方法と言えます。

変換の必要性について

おまけとして、変換を行わずPVからHVMに切り替えるとどうなるかということを説明します。

PVインスタンスから直接AMIイメージを取るときは指定できないのですが、スナップショットからAMIイメージを作る場合は指定することができてしまいます。
Instance change3

実際にスナップショットからAMIイメージを作成して見ます。
Instance change4

Instance change5

スナップショットからAMIを作成する部分ですがHVM方式が選択できます。
Instance change6

AMIイメージを確認すると仮想化方式がHVMとなっているのが確認できます。
Instance change7

LanchしてみるとHVMインスタンスを選択できるようになっています。
Instance change8

そのまま設定してみると作ったインスタンスが立ち上がります。
もしかしていけるんじゃないか・・・・・・?と思った瞬間
Instance change9

止まってしまいました…。

やはり切り替えればそのまま使えるといった都合のいい話はないようです。
PV、HVMどちらでもできるインスタンスでもこの方法で切り替えるといったことはできませんでした。
移行する場合は上記のしっかりとした手順で変換を行いましょう。

いかがでしたでしょうか?
インスタンス変換の方法と変換する必要性を今回検証してみました。

次回はストレージゲートウェイについて検証していきたいと思います。
お楽しみに!

この記事を書いた人

aws-recipe-user