Amazon EC2

Resumen General

Amazon Elastic Compute Cloud (EC2) es un servicio que permite alquilar máquinas virtuales en la nube. Ofrece múltiples opciones en cuanto a tipos de instancias, modelos de compra y configuraciones de seguridad, adaptándose a diversas necesidades y cargas de trabajo. Desde la flexibilidad del modelo On Demand hasta los importantes descuentos de las instancias Spot, cada opción está diseñada para optimizar el rendimiento y los costos en función de la carga de trabajo.

Links de Contenido

Anotaciones:

Tipos de Instancias

AWS dispone de distintos tipos de instancias, cada uno con convenciones de nombres que indican sus características y usos recomendados.

Tipos de Instancias
  • Propósito general: Excelente para cargas diversas como servidores web o repositorios, equilibrando computación, memoria y red (ejemplo: t2.micro).
  • Computación optimizada: Ideal para tareas intensivas de cálculo, procesamiento por lotes, transcodificación, HPC, machine learning y servidores para videojuegos (nomenclatura: C6g).
  • Memoria optimizada: Diseñadas para trabajar con grandes conjuntos de datos en memoria, como bases de datos, almacenes de caché o análisis en tiempo real (nomenclatura: R6g).
  • Almacenamiento optimizado: Enfocadas en tareas intensivas de lectura y escritura en almacenamiento local, útiles en transacciones bancarias, bases de datos o sistemas de archivos distribuidos (ejemplo: I3).
https://instances.vantage.sh/

Aquí puedes ver más detalles sobre este contenido y cómo puede ayudarte en el contexto del artículo.

Automatización con User Data

Al lanzar una instancia, es posible automatizar tareas de configuración mediante scripts de User Data. Estos scripts, gestionados por cloud-init en sistemas Linux, permiten actualizar paquetes, instalar software y establecer configuraciones sin intervención manual.

Grupos de Seguridad y Puertos

Los grupos de seguridad constituyen la base de la seguridad en EC2, actuando como firewalls virtuales que regulan el tráfico de entrada y salida de las instancias.

  • Contienen únicamente reglas de permiso.
  • Pueden referenciar direcciones IP o incluso otros grupos de seguridad.
  • Controlan el tráfico de entrada (bloqueado por defecto) y salida (permitido por defecto).
  • Se pueden asociar a múltiples instancias.
  • Ejemplos de puertos: 22 (SSH), 21 (FTP), 80 (HTTP), 443 (HTTPS), 3389 (RDP).
Grupos de Seguridad y Puertos

Es aconsejable disponer de un grupo de seguridad exclusivo para el acceso SSH. Si la aplicación presenta tiempos de espera o errores de 'conexión rechazada', es posible que la configuración del grupo de seguridad o el firewall sean los causantes.

Conexión a Instancias EC2 y Uso de SSH

Para conectarse a una instancia EC2 se utiliza SSH, ya sea mediante clientes como Putty en Windows o a través de EC2 Instance Connect desde el navegador.

  • Se utiliza el protocolo 22 para establecer conexiones SSH.
  • Si la instancia se detiene, su IP pública cambia y debe actualizarse en el cliente SSH.
  • No utilizar 'aws configure' en Instance Connect
  • en caso de requerir credenciales, se debe modificar el rol de la instancia.
  • En Windows, se recomienda el uso de Putty y PuttyGen para gestionar las claves (.ppk).

Opciones de Compra y Modelos de Facturación en EC2

AWS ofrece diversas opciones de compra que se adaptan a distintos escenarios y cargas de trabajo, permitiendo optimizar costos y recursos. Ten en cuenta que los porcentajes son ilustrativos estos van cambiando constantemente.

Opciones de Compra y Modelos de Facturación en EC2
  • On Demand: Pago por uso por segundo, ideal para cargas de trabajo cortas y sin compromiso a largo plazo.
  • Instancias Reservadas: Contratos de 1 a 3 años con descuentos de hasta el 72%, recomendadas para aplicaciones de uso continuo.
  • Instancias Reservadas Convertibles: Permiten cambiar el tipo de instancia (familia, sistema operativo) manteniendo un descuento moderado.
  • Instancias Spot: Ofrecen descuentos de hasta el 90% al definir un precio máximo, aunque pueden interrumpirse si el precio de mercado supera dicho límite.
  • Hosts Dedicados: Proveen un servidor físico exclusivo, permitiendo visibilidad completa de los núcleos físicos, útil para software con licencias específicas o empresas con fuertes regulaciones.
  • Reservas de Capacidad: Aseguran la disponibilidad de instancias en una zona de disponibilidad determinada sin aplicar descuentos de facturación.
https://docs.aws.amazon.com/whitepapers/latest/cost-optimization-reservation-models/standard-vs.-convertible-offering-classes.html

Aquí puedes ver más detalles sobre este contenido y cómo puede ayudarte en el contexto del artículo.

Opciones de Compra y Modelos de Facturación en EC2

Diferencias entre instancias dedicados y host dedicados.

Tener en cuenta las opciones de pago es primordial para encontrar el balance de costo beneficio, AWS proporciona para las instancias reservadas tipos de pagos como.

  • Sin pago incial: es un descuento bajo
  • Pago inicial parcial: se paga una parte del total y el descuento es mayor
  • Pago inicial total: se paga todo por adelantado y se obtiene el máximo descuento.

Los Savings Plans permiten obtener un descuento basado en el uso a largo plazo.

  • Si usas una instancia por años, un plan de ahorro puede llegar hasta un 72% de descuento respecto a instancias bajo demanda
  • Se establece un compromiso de uso (ejemplo: $10 por hora durante 1 o 3 años)
  • El uso adicional fuera del plan de ahorro se factura a precio bajo demanda
  • Se bloquea a una familia de instancias y a una región específica
  • Flexibilidad en tamaño de instancia, sistema operativo y tipo de tenencia.

Instancias Spot en EC2

Las instancias Spot permiten obtener descuentos significativos en comparación con las instancias On Demand, llegando hasta un 90% de ahorro.

  • Se define un precio máximo
  • Si el precio de mercado es inferior, la instancia se lanza.

Interrupción y terminación:

  • Si el precio de mercado supera el máximo definido, se puede optar por detener o terminar la instancia con un aviso de dos minutos.
  • Existen instancias Spot one-time (se terminan al ser interrumpidas) y persistens (se relanzan automáticamente si se interrumpen).
  • Solo se pueden cancelar solicitudes de instancias Spot en estado open, active o disabled, no en closed o failed.

Bloqueo de Spot:

Permitía reservar una instancia Spot por hasta 6 horas sin interrupción, pero esta estrategia dejó de estar disponible desde el 31 de diciembre de 2022.

Casos de uso:

Se utilizan para cargas de trabajo no críticas, como análisis de datos, procesamiento por lotes y tareas tolerantes a fallos. No son ideales para bases de datos o aplicaciones críticas.

Cancelación de instancias Spot:

Instancias Spot en EC2
  • Primero, cancelar la solicitud de Spot (si está en estado open, active o disabled).
  • Luego, terminar manualmente las instancias activas, ya que AWS no lo hace automáticamente.

Flotas de Spot:

  • Permiten agrupar varias instancias Spot y combinarlas con instancias On Demand para optimizar costos y disponibilidad.
  • Se pueden definir pools de lanzamiento con distintos tipos de instancias y zonas de disponibilidad.
  • Facilitan determinar la capacidad objetivo limitando la cantidad de instancias o el peso de estas.
  • Permiten establecer requisitos como la CPU mínima o máxima.
  • Se configura un equilibrio en las flotas para reponer instancias automáticamente en caso de pérdida, sin superar los límites establecidos.
  • Es esencial definir estrategias de asignación y asignar roles adecuados para lanzar, etiquetar y terminar instancias en tu nombre.
https://aws.amazon.com/es/ec2/spot/pricing/

Aquí puedes ver más detalles sobre este contenido y cómo puede ayudarte en el contexto del artículo.

Preguntas Frecuentes: ¿Qué hacer en el caso de que se quede pensando nuestro EC2?

Si tu instancia EC2 deja de responder o 'se queda pensando', revisa primero las reglas de los grupos de seguridad para confirmar que el tráfico de entrada y salida está configurado correctamente. Además, verifica la conexión SSH y asegúrate de que la IP pública esté actualizada en caso de reinicios.