HVMなVyatta Core AMIを作ってみた(EBS編)
cc2.8xlargeでVyattaを動かしてみたくなったので、Virtualization TypeがHVMなAMIを作成してみた。
※出来たAMIのIDは下記参照
ap-northeast-1 ami-cfe17bce ap-southeast-1 ami-20095c72 ap-southeast-2 ami-95b824af eu-west-1 ami-e7a24190 sa-east-1 ami-b7bf19aa us-east-1 ami-9981def0 us-west-1 ami-f6a592b3 us-west-2 ami-90d048a0
用意するもの
イメージファイルの作成
今回は完全仮想化(HVM)用なので、ブートローダーなども必要となります。そのため、/dev/sdb などディスク全体のイメージを作ります。
vm$ sudo dd if=/dev/sdb of=vyatta.bin
ファイルは作業用インスタンスにscpコマンド等でコピーしておきます。
EBSへの流し込み〜snapshot作成
作業用インスタンス上で、イメージファイルをEBSに流し込みます
# dd if=vyatta.bin of=/dev/sdf
そして、AWS CLIが使える環境で、volumeを指定してsnapshotを作成します。
$ aws ec2 create-snapshot --volume-id vol-14812642 None 407613804811 None snap-eca8fac9 2013-10-26T12:09:25+0000 pending vol-14812642 1
AMI登録
今回のキモです。HVMなAMIを登録するには、AWS CLIが必須となります。
$ cat blockdevice.json [ {"DeviceName":"/dev/xvda","Ebs":{"VolumeType":"standard","DeleteOnTermination":true,"VolumeSize":1,"SnapshotId":"snap-eca8fac9"}}, {"DeviceName":"/dev/sdb","VirtualName": "ephemeral0"}, {"DeviceName":"/dev/sdc","VirtualName": "ephemeral1"}, {"DeviceName":"/dev/sdd","VirtualName": "ephemeral2"}, {"DeviceName":"/dev/sde","VirtualName": "ephemeral3"} ] $ aws ec2 register-image --root-device-name /dev/xvda --name "Vyatta Core 6.6 HVM rev0" --block-device-mappings file://blockdevice.json --virtualization-type hvm --architecture x86_64 --description '*experimental release* no keypair support, login with vyatta/vyatta'
早速起動してみましょう。
$ aws ec2 run-instances --image-id ami-cfe17bce --instance-type cc2.8xlarge : : $ ssh vyatta@ec2-xx-xxx-xx-xx.ap-northeast-1.compute.amazonaws.com Warning: Permanently added 'ec2-xx-xxx-xx-xx.ap-northeast-1.compute.amazonaws.com,xx.xxx.xx.xx' (RSA) to the list of known hosts. Welcome to Vyatta vyatta@ec2-xx-xxx-xx-xx.ap-northeast-1.compute.amazonaws.com's password: Linux vyatta 3.3.8-1-amd64-vyatta #1 SMP Wed Mar 13 10:35:28 PDT 2013 x86_64 Welcome to Vyatta. This system is open-source software. The exact distribution terms for each module comprising the full system are described in the individual files in /usr/share/doc/*/copyright. Last login: Sat Oct 26 05:25:08 2013 vyatta@vyatta:~$ grep Xeon /proc/cpuinfo | uniq -c 32 model name : Intel(R) Xeon(R) CPU E5-2670 0 @ 2.60GHz
ちゃんと上がりました。pvと比べるとgrubの設定をいじる必要がないので、ある意味作りやすいですね...
最後に
Instance Store編はまたの機会に。