Make ami public
ec2-modify-image-attribute ami-XXXXXXX --launch-permission -a all
Create Volume
ec2-create-volume -s 1000 -z us-east-1a # VOLUME vol-836fcbea 1000 us-east-1a creating 2010-03-22T13:29:40+0000
Attach volume
ec2-attach-volume vol-1bda3f72 -i i-c44992ad -d /dev/sdh
# small images 32bits, large and extra large use 64 bits
Instance types: m1.small, m1.large, m1.xlarge
ec2-describe-images -o self -o amazon ec2-add-keypair gsg-keypair chmod 600 id_rsa-gsg-keypair ; ls -l id_rsa-gsg-keypair
Run instance
# ami-25b6534c ec2-public-images/fedora-core4-apache-mysql.manifest.xml ec2-run-instances ami-25b6534c -k gsg-keypair ec2-describe-instances i-xxxxxx
Net access
ec2-authorize default -p 22 ec2-authorize default -p 80 # sysadmin IP ec2-authorize default -p 0-65535 -s 1.0.1.1/32 ssh -i id_rsa-gsg-keypair root@domU-12-34-31-00-00-05.usma1.compute.amazonaws.com
Terminate image
ec2-terminate-instances i-xxxxxx or run /sbin/shutdown -h now on the server
Modify image, copy certificate to server
scp -i id_rsa-gsg-keypair pk-HKZYKT3HXV4ZBZQ55CLO.pem \
cert-HKZYKT3HXV4ZBZQ55CLO.pem \
root@domU-12-34-31-00-00-05.usma1.compute.amazonaws.com
And create new image
ec2-bundle-vol -d /mnt -k ~root/pk-HKZYKT3HXV4ZBZQ55CLO.pem \
-c cert-HKZYKT3HXV4ZBZQ55CLO.pem -u <account_id> -s 1536
Upload it to S3
ec2-upload-bundle -b <your-s3-bucket> -m /mnt/image.manifest.xml \
-a <aws-access-key-id> -s <aws-secret-access-key>
Register image
ec2-register <your-s3-bucket>/image.manifest.xml
# deregister
ec2-deregister ami-5bae4b32
Remove from S3
ec2-delete-bundle -b <your-s3-bucket> -p image -a <aws-access-key-id> -s <aws-secret-access-key>
Get public IP address for the instance
curl http://169.254.169.254/2007-12-15/meta-data/public-ipv4
EU datacenter
ec2-authorize --region eu-west-1 -p 5666 -s 209.62.65.66/32 default