Joaquin Diez’s Weblog

Small notes…thoughts… etc..

Crear un AMI usando uno ya existente

Una forma muy comoda de crear nuevos AMIs en Amazon Ec2 es usar uno ya existente que te guste, modificarlo y configurarlo segun necesites. De esta forma puede ser probado bien y una vez te sientas cómodo con las modificaciones entonces convertir esa configuracion en un AMI nuevo que poder utilizar para tus proyectos.

Para poder hacer esto hay que seguir los siguientes pasos

PreRequisitos, esto lo he probado en un Ubuntu 9.04

  • iniciar una instancia usando el ami que desees en mi caso (ami-6686ae12 es un ami desplegado en la version Amazon Ec2 Europa)
  • instalar Java y definido JAVA_HOME

Instalar las utilidades  de Amazon


#!/bin/bash
apt-get update
apt-get install ruby rubygems libopenssl-ruby debootstrap dpkg rar unrar zip unzip
RDIR="`pwd`"
PREDIR=$RDIR/preproduccion
rm -d -f -r soft
mkdir soft
cd soft
wget http://s3.amazonaws.com/ec2-downloads/ec2-ami-tools.zip
wget http://s3.amazonaws.com/ec2-downloads/ec2-api-tools.zip
unzip ec2-ami-tools.zip
cd ec2-ami*
export EC2_AMITOOL_HOME="`pwd`"
cd ..
unzip ec2-api-tools.zip
cd ec2-api*
export EC2_HOME="`pwd`"
cd ..
cd ..
export PATH=$PATH:$EC2_HOME/bin:$EC2_AMITOOL_HOME/bin
export EC2_CERT={localizacion certificado Ec2}
export EC2_PRIVATE_KEY={localizacion private_key}
export EC2_USER_ID={user_id ec2}
export AWS_ACCESS_KEY={aws access key}
export AWS_SECRET_KEY={aws_secret_key}
export RUBYLIB=$RUBYLIB:/usr/lib/site_ruby/

Modificar he instalar en la imagen los paqueres que se consideren necesario…

por ejemplo apache2, openvpn, mysql.. lo que se quiera..

Crear el ami ejecutando las siguentes lineas

ec2-bundle-vol -r i386 -d /mnt -p {prefijo ficheros ami} -u $EC2_USER_ID -k $EC2_PRIVATE_KEY -c $EC2_CERT -s 10240 -e /mnt,/tmp,/root/.ssh,/mnt/ebs0
ec2-upload-bundle -b {nombre bucket S3} -m /mnt/{prefijo ficheros ami}.manifest.xml -a $AWS_ACCESS_KEY -s $AWS_SECRET_KEY --location EU
ec2-register --region eu-west-1 {nombre bucket S3}/{prefijo ficheros ami}.manifest.xml

agosto 12, 2009 - Posted by | Cloud Computing, ec2, linux, Uncategorized | , , , , ,

2 comentarios »

  1. Joaquin…

    ¿ Como podria crear un AMI con un nuevo kernel ? Es que necesito unas opciones especiales de compilacion del nucleo… ¿ no puedo crearme un AMI en mi propia maquina, probarlo, y luego subirlo a amazon para ponerlo ya disponible?

    Comentarios por Andres | abril 6, 2010 | Responder

    • Hola Andres

      Claro que puedes crearla en tu maquina…instala la imagen de linux como bootstrap.. y luego la subes.. lo de probarla mas complicado..

      echa un vistazo en http://elastic.com creo que tienen un script para crear las imagenes en local…

      no se que necesidades especiales tienes.. pero echa un vistazo a lo que ya hay publico… tal vez te sirva alguna de las imagenes ya existentes.

      Un saludo

      Comentarios por Joaquin Diez | abril 6, 2010 | Responder


Deja un comentario