aws memo

AWS関連の備忘録 (※本ブログの内容は個人的見解であり、所属組織及び企業の意見を代弁するものではありません。1年以上古いエントリは疑ってかかってください)

EC2: CC2用Scientific Linux6.2のAMIを作成する

cc1, cc2, cg1 といったクラスタコンピュートインスタンス( Culster Compute) 用のLinux AMIは、その他のインスタンスタイプ用の準仮想化(Para-Virtualization, PV) AMIではなく、完全仮想化(HVM) AMIとなっており、そのままでは使えない。

フォーラムにCentOS6.x のPV用AMIを、HVM用AMIに変換する手順が載っていた。

AWS Developer Forums: CentOS 6.* PV/HVM AMI how-to ...

ちなみに、AWS公式ではないが、Scientific Linux6.2のPV用AMIが公開されている。

AMI: Scientific Linux 6.2 x86_64

では、このAMIを、HVM用に変換して自分用のHVM Scientific Linux6.2 AMIを作ってみる。(すべての情報ソースが非公式なので、あくまでも自己責任で!

以下、手順

===

US-EASTで上記SL6.2 AMIから t1.microを起動し、起動完了後すぐにstop、ついているboot用EBSボリュームをdetachする。以後、このインスタンスを SL-PVと呼ぶ

US-EASTでクラスタコンピュート用Amazon Linux AMIを使ってCC2を起動。(注:上記t1.microと同じゾーンを指定すること)。以後、このインスタンスをAL-HVMと呼ぶ。

SL-PVからdetachしたEBSボリュームを、AL-HVMの /dev/sdfにattach

AL-HVM内で以下の作業を行う

$ sudo su -
# mkdir /mnt/sl6
# mount /dev/sdf1 /mnt/sl6
# mount -o bind /dev/ /mnt/sl6/dev
# chroot /mnt/sl6
# grub
grub> root (hd1,0)
grub> setup (hd1)
grub> quit
# vi /etc/grub.conf
# cat /etc/grub.conf
default=0
timeout=5
splashimage=(hd0,0)/boot/grub/splash.xpm.gz
hiddenmenu
title Scientific Linux (2.6.32-279.5.1.el6.x86_64)
        root (hd0,0)
        kernel /boot/vmlinuz-2.6.32-279.5.1.el6.x86_64 ro root=LABEL=/ LANG=en_US.UTF-8 console=ttyS0  KEYTABLE=us crashkernel=auto
        initrd /boot/initramfs-2.6.32-279.5.1.el6.x86_64.img
# vi /etc/fstab
# cat /etc/fstab
LABEL=/                 /                       ext4    defaults,relatime 1 1
tmpfs                   /dev/shm                tmpfs   defaults        0 0
devpts                  /dev/pts                devpts  gid=5,mode=620  0 0
sysfs                   /sys                    sysfs   defaults        0 0
proc                    /proc                   proc    defaults        0 0

AL-HVMをstop

AL-HVMにattachされている /dev/sda1 のボリューム( ボリューム1)と /dev/sdf のボリューム(ボリューム2)をdetach

AL-HVMに、 ボリューム2を /dev/sda1 にattach

AL-HVMをstart

無事に起動すれば、HVMなScientific Linuxとして AL-HVMインスタンスが起動する。

ec2-userでsshログインして自分用のAMIを作成するための準備をする

# rm ~/.ssh/authorized-keys
# history -c
# exit
$ rm ~/.ssh/authorized-keys
$ sudo rm -rf /var/log/*
$ history -c

 AMIを作成後、作成したAMIで新たにCC2が起動することを確認する。