Ha pasado un año desde que me dí de alta en Amazon y a los pocos minutos lo cancelaba todo por parecerme demasiado complicado. Durante el último año he pasado unas cuantas horas gestionando (de aquella manera) servidores dedicados, y he aprendido que hacerlo bien sí es complicado, pero al mismo tiempo le he perdido un poco el miedo, lo que ha ocasionado que en un ataque de prepotencia pensase que tal vez ahora todo me parecería más fácil, y vaya si lo ha sido. Tanto que ahora casi me avergüenzo de no haber conseguido seguir adelante aquella vez. Para los que aún no lo sepan, Amazon Web Services o AWS es un conjunto de plataformas dedicadas a alquilar los data centers de Amazon a desarrolladores por medio de una política en la que pagas según usas. Al mismo tiempo el objetivo es el de poder acceder por un bajo coste a la nube y disponer de recursos suficientes como para mantener servicios web cuya demanda pueda llegar a comprometer hasta el hosting más chulo. Amazon Elastic Compute Cloud (EC2), Amazon Simple Storage Service (S3), Amazon CloudFront, Amazon SimpleDB y Amazon Simple Queue Service (Amazon SQS) son las piezas de este puzzle, y aquí voy tratar de explicar los pasos que he dado para contratar y empezar a usar EC2, que no es más que un servicio escalable en cuanto a capacidad en el que ejecutas una o varias máquinas virtuales (Amazon Machine Instance o AMI) según necesites.
1. Darse de alta
Que duda cabe que el primer paso es registrarse por medio del formulario de Amazon, donde además indicaremos nuestro número de VISA y dirección de facturación. Tras esto y en unos segundos han llegado tres mails en los que se me daba la bienvenida y me facilitaba un link a una página con información sobre mis claves (access key ID, clave de acceso secreta y un certificado X.509, que aún no entiendo bien para qué lo necesito pero que parece muy pero que muy importante). En el siguiente mail un nuevo link, esta vez a una página que permite visualizar el estado de mis cuentas, cuanto estoy consumiendo y por lo tanto cuanto voy a tener que pagar al finalizar el mes.
2. Acceder a la consola de administración (AWS Management Console)
Entrando en http://aws.amazon.com y clicando sobre "Your Accout >> AWS Management Console >> Go to Amazon EC2 Console >>" se accede al espacio desde donde se controla todo.
3. Crear el primer servidor virtual
Los servidores virtuales son conocidos aquí como instancias de Amazon EC2. Creamos nuestra primera instancia pulsando sobre "Launch Instances" Se puede instalar una instancia con imágenes (AMI) propias, creadas por la comunidad o proporcionadas por Amazon. He tirado por la vía fácil y seleccionado una de Amazon llamada "LAMP Web Starter", y que está compuesta de: Fedora Core 8, 32-bit architecture, PHP 5.0.4, Apache 2.0.54, and MySQL 4.1.20. Antes de proceder con la instalación pide que se indique una nueva clave, y que descargue el par de clave publica/privada. Nunca antes había reunido tantas claves para un mismo servicio.
4. Configurar el Firewall
En el siguiente paso se define la configuración del Firewall indicando un nombre para el grupo de seguridad, una descripción del mismo y los puertos a dejar abiertos. Inicialmente son tres los que vienen marcados (SSH, HTTP y MySQL). Dejo todos ellos habilitados, ya que al menos a mi se me presentan como indispensables.
5. Lanzar la máquina virtual
Indicando el número de instancias que se quiere de ella (en mi caso con saber hacer funcionar una de momento me vale), el tipo de máquina (Small o High-CPU medium) la clave a usar y los grupos de seguridad permitidos. No tengo claro si es importante seleccionar ambos grupos de seguridad (el que he definido y el que viene como "default") o si es mejor usar solo uno de ellos, pero algo me dice que lo sabré justo después de que me pase algo muy malo.
6. Fin de la instalación de la máquina virtual
Tal y como muestra la siguiente pantalla ya está lista la primera máquina virtual.
7. De vuelta a la consola de administración (AWS Management Console)
Tras una breve celebración, acudo al panel de administración y puedo apreciar la nueva instancia, que ya se encuentra activa. Clicando sobre ella puede verse información detallada, donde se indica entre otras cosas la DNS Pública, que servirá para conectar tanto desde el navegador como por SSH.
8. Accediendo al servidor vía SSH
Hay que abrir un cliente de SSH (PuTTY, terminal...). Si se va a usar PuTTY antes hay que convertir la clave con PuTTYgen (http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html) que se ha generado en el paso 4 para poderla usar aquí. Una vez convertido y obtenido el archivo en formato .ppk abrimos PuTTY y en el apartado "SSH >> AUTH" se carga. En la pestaña "Session" se indica el campo Host Name la DNS pública que hablábamos y a conectar, como root. Si la conexión se hace por terminal, así:
ssh -i archivoclave.pem root@dnspublica
Una vez dentro podemos acceder al index.php, que se encuentra en el path /home/webuser/helloworld/htdocs/ Listos. A partir de aquí terminar de configurar y personalizar el servidor y a empezar con las primeras pruebas. ¿Cómo? ¿Qué me falta una captura? ah sí, ahí va... Ya veis, con la fácil que es y me he tirado un año pensándomelo.
11-02-2009
$sshfs -o IdentityFile=pathtoPEM root@remotehost:/ /localFolder
Donde "pathtoPEM" es la ruta al archivo PEM, "remotehost" la IP o la DNS que asigna Amazon a la instancia EC2 y "localfolder" la carpeta local donde montaremos la unidad.
He buscado ayuda en muchas páginas pero no hay manera. Creo que voy a abandonar.
¿Me puedes echar una mano? gracias
Ánimo, que has llegado hasta el último paso!
http://www.amidaweb.com/
http://www.bandin.info/2012/04/manual-de-uso-de-amazon-ec2-creando-maquina-virtuales-gratis
Saludos
Estoy desarrollando una web en php y quisiera publicar los productos de mi web a través del API de amazon para php... mi pregunta es: hay que hacer todos estos pasos que se explican acá o solo solo con el API se pueden publicar los productos?
Si pudieran darme un ejemplo se los agradecería
saludos