Bienvenido a la Parte II, donde dejamos la teoría y empezamos a usar AWS de verdad. Arrancamos con el servicio más fundamental: EC2, el cómputo. Y dentro de EC2, lo primero que necesitas dominar son las instancias: qué son, qué tipos hay y cuál elegir.

Qué es EC2 y qué es una instancia

EC2 significa Elastic Compute Cloud. Es el servicio de AWS para alquilar servidores virtuales. Cada uno de esos servidores se llama instancia.

Recuerda el Capítulo 1: EC2 es el ejemplo clásico de IaaS (Infraestructura como Servicio). AWS te da un ordenador virtual; tú instalas y gestionas el sistema operativo y tu software encima.

Analogía: Una instancia EC2 es como alquilar un ordenador por horas en un centro de datos remoto, pero sin tocar nada físico. Eliges cuánta potencia quieres, lo enciendes en 2 minutos y empiezas a usarlo por SSH (Linux) o Escritorio Remoto (Windows).

La idea de la virtualización

Un servidor físico muy potente se puede «trocear» en muchos servidores virtuales independientes mediante virtualización. Cada trozo (cada instancia) cree que es un ordenador completo, pero comparte el hardware físico con otras instancias, aisladas entre sí.

Esto es lo que permite el resource pooling del Capítulo 1: AWS tiene servidores físicos enormes y te alquila justo la porción que necesitas.

Tipos de instancia: el «tamaño» y la «especialidad»

Aquí viene la parte que confunde a los principiantes. AWS ofrece cientos de tipos de instancia con nombres como t3.micro, m5.large, c6g.xlarge… Parecen un galimatías, pero siguen una lógica clara.

Cada instancia se define por dos cosas:

  1. Familia: para qué está optimizada (CPU, memoria, etc.).
  2. Tamaño: cuánta potencia tiene.

Anatomía del nombre

Tomemos m5.large como ejemplo:

m        5        .large
│        │          │
│        │          └── tamaño (cuánta potencia)
│        └── generación (la 5.ª, más nueva = mejor)
└── familia (m = propósito general)
  • m → familia (propósito general).
  • 5 → generación (a mayor número, hardware más moderno y eficiente).
  • large → tamaño (cantidad de CPU y memoria).

Las familias principales

Cada familia está pensada para un tipo de trabajo. Estas son las que más usarás:

Familia Letra típica Optimizada para Ejemplo de uso
Propósito general t, m Equilibrio CPU/memoria Webs, apps pequeñas, entornos de prueba
Optimizada para cómputo c Mucha CPU Procesamiento intensivo, videojuegos, cálculos
Optimizada para memoria r, x Mucha RAM Bases de datos en memoria, análisis de datos grandes
Optimizada para almacenamiento i, d Disco rápido y grande Bases de datos NoSQL, almacenes de datos
Acelerada (GPU) p, g Tarjetas gráficas (GPU) Machine learning, renderizado, IA

Truco para recordar: piensa en las letras como iniciales en inglés. Compute, RAM (memory), GPU… No es perfecto, pero ayuda.

La familia «t»: las instancias económicas

Las instancias de la familia t (como t3.micro) son especiales y muy populares para empezar:

  • Son baratas y aptas para la capa gratuita de AWS (ideales para aprender).
  • Funcionan con un sistema de créditos de CPU: rinden poco de forma constante, pero pueden dar «ráfagas» de potencia cuando lo necesitan puntualmente.
  • Perfectas para webs pequeñas, blogs o entornos de pruebas con tráfico irregular.

Cuidado: no son buenas para cargas que necesitan CPU alta de forma constante, porque se quedan sin créditos. Para eso, mejor una familia c o m.

Cómo elegir: una guía práctica

No te agobies con los cientos de tipos. Sigue este razonamiento:

  1. ¿Qué necesita mi aplicación más, CPU o memoria?
    • Equilibrado o no estoy seguro → m (o t si es pequeña).
    • Mucha CPU → c.
    • Mucha RAM → r.
    • GPU para IA/gráficos → g o p.
  2. ¿Cuánta potencia? Empieza pequeño (large o incluso micro) y sube si hace falta. Es trivial cambiar de tamaño después.
  3. Usa siempre la generación más reciente disponible: suele dar más rendimiento por el mismo precio.

Regla de oro: Empieza pequeño y mide. Es mucho más fácil (y barato) hacer crecer una instancia que pagar de más «por si acaso». Veremos cómo detectar el sobredimensionamiento en el Capítulo 25 (optimización de costes).

Ejemplo real: Un equipo lanza una web nueva con una t3.micro (casi gratis). Al crecer el tráfico, ven que la CPU se satura y migran a una m5.large. Cuando descubren que su procesamiento de imágenes necesita mucha CPU, mueven esa parte concreta a una c6.xlarge. Cada pieza usa la familia que mejor le encaja.

Lo que debes recordar

  • EC2 alquila servidores virtuales llamados instancias (es IaaS puro).
  • El nombre de una instancia (m5.large) codifica familia + generación + tamaño.
  • Las familias se optimizan para distintos trabajos: t/m (general), c (CPU), r (memoria), i (almacenamiento), g/p (GPU).
  • La familia t es barata e ideal para aprender (capa gratuita), pero no para CPU constante.
  • Empieza pequeño, mide y escala. Cambiar de tamaño después es fácil.

En el siguiente subcapítulo veremos tres piezas que acompañan siempre a una instancia: las AMIs (la plantilla del disco), las key pairs (cómo entras de forma segura) y los Security Groups (el firewall).

Cloud, AWS & Terraform — De cero a experto

Capítulo 1 · Qué es el cloud computing

Capítulo 2 · El mercado cloud y los grandes proveedores

Capítulo 3 · Regiones, zonas de disponibilidad y edge

Capítulo 4 · Cómputo: EC2

Capítulo 5 · Almacenamiento: S3

Capítulo 6 · Redes: VPC

Capítulo 7 · Identidad y acceso: IAM

Capítulo 8 · Bases de datos gestionadas

Capítulo 9 · Por qué Infraestructura como Código

Capítulo 10 · HCL: el lenguaje de Terraform

Capítulo 11 · Providers y estado

Capítulo 12 · Tu primera infraestructura real en Terraform

Capítulo 13 · Balanceo de carga y autoescalado

Capítulo 14 · Serverless con Lambda

Capítulo 15 · Mensajería y eventos

Capítulo 16 · Entrega de contenido y DNS

Capítulo 17 · Contenedores en AWS

Capítulo 18 · Módulos: reutilización y composición

Capítulo 19 · Workspaces y gestión de entornos

Capítulo 20 · Backends remotos y locking

Capítulo 21 · Testing de infraestructura

Capítulo 22 · Terraform en CI/CD

Capítulo 23 · Seguridad en profundidad

Capítulo 24 · Observabilidad: logs, métricas y trazas

Capítulo 25 · Optimización de costes

Capítulo 26 · Alta disponibilidad y disaster recovery

Capítulo 27 · Well-Architected Framework de AWS

Capítulo 28 · Arquitecturas serverless a escala

Capítulo 29 · Plataformas de datos en AWS

Capítulo 30 · Multi-cuenta y landing zones

Capítulo 31 · Platform Engineering e Internal Developer Platform

Capítulo 32 · Certificaciones AWS relevantes

Capítulo 33 · Proyectos para consolidar lo aprendido

Capítulo 34 · Recursos y comunidad

© Copyright 2024. Todos los derechos reservados