Amazon Linux 準仮想化 (PV) Amazon Machine Image (AMI) を Amazon Elastic Cloud Compute (EC2) で使用しています。Amazon Linux ハードウェア仮想マシン (HVM) AMI に移行する方法を教えてください。

セキュリティ強化、新しい機能、パフォーマンス上のメリットのために、HVM インスタンスに移行することを強く推奨します。PV と HVM AMI の詳細については、「Linux AMI 仮想化タイプ」を参照してください。

セキュリティに関しては、AWS Security Bulletin AWS-2018-013 で説明されているように、CVE-2017-5754 の PV インスタンスのプロセス間の問題に対応する点で、オペレーティングシステムの保護は不十分です。 PV インスタンスは、AWS ハイパーバイザによってインスタンス間の問題については保護されていますが、プロセス隔離に関する懸念 (信頼できないデータの処理、信頼できないコードの実行、または信頼できないユーザーのホスト) を抱く PV インスタンスのユーザーには、長期間のセキュリティ上のメリットを考慮して、HVM インスタンスタイプに移行することを強く推奨します。

PV インスタンスから HVM インスタンスにデータを移行するには、以下の手順のいずれかに従ってください。

  • (強く推奨) PV インスタンスから新しい HVM インスタンスにデータをコピーし、アプリケーションを移動します。
  • PV インスタンスを HVM インスタンスに変換します。

(強く推奨) PV インスタンスから新しい HVM インスタンスにデータをコピーし、アプリケーションを移動する

1.    HVM AMI から新しいインスタンスを起動します

2.    以下のいずれかの方法で、PV インスタンスから新しい HVM インスタンスにデータをコピーします。

3.    HVM AMI にアプリケーションをインストールし、設定します。

PV インスタンスを HVM インスタンスに変換する

PV インスタンスから新しい HVM インスタンスにデータをコピーすることが自分のニーズに適していない場合には、以下の手順に従って、PV インスタンスを HVM インスタンスに変換することができます。

注意: これらは一般的なガイダンスとしてのステップです。設定に応じて、必要であればステップを変更するようにしてください。

1.    PV インスタンスを停止します
注意: このステップはテスト用の PV インスタンスで実行することを推奨します。テスト用のインスタンスを作成するには、まず PV インスタンスのイメージを作成してください。その後に、そのイメージから PV インスタンスを起動します。

2.    PV インスタンスのルートボリュームのスナップショットを作成します。

3.    新しい EBS ボリュームとして、PV インスタンスのルートボリュームのスナップショットを復元します。このボリュームは、PV インスタンスと同じアベイラビリティーゾーンに復元する必要があります。

4.    Amazon Linux HVM AMI から新しいインスタンスを起動します。インスタンスは、PV インスタンスと同じアベイラビリティーゾーンで起動する必要があります。

5.    PV インスタンスのルートスナップショットから復元した EBS ボリュームを選択します。その後、新しい HVM インスタンスに、/dev/xvdf としてボリュームをアタッチします

6.    PV インスタンスのルートスナップショットから復元したボリュームと同じサイズで、 新しい、ブランクの EBS ボリュームを作成します。新しい、ブランクの EBS ボリュームを HVM インスタンスに /dev/xvdg としてアタッチします。
注意: このステップを実行すると、新しい HVM インスタンスには 3 つのボリュームが存在することになります。

7.    新しい HVM インスタンスに SSH を使用して接続します
注意: 次のステップに進むためには、root (ルート) ユーザーの権限を持っている必要があります。

8.    次のコマンドを実行して、ボリュームを表示します。

# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvda 202:0 0 8G 0 disk
└─xvda1 202:1 0 8G 0 part /
xvdf 202:80 0 8G 0 disk
xvdg 202:96 0 8G 0 disk

注意: xvda は HVM インスタンスのルートボリュームです。xvdf は PV インスタンスのルートスナップショットから復元したボリュームです。xvdg は新しい、ブランクのボリュームです。

9.    次のコマンドを実行して、xvdg (新しいボリューム) に新しいパーティションを作成します。

# parted /dev/xvdg --script 'mklabel msdos mkpart primary 1M -1s print quit'
# partprobe /dev/xvdg
# udevadm settle

注意: これらのコマンドにより、xvdg1 が作成されます。

10.   次のコマンドを実行して xvdf (PV のルートボリューム) のサイズをチェックし、オリジナルのファイルシステムのサイズを最小化します。プロセスを速めるために、次のステップでは空きディスクスペースはコピーしません。

# e2fsck -f /dev/xvdf ; resize2fs -M /dev/xvdf

11.   次のコマンドを実行して、xvdf (PV のルートボリューム) を xvdg1 (新しいボリューム) にコピーします。

# dd if=/dev/xvdf of=/dev/xvdg1 bs=$(blockdev --getbsz /dev/xvdf) conv=sparse count=$(dumpe2fs /dev/xvdf | grep "Block count:" | cut -d : -f2 | tr -d "\\ ")

12.   次のコマンドを実行して、xvdg1 (新しいボリューム) を最大サイズまで拡大します。

# e2fsck -f /dev/xvdg1 && resize2fs /dev/xvdg1

13.   次のコマンドを実行して、xvdg1 (新しいボリューム) を HVM インスタンスのルートボリュームに変換する準備をします。

# mount /dev/xvdg1 /mnt/ && mount -o bind /dev/ /mnt/dev && mount -o bind /sys /mnt/sys && mount -o bind /proc /mnt/proc

14.   次のコマンドを実行して、xvdg1 (新しいボリューム) を HVM インスタンスのルートボリュームに変換します。

# chroot /mnt/

15.   次のコマンドを実行して、新しいルートボリュームに grub を再インストールします。

# yum reinstall grub -y
# rm -f /boot/grub/*stage* /boot/grub/device.map
# grub-install /dev/xvdg

16.   "grub-install" コマンドは次のようなメッセージを返します。このメッセージは予期されているものなので、無視して次のステップに進みます。

Probing devices to guess BIOS drives. This may take a long time.
Unknown partition table signature
/dev/xvdg does not have any corresponding BIOS drive.

17.   次のコマンドを実行して、grub の設定を更新します。

# cat <<EOF | grub --batch
device (hd0) /dev/xvdg
root (hd0,0)
setup (hd0)
EOF
# sed -i 's/root\ (hd0)/root (hd0,0)/g' /etc/grub.conf
# sed -i 's/root\ (hd0)/root (hd0,0)/g' /boot/grub/menu.lst
# sed -i 's/console=hvc0/console=ttyS0/g' /etc/grub.conf
# sed -i 's/console=hvc0/console=ttyS0/g' /boot/grub/menu.lst

18.   次のコマンドを実行して、"chroot" の状態を終了します。

# exit

19.   次のコマンドを実行して、インスタンスをシャットダウンします。

# halt

20.   以前のステップで HVM インスタンスにアタッチした 3 つのボリュームをデタッチします

21.   前に /dev/xvdg としてアタッチしていたボリューム (新しいボリューム) を選択します。このボリュームを /dev/xvda として HVM インスタンスに再度アタッチします

22.   HVM インスタンスを開始します。

新しい HVM インスタンスは元の PV インスタンスの正確なコピーになっています。HVM インスタンスが予期していたとおり動作するのを確認したら、オリジナルの PV インスタンスを削除できます。2 つの一時ボリュームも削除できます。HVM インスタンスのオリジナルのルートボリュームと、PV インスタンスのルートスナップショットから復元されたボリュームです。


このページは役に立ちましたか? はい | いいえ

AWS サポートナリッジセンターに戻る

サポートが必要ですか?AWS サポートセンターをご覧ください。

公開日: 2018 年 2 月 19 日