Mis experiencias con Amazon EC2

Por mis necesidades freak me he visto necesitado de disponer de más recursos para poder montar mis entornos adecuadamente hasta que he llegado a la gran pregunta “On-premise o cloud”, pues la respuesta no ha sido sencilla ya que partía de la premisa que necesitaba un entorno que me permitiera disponer de distintas máquinas y que dispusiera de bastantes recursos como >12GB de RAM, un buen procesador y placa y varios discos rápidos. He estado varios días comparando distintos presupuestos de servidores físicos con la opción de utilizar las VM en modo Cloud.

Al final me he decantado por utilizar un proveedor Cloud ya que la inversión inicial es muy baja, rápida de adquirir y muy personalizable en cuanto a características.

Una vez decidido que me iba al cloud, tocaba decidir el proveedor. Lo primero que me vino a la cabeza fué utilizar el Rol de VM de Azure, pero tuve que descartarlo (muy a mi pesar) porque de momento solo puedes utilizar el servicio subiendo tus propias imágines y no puedes utilizar plantillas de VM prediseñadas, pensar que estar subiendo 25 GB cada cierto tiempo no me era factible. Después estuve barajando distintos proveedores que ofrecían templates hasta que al final me decidí por Amazon EC2 Elastic Compute Cloud. Los motivos fueron:

  • el coste por hora de los recursos era bastante competitivo.
  • distintas opciones de pago por consumo: en demanda, slots de precios, VM reservadas.
  • permite bastante flexibilidad en cuanto a la configuración de recursos.
  • dispone de templates de VM, entre ellos Windows 2008.
  • consola de configuración.
  • podemos crear nuestros propios snapshots (AIMS).
  • disponemos de un api de configuración y despliegue.
  • integración con una gran variedad de servicios adicionales: bbdd, balanceo, VPN, monitorización,…

image image

Lo primero que debes hacer es registrarte en Amazon Web Services (AWS) para conseguir un usuario, a continuación tendrás que logarte en la consola de AWS para subscribirte en los servicios que desees. La primera vez tendrás que crear un cliente que se asociará al usuario. Durante este registro habrá que introducir los datos de contacto, envío facturación y datos de pago. Esto es lo que más me ha impactado ya que para identificar a la persona te realizan una llamada al teléfono de contacto para que introduzcas un pin.

Como en mi caso he utilizado EC2, desde la consola AWS seleccioné la opción “Launch instance” para iniciar el asistente de creación de una nueva VM. Amazon te empieza a cobrar en el momento que inicias la instancia y la mantienes. La VM as por los siguientes estados:

  • stopped: apagada solo nos cobrarán por el espacio
  • running: está encendida, ya empieza contar el consumo de proceso por hora, las I/O a disco y red y consumo de resto de servicios. Aquí hay que tener en cuenta que nos van a cobrar una hora entera cada vez que arranquemos independientemente de si si es completa o no. Por lo que no os aconsejo encender y apagar. Ojo los reboot no cuentan.
  • terminatted: Indica que queremos que se borre la instancia, tarda bastante pero al final se elimina sola. Una vez terminada no se puede volver a encender así que cuidado…

Pero no todo es jauja’ al crear la primera instancia me encontré con el primer problemilla (de unas cuantas horas), una vez había creado la VM con éxito descubrí que tenía un límite de 30GB de disco y que encima no podía configurarlo desde la consola AWS 🙁  Al parecer aunque varias herramientas free tuve que recurrir a ejecutar una serie de scripts para crear de nuevo la VM pero esta vez con 200GB.

Primero te tienes que bajar las Amazon EC2 API tools que consisten en un conjunto de comandos hechos en java para configurar tus instancias, volúmenes y servicios. Una vez descargado y descargado y descomprimido tenemos que configurar las variables de entorno para que funcionen desde cmd:

 

SET EC2_HOME =c:ec2-api-tools-1.3-62308

SET PATH =PATH; c:ec2-api-tools-1.3-62308bin

 

Para crear una instancia del tipo “Large” 7GB de RAM, con Windows 2008 y con 200GB de RAM ejecutamos:

ec2-run-instances –region eu-west-1 -K pk-xxxxxxxxxxxxxxxx.pem -C cert-xxxxxxxxxx.pem -b “/dev/sda1=:100:false” ami-c9517bbd –key key3 -g quick-start-1 -t m1.large –disable-api-termination stop -z eu-west-1a

 

donde ami-c9517bbd corresponde con el id de la AIM (imagen de la VM), key3 corresponde con un key pair, pk-xxxxxxxxxxxxxxxx.pem y cert-xxxxxxxxxxxxxxxx.pem corresponden con la private key y el certificado. Para obtenerlos teneis que acceder al menú superior Account > Credenciales de seguridad  > credenciales de acceso.

 

image image image

 

image image

Por último me gustaría concluir comentando las pegas que le veo al servicio:

  • no es nada intuitivo
  • no hay suficiente documentación o está dispersa
  • no tiene una consola con la que realizar todas las operaciones, al final te tienes que meter a ejecutar scripts
  • EC2 está basado en VMWare por lo que será muy difícil poder reaprovechar las VM para exportalas/importarlas algún día on-premise si vienes del mundo Microsoft.

 

Para conocer más sobre mis experiencias en cloud y SharePoint podéis seguirme en twitter @mariocortesf

Publicado por

Mario Cortés

Mario Cortés Flores es MVP en Office 365, trabaja en Plain Concepts como Team Lead y escribe habitualmente en geeks.ms/blogs/mcortes y en Twitter @mariocortesf. Podréis encontrarlo colaborando activamente con la comunidad de MadPoint y SUGES

3 comentarios en “Mis experiencias con Amazon EC2”

  1. Me imagino que habrás utilizado IP-Elastic, porque en caso contrario cada vez que reinicias el servidor te da una nueva IP y DNS.
    ¿Has definido una Virtual Private Cloud y conexión VPN? Yo estoy tratando de crearlo para integralo con la red corporativa y tenemos problemas. El túnel se levanta pero no recibimos paquetes de Amazon.
    El uso de Elasticfox para Mozilla Firefox tienen un interfaz mucho más amigable que la consola de Amazon. Facilita bastante la gestión de la mayoría de los servicios, es más intuitiva y es mucho mas rápido que el acceso a la consola.

  2. Hola Cristina, en mi caso no he utilizado IP-Elastic porque no quería mantener las máquinas siempre encendidas y tampoco las quería asociar a un dns ya que solo eran para desarrollo.
    Tampoco he probado Virtual Private Cloud ya que de momento he parado las pruebas con Amazon, ahora estoy probando con CloudShare, no te permiten pago por uso pero calidad precio están bastante bien. Además con CloudShare puedes comunicar varias máquinas sin tener que pagar aparte y tienen una consola más sencilla.

    Personalmente creo que Amazon debería refinar el servicio, aunque esto de momento les pasa a todos los proveedores, veremos como evoluciona la cosa.

    saludos.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *