← Volver al catálogo

Amazon EC2

Amazon Elastic Compute Cloud (Amazon EC2)

En una frase: Servidores virtuales en la nube que eliges por tipo de CPU, memoria y red
Documentación oficial: Documentación de Amazon EC2 ↗

Qué es

Amazon EC2 (Elastic Compute Cloud) ofrece máquinas virtuales, llamadas instancias, que arrancas en minutos y pagas por segundo o por hora. Es el servicio de cómputo más flexible de AWS: tú controlas el sistema operativo, el software y la red, a cambio de encargarte de parches, escalado y alta disponibilidad. En el modelo de responsabilidad compartida, EC2 es IaaS: AWS protege el hardware y el hipervisor; el sistema invitado es cosa tuya.

Conceptos clave

  • AMI (Amazon Machine Image): plantilla con el sistema operativo y el software de arranque. Es regional; para usarla en otra región hay que copiarla.
  • Tipos de instancia por familia: uso general (M, T con créditos de CPU (Central Processing Unit: procesador)), optimizadas para cómputo (C), para memoria (R, X), para almacenamiento (I, D) y aceleradas con GPU (Graphics Processing Unit: procesador gráfico, muy usado en ML) o chips propios (P, G, Inf, Trn). Las de Graviton (ARM) suelen dar mejor relación precio-rendimiento.
  • Almacenamiento: volúmenes EBS (Elastic Block Store) (persistentes, en una sola zona de disponibilidad) o instance store (disco local muy rápido que se pierde al parar o terminar la instancia).
  • Security groups: firewall con estado a nivel de instancia; solo admiten reglas de permitir.
  • Pares de claves y acceso: SSH (Secure Shell: acceso remoto cifrado por terminal) con clave, o mejor Session Manager de Systems Manager, sin abrir el puerto 22 ni gestionar claves.
  • Rol de IAM (Identity and Access Management) (perfil de instancia): la forma correcta de dar permisos a una aplicación en EC2; nunca claves de acceso guardadas en la máquina.
  • Metadatos (IMDS): la instancia consulta su propia información y las credenciales temporales del rol en 169.254.169.254. IMDSv2 (Instance Metadata Service versión 2: con token de sesión) exige un token de sesión y protege contra ataques SSRF (Server-Side Request Forgery: ataque que hace que el servidor haga peticiones en tu nombre).
  • User data: script que se ejecuta en el primer arranque.
  • Grupos de colocación: cluster (misma zona, baja latencia para HPC (High Performance Computing: cómputo de alto rendimiento)), spread (hardware distinto, máximo 7 instancias por zona) y partition (particiones aisladas para Hadoop, Cassandra o Kafka).
  • Auto Scaling y ELB (Elastic Load Balancing): un grupo de Auto Scaling mantiene el número deseado de instancias en varias zonas y un balanceador reparte el tráfico entre ellas.
  • Hibernación: guarda la RAM (Random Access Memory: memoria) en el volumen raíz EBS cifrado para arrancar más rápido con la memoria intacta.

Opciones de compra

OpciónCuándo encaja
Bajo demandaCargas cortas, impredecibles o de prueba; sin compromiso.
Savings Plans (1 o 3 años)Uso estable; compromiso de gasto por hora. Compute se aplica también a Fargate y Lambda.
Instancias reservadas (1 o 3 años)Uso estable de un tipo concreto; las convertibles permiten cambiar de familia.
SpotHasta un 90 % más barato con capacidad sobrante; AWS la recupera con 2 minutos de aviso. Solo para cargas tolerantes a interrupciones.
Hosts dedicadosLicencias por socket o núcleo (BYOL) y requisitos de cumplimiento con visibilidad del servidor físico.
Instancias dedicadasHardware no compartido con otras cuentas, sin control de la ubicación.
Reservas de capacidadGarantizar capacidad en una zona concreta, sin descuento por sí mismas.

Casos de uso típicos

  • Aplicaciones que necesitan control del sistema operativo o software de terceros.
  • Migraciones lift-and-shift de servidores locales.
  • Cómputo de alto rendimiento (HPC) y entrenamiento de modelos con GPU.
  • Flotas web detrás de un balanceador con Auto Scaling.
  • Procesamiento por lotes barato con instancias Spot.

Cuándo NO usarlo

Comparativa con servicios parecidos

NecesidadServicio adecuado
Control total del servidorEC2
Funciones por evento, hasta 15 minutosLambda
Contenedores sin servidoresFargate (con ECS o EKS)
Desplegar código sin montar la infraestructuraElastic Beanstalk
VPS (Virtual Private Server: servidor virtual privado) sencillo a precio fijoLightsail
Trabajos por lotes gestionadosAWS Batch

Modelo de precios

Se paga el tiempo de ejecución de la instancia (por segundo en Linux y en la mayoría de sistemas, con un mínimo de 60 segundos), según tipo, región y opción de compra. Aparte se pagan los volúmenes EBS (también con la instancia parada), las instantáneas, las direcciones IPv4 públicas, la transferencia de datos de salida y los extras como el balanceador. Una instancia parada no cobra cómputo, pero sí su almacenamiento.

Seguridad y alta disponibilidad

  • Una instancia vive en una sola zona de disponibilidad: la alta disponibilidad se consigue con varias instancias en varias zonas, Auto Scaling y un balanceador.
  • Recuperación automática de la instancia si falla el hardware subyacente (auto recovery).
  • Cifrado de volúmenes EBS con KMS (Key Management Service); se puede activar por defecto en la región.
  • Instancias en subredes privadas y acceso con Session Manager en lugar de bastiones.
  • Copias con instantáneas EBS o AWS Backup, y AMI para reconstruir la máquina.

Trampas de examen

  • "Tolerante a interrupciones" y "lo más barato": Spot.
  • "Uso constante durante 1 o 3 años": Savings Plans o instancias reservadas.
  • "Licencias por socket o núcleo": hosts dedicados.
  • "La aplicación necesita permisos de AWS": rol de IAM en la instancia, nunca claves en el código.
  • "Latencia de red mínima entre nodos HPC": grupo de colocación cluster.
  • "Datos temporales de altísimo rendimiento": instance store (se pierden al parar).
  • "Acceso sin abrir SSH": Session Manager.
  • "Parchear el sistema operativo": responsabilidad del cliente (Systems Manager Patch Manager ayuda).

Preguntas de práctica

Preguntas originales escritas para estos apuntes. No son preguntas reales de examen.

Fuentes