--- wikisrc/amazon_ec2.mdwn 2011/02/19 16:13:13 1.24 +++ wikisrc/amazon_ec2.mdwn 2011/03/03 23:07:49 1.39 @@ -79,7 +79,64 @@ AKI, or *Amazon Kernel Image*, are a spe # Using pre-made AMIs -XXX TODO +The following AMIs are publicly available. You can use them to [start a NetBSD instance](#index11h2) quickly, without needing to build your image by hand. + + + + + + + + + + + + + + + + + + + + + + + + + + +
NetBSD versionus-east-1 (Virginia)us-west-1 (N. California)eu-west-1 (Ireland)ap-southeast-1 (Singapore)ap-northeast-1 (Tokyo)
NetBSD 5.1.0_PATCH + 32 bits:
+ 64 bits: ami-06b4466f +
+ 32 bits:
+ 64 bits: ami-99f7a7dc +
+ 32 bits:
+ 64 bits: ami-cfa296bb +
+ 32 bits:
+ 64 bits: ami-04e49a56 +
+ 32 bits:
+ 64 bits: +
NetBSD-HEAD (5.99.45) + 32 bits:
+ 64 bits: +
+ 32 bits:
+ 64 bits: +
+ 32 bits:
+ 64 bits: +
+ 32 bits:
+ 64 bits: +
+ 32 bits:
+ 64 bits: +
# Build-up your NetBSD system @@ -104,7 +161,7 @@ cd src ./build.sh -O ../obj -T ../tools -D ../dest -R ../release -m amd64 -U distribution ./build.sh -O ../obj -T ../tools -m amd64 kernel=XEN3_DOMU # install distribution in /mnt/ec2 -./build.sh -O ../obj -T ../tools -D ../dest -R ../release -U install=/mnt/ec2 +su root ./build.sh -O ../obj -T ../tools -D ../dest -R ../release -U -V INSTALLSETS="base etc" install=/mnt/ec2 """]] # Configuration of your NetBSD EC2 tree @@ -116,6 +173,7 @@ Under */mnt/ec2*, edit the files to add [[!template id=filecontent name=etc/rc.conf text=""" rc_configured=YES +ec2_init=YES sshd=YES # for remote shell access to instance """]] @@ -126,16 +184,17 @@ PermitRootLogin without-password This file is needed if you want to login via the EC2 SSH key pair created previously: -[[!template id=filecontent name=etc/rc.d/ec2-init text=""" +[[!template id=filecontent name=etc/rc.d/ec2_init text=""" #!/bin/sh # -# PROVIDE: amazon-ec2 +# PROVIDE: ec2_init # REQUIRE: NETWORKING # BEFORE: LOGIN $_rc_subr_loaded . /etc/rc.subr name="ec2_init" +rcvar=${name} start_cmd="ec2_init" stop_cmd=":" @@ -174,7 +233,6 @@ ec2_init() ) } - load_rc_config $name run_rc_command "$1" """]] @@ -196,15 +254,15 @@ ptyfs /dev/pts ptyfs rw procfs /proc procfs rw EOF # EC2 startup script (if you installed it) -if [ -f etc/rc.d/ec2-init ]; then - chmod 755 etc/rc.d/ec2-init +if [ -f etc/rc.d/ec2_init ]; then + chmod 555 etc/rc.d/ec2_init fi """]] You can then proceed to modifying the system living under */mnt/ec2*, so it can fit your needs (adding custom binaries, packages, etc). When done, build the *NetBSD-AMI.img.gz* ffs image, via [[!template id=man name=makefs section=8]], or **nbmakefs**, from the [toolchain](http://www.netbsd.org/docs/guide/en/chap-build.html#chap-build-tools): [[!template id=programlisting text=""" -$ makefs -t ffs -B le -s 256m -N /mnt/ec2/etc/ -o density=32k NetBSD-AMI.img /mnt/ec2/ +$ makefs -t ffs -B le -s 256m -N /mnt/ec2/etc/ -o density=32k /tmp/NetBSD-AMI.img /mnt/ec2/ Calculated size of `NetBSD-AMI.img': 268435456 bytes, 7345 inodes Extent size set to 8192 NetBSD-AMI.img: 256.0MB (524288 sectors) block size 8192, fragment size 1024 @@ -276,7 +334,7 @@ ATTACHMENT vol-24f88d4c i-5babe7 Before we can connect to our brand new instance, we have to allow connections on SSH port (22) through the AWS EC2 firewall: [[!template id=programlisting text=""" -$ ec2-authorize default -p 22 +$ ec2-authorize default -p 22 --region us-east-1 GROUP default PERMISSION default ALLOWS tcp 22 22 FROM CIDR 0.0.0.0/0 """]] @@ -375,7 +433,7 @@ IMAGE ami-74d0231d You can now start your own NetBSD instance, via: [[!template id=programlisting text=""" -$ ec2-run-instances ami-74d0231d -t t1.micro -z us-east-1c +$ ec2-run-instances ami-74d0231d -t t1.micro -z us-east-1c -k $EC2_SSH_KEYNAME RESERVATION r-08218465 983624114127 default INSTANCE i-953d72f9 ami-74d0231d pending 0 t1.micro 2011-02-18T02:05:46+0000 us-east-1c aki-4e7d9527 monitoring-disabled *** Wait a few minutes, micro instances take time to start ***