Uno de los grandes “problemas” que tiene EC2 de Amazon, es que sus unidades de almacenamiento no son persistentes. Esto quiere decir que en cuanto apaguemos nuestra(s) instancia(s), todos los datos almacenados se volatilizarán.
La primera solución que se nos puede venir a la cabeza, podría ser apoyarnos en el servicio S3 para ir haciendo backup de nuestros datos continuamente y así, al apagar nuestra instancia, podríamos recuperar todos nuestros datos. Por supesto, esta solución es poco fiable si nuestros datos varían continuamente (como una Base de Datos), ya que si apagamos nuestra instancia o esta falla en el lapso de tiempo entra backup y backup, seguiríamos perdiendo los últimos cambios.

Afortunadamente, Amazon lanzó EBS (Elastic Block Store), un servicio de almacenamiento persistente que nos permite montar un volumen de datos como unidad de almacenamiento sobre EC2.

Vamos a ver cómo aprovechar EBS para configurar una máquina en EC2 como servidor MySQL con almacenamiento persistente.

Continue Reading →

En el anterior post explicaba los primeros pasos EC2 donde explicaba todo el proceso desde que nos creamos una cuenta AWS para EC2 , hasta que teníamos nuestra instancia levantada y con con acceso ssh.

En esta nueva entrega, voy a contar los pasos a seguir para crear nuestro propio AMI a partir de la instancia que hayamos levantado, y almacenarla en nuestra cuenta de S3 para posteriormente lanzar nuevas instancias con ella.

¿Por qué me interesa crearme un AMI?

Lo primero de todo es entender por qué nos interesa crearnos un AMI y no utilizar AMIs ya generadas.
Una de las características de EC2, es que la única manera de levantar una instancia es a partir de un AMI. Esto quiere decir que si apagamos nuestra instancia o, por algún problema en Amazon, se apagara accidentalmente (a mí en dos años nunca me ha pasado, pero nunca se sabe…), o necesitamos de una instancia adicional para multiplicar nuestra capacidad de procesamiento, la única manera de levantarla es volviendo a utilizar un AMI.
Como es más que probale, las necesidades de nuestra aplicación requerirá que la instancia esté provista de determinado software o configuración, diferente a la que nos ofrece un sistema base. Por eso, tanto por seguridad (backup) como por escalabilidad, es imprescindible generar nuestra propia AMI.

Continue Reading →

EC2 (Elastic Computing Cloud) es uno de los productos estrella de Amazon Web Services, y como su nombre claramente anuncia, se trata de un servicio de Cloud Computing para procesamiento bajo demanda.
EC2 permite crear instancias de procesamiento (servidores remotos virtuales) a los que podemos tener acceso como si de un servidor remoto cualquiera se tratase. Podremos instalar servicios web, ssh, de bases de datos, escritorios remotos , etc…

En éste pequeño tutorial voy a exponer los primeros pasos que hay que dar para utilizar EC2, y algunos consejos basados en mi experiencia en éste proceso.

El funcionamiento es muy sencillo.
Una vez hayamos creado nuestra cuenta de EC2 , tendremos a nuestra disposición un enorme catálogo de AMIs (Amazon Machine Image), que no son otra cosa que imágenes pregeneradas de distintos sistemas operativos, con las que levantar nuestra instancia de procesado EC2.
Existen dos tipos de AMI’s :

- Públicas: Disponibles para cualquier usuario de forma gratuita y puestas a disposición tanto por Amazon, como por otros usuarios que deseen comprartir su propia AMI con el resto de la comunidad
- Privadas: Que solo estarán disponibles para el propietario de esta AMI, o para el resto de la comunidad, previo pago, en el caso de que el usuario haya configurado el servicio de AMIs de pago.

Lo normal cuando trabajemos con EC2, es que nos creemos nuestra propia AMI privada con todas las aplicaciones que necesitemos en nuestras tareas, para así poder levantar instancias de ésta en cualquier momento.

Continue Reading →

Amazon no deja de trabajar para seguir ofreciendo los mejores servicios web, y después de lanzar Elastic IPs, lanza ahora EBS (Elastic Block Store), un servicio complementario a EC2 (Elastic Computing Cloud) que nos permite mantener nuestros datos de forma persistente.

Dos de los inconvenientes más grandes del servicio de procesamiento EC2 eran que al arrancar una instancia de procesado, ésta no disponía de una IP (sino que accedíamos a ella a través de un nombre de domino), y que al apagarla, toda la información que no formara parte de la imagen que instanciamos se volatilizaba. Esto era un problema grande, ya que en caso de un fallo en el servicio y caida perderíamos toda la información de la instancia, y hacía EC2 un servicio totalmente inútil si lo que buscamos es montar por ejemplo un servidor de bases de datos.
Todo ésto queda solventado con EBS, que nos permite instanciar múltiples bloques de entre 1GB y 1TB de almacenamiento que pueden ser montados como un dispositivo en nuestro sistema operativo. Cada bloque instanciado se monta como una unidad RAW sin formato, por lo que serán perfectamente compatible con cualquier sistema operativo que estemos usando en nuestra instancia y formatearla con el sistema de gestión de ficheros que mejor nos venga.
Además Amazon asegura la replicación automática de los datos dentro de la “Zona de Disponibilidad” de nuestra instancia, lo que garantiza la preservación de nuestros datos en caso de fallo hardware en las máquinas.
Otra de las características que me ha sorprendido gratamente es que cada bloque de datos es autónomo e independiente de la instancia, lo que los hace accesible desde cualquiera de nuestras intancias (aunque sólo a una de ellas al mismo tiempo).

En cuanto a los costes, Amazon mantiene su política de varios criterios de tarificación según transferencia, accesos y datos almacenados. Aunque como dato orientativo el almacenamiento nos costará 0,10$/GB cada mes.

Una gran mejora para EC2 que lo hace aún más útil. Esperemos que Amazon siga con el ritmo de mejoras para sus servicios, que están revolucionando el desarrollo web y facilitando que pequeños proyectos puedan crecer y crear grandes aplicaciones con unos costes más que asequibles.