EC2 en AWS

Condiciones a tener en cuenta

  • Una instancia de EC2 pertenece a una determinada AZ (Availability Zone), no a una región. La red asociada de la VPC, por tanto, será de esa AZ.
  • Instance Store Volume: no persistente, pertenece al host donde reside la VM, y por tanto se pierde su contenido en caso de fallo del host, o de que la VM se mueva a otro host.
  • Posibles estados: Running, Stopped, Stopping. Starting, Terminating, … Solo se factura la VM cuando está en estado Running. Pero el almacenamiento (EBS) se factura independientemente del estado de la VM.

Metadatos de una instancia EC2

Cada instancia de EC2 tiene unos metadatos asociados, que son accesibles desde dentro de la instancia por HTTP en esta URL:

https://169.254.169.254/latest/meta-data

Estos metadatos incluyen: la IP pública de la instancia (que no está configurada en la VM), la AZ donde se ha lanzado la instancia, el identificador de la AMI, el identificador de la instancia, el tipo de instancia, los Security Group donde configurados en la instancia, y en casos de instancias spot la hora aproximada a la que se apagará.

También se pueden conseguir estos datos de forma exclusiva, por ejemplo para conseguir la IP pública de la instancia desde una shell de Linux:

$ curl -s http://169.254.169.254/latest/meta-data/public-ipv4

Características de red

  • Enhanced networking: permite optimizar el uso de un interfaz físico de red del host, que se puede presentar como múltiples interfaces de red mediante el uso de SR-IOV, que implica mayores ratios de transferencia, menor consumo de CPU del host y menores latencias. Hay dos interfaces en EC2 que utilizan esta tecnología: Elastic Network Interface (ENA) e Intel 82599 Intel Function Interface (VF).

Placement groups

Permite configurar la ubicación física de instancias EC2 en los host, hay tres tipos:

  • Cluster Placement Groups: Está orientado a rendimiento. Está limitado a una Availability Zone. Para conseguir el máximo rendimiento, se trata de ubicar todas las instancias en el mismo host, y se trata de optimizar al máximo el tráfico de red entre las instancias. Para conseguir el máximo rendimiento, todas las instancias deben ser del mismo tipo.
  • Partition Placement Groups: Está orientado a disponibilidad. Está orientado a proyectos con muchas instancias, que se reparten entre particiones (conjunto de recursos) y se trata de aislar cada una de estas particiones en racks aislados por AZ/Region. Las particiones se pueden repartir entre varias AZ.
  • Spread Placement Groups: Está orientado a disponibilidad. Máximo 7 instancias por AZ, y cada instancia se habilita en una partición y tiene un Fault Domain aislado. Pensado para aplicaciones que necesitan HA, como domain controlers, servidores de ficheros y servidores de correo.

Modos de facturación

  • On Demand instance: trabajos cortos, precio predecible. Precio por segundo tras el primer minuto, es el coste más alto pero no adelantas nada ni tiene permanencia.
  • Reserved (mínimo 1 año, máximo 3 años):
    • Reserved instance: trabajos largos. Hasta un 76% de ahorro con respecto a On Demand.
    • Convertible Reserved Instance: se puede cambiar de un tipo (ej: t1.micro) a otro.
    • Scheduled Reserved Instance: ej: cada martes entre las 3 y las 6 pm
  • Spot instance: trabajo corto, barato, se pueden perder instancias en cualquier momento. Hasta un 90% de ahorro con respecto a On Demand.
  • Dedicated instance: hardware dedicado, pero se puede compartir con otras instancias en la misma cuenta AWS.
  • Dedicated hosts: dedicado para instancias EC2. Se reserva por periodos de 3 años, es mucho más caro.
  • Spot Fleets: Spot instances + (optional) On Demand Instances. Se van lanzando instancias hasta completar la capacidad requerida, siempre que sea posible con Spot Instances.

Tipos de Instancias

Algunos de los modelos de instancia más habituales son los siguientes:

  • R: instancias con mucha memoria (RAM)
  • C: instancias con consumo de CPU exigente
  • M: Uso balanceado de recursos (Medium)
  • I: Uso exigente de I/O
  • G: necesidades de GPU
  • T2/T3 – burstable: picos bajo demanda, pero se agotan y se limita el rendimiento.
  • T2/T3 – unlimited: sin límites de picos de demanda, pero se pagan (basado en créditos).
  • t2.micro is Free Tier

Más info: https://www.ec2instances.info

AMI – Amazon Machine Image

  • Es específico de cada Región, no es Global. Se puede copiar a otra Región.
  • Por defecto son privadas y limitadas a tu cuenta y Región.
  • Se guardan en S3, y se factura solo lo que ocupa en disco, es muy barato.
  • Se puede compartir una AMI entre dos cuentas AWS. El dueño del AMI origen no cambia por compartirlo. El dueño del AMI destino si lo copia en su cuenta es el destino, pero necesita permiso de lectura en el almacenamiento donde está copiada la AMI.
  • No se puede copiar una AMI que está cifrada que te hayan compartido desde otra cuenta. Se podría copiar el snapshot si te lo comparten junto con la clave de cifrado, y al copiártelo lo cifrarías con tu nueva clave. Ese snapshot se puede registrar como una nueva AMI.
  • No se puede copiar una AMI que te hayan compartido si tiene un pago asociado (licencia Windows o AMI del marketplace). Solo se podría lanzar una nueva instancia a partir de esa AMI compartida, y luego crear un AMI desde esa instancia.

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.