Saltar al contenido principal

Introducción a Amazon EC2

¿Qué es Amazon EC2?​

Amazon EC2 (Elastic Compute Cloud) es el servicio de cómputo fundamental de AWS. Le permite alquilar servidores virtuales (llamados instancias) en la nube.

┌─────────────────────────────────────────────────────────────┐
│ AMAZON EC2 │
├─────────────────────────────────────────────────────────────┤
│ │
│ "Servidores virtuales bajo demanda" │
│ │
│ ┌─────────────────────────────────────────────────┐ │
│ │ Instancia EC2 │ │
│ │ │ │
│ │ ┌──────────┐ ┌──────────┐ ┌──────────┐ │ │
│ │ │ CPU │ │ RAM │ │ Almacen. │ │ │
│ │ │ (vCPU) │ │ (GiB) │ │ (EBS) │ │ │
│ │ └──────────┘ └──────────┘ └──────────┘ │ │
│ │ │ │
│ │ ┌──────────┐ ┌──────────┐ ┌──────────┐ │ │
│ │ │ OS │ │ Red │ │ Seguridad│ │ │
│ │ │Linux/Win │ │ (IP) │ │ (SG) │ │ │
│ │ └──────────┘ └──────────┘ └──────────┘ │ │
│ │ │ │
│ └─────────────────────────────────────────────────┘ │
│ │
│ Usted controla: │
│ • El tipo/tamaño de la instancia │
│ • El sistema operativo │
│ • El software instalado │
│ • La configuración de red y seguridad │
└─────────────────────────────────────────────────────────────┘

Analogía: Alquiler de Apartamento​

┌────────────────────────────────────────────────────────────────┐
│ ALQUILER TRADICIONAL vs AMAZON EC2 │
├────────────────────────────────────────────────────────────────┤
│ │
│ 🏠 Apartamento 💻 Instancia EC2 │
│ ───────────── ───────────── │
│ Tamaño (m²) Tipo de instancia (t2, m5) │
│ Número de habitaciones vCPU y RAM │
│ Ubicación (ciudad) Región AWS │
│ Contrato (mínimo 1 año) Bajo demanda (por segundo) │
│ Muebles opcionales AMI (SO preinstalado) │
│ Cerradura/Alarma Security Group │
│ │
│ 💰 Renta mensual fija 💰 Pago por uso │
│ 📋 Preaviso 3 meses 🔄 Parada inmediata posible │
└────────────────────────────────────────────────────────────────┘

Casos de Uso de EC2​

¿Cuándo Usar EC2?​

Caso de UsoDescripciónEjemplo
Servidores webHospedar sitios y aplicacionesApache, Nginx
Aplicaciones empresarialesERP, CRM, software internoSAP, Oracle
Bases de datosBDD autogestionadasMySQL, PostgreSQL
Desarrollo/PruebasEntornos temporalesCI/CD, QA
Cómputo intensivoProcesamiento de datosAnalytics, ML
GamingServidores de juegosMinecraft, game servers

EC2 vs Otros Servicios​

┌─────────────────────────────────────────────────────────────┐
│ ELEGIR EL SERVICIO DE CÓMPUTO CORRECTO │
├─────────────────────────────────────────────────────────────┤
│ │
│ EC2 Lambda ECS/EKS │
│ ┌────────────┐ ┌────────────┐ ┌────────────┐│
│ │ Control │ │ Serverless │ │ Contenedores││
│ │ total │ │ Eventos │ │ Docker ││
│ │ │ │ │ │ ││
│ │ SO completo│ │ Solo código│ │ Imágenes ││
│ │ 24/7 │ │ Bajo deman.│ │ Orquestado ││
│ │ │ │ │ │ ││
│ └────────────┘ └────────────┘ └────────────┘│
│ │
│ Use EC2 si: │
│ ✅ Necesita un SO completo │
│ ✅ Aplicaciones de larga duración (24/7) │
│ ✅ Software que no puede ser contenerizado │
│ ✅ Control total sobre la configuración │
│ │
│ NO use EC2 si: │
│ ❌ Tareas cortas y por eventos → Lambda │
│ ❌ Aplicaciones contenerizadas → ECS/EKS │
│ ❌ Sitios estáticos → S3 + CloudFront │
└─────────────────────────────────────────────────────────────┘

Ciclo de Vida de una Instancia EC2​

┌─────────────────────────────────────────────────────────────┐
│ CICLO DE VIDA EC2 │
├─────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────┐ │
│ │ PENDING │ ← Lanzamiento │
│ └────┬────┘ │
│ │ │
│ ▼ │
│ ┌─────────┐ ┌─────────┐ │
│ │STOPPING │◄──────►│ RUNNING │ ← En ejecución │
│ └────┬────┘ └────┬────┘ (facturación activa) │
│ │ │ │
│ ▼ │ │
│ ┌─────────┐ │ │
│ │ STOPPED │◄────────────┘ │
│ └────┬────┘ ← Detenida (sin facturación de cómputo) │
│ │ │
│ │ Terminar │
│ ▼ │
│ ┌─────────────┐ │
│ │ TERMINATING │ │
│ └──────┬──────┘ │
│ │ │
│ ▼ │
│ ┌─────────────┐ │
│ │ TERMINATED │ ← Eliminada definitivamente │
│ └─────────────┘ │
│ │
└─────────────────────────────────────────────────────────────┘

Estados y Facturación​

EstadoDescripciónFacturación
PendingArrancandoNo
RunningEn ejecución✅ Sí
StoppingDeteniéndoseSí
StoppedDetenidaNo (pero EBS sí)
TerminatingEliminándoseNo
TerminatedEliminadaNo
Atención

Una instancia Stopped no factura el cómputo (CPU/RAM), ¡pero el almacenamiento EBS sigue siendo facturado!

Modelos de Precios de EC2​

1. On-Demand (Bajo Demanda)​

┌─────────────────────────────────────────────────────────────┐
│ ON-DEMAND │
├─────────────────────────────────────────────────────────────┤
│ │
│ 💰 Pago: Por hora o por segundo │
│ 📋 Compromiso: Ninguno │
│ ⚡ Flexibilidad: Máxima │
│ 💲 Precio: El más alto │
│ │
│ Ideal para: │
│ • Desarrollo y pruebas │
│ • Cargas impredecibles │
│ • Aplicaciones de corta duración │
│ │
│ Ejemplo: t3.micro = ~$0.0104/hora (us-east-1) │
└─────────────────────────────────────────────────────────────┘

2. Reserved Instances (Instancias Reservadas)​

┌─────────────────────────────────────────────────────────────┐
│ RESERVED INSTANCES │
├─────────────────────────────────────────────────────────────┤
│ │
│ 💰 Pago: Compromiso de 1 o 3 años │
│ 📋 Compromiso: Alto │
│ ⚡ Flexibilidad: Limitada │
│ 💲 Precio: Hasta 72% de descuento │
│ │
│ Tipos: │
│ • Standard: Mejor precio, menos flexible │
│ • Convertible: Precio medio, puede cambiar de tipo │
│ │
│ Ideal para: │
│ • Cargas estables y predecibles │
│ • Aplicaciones en producción 24/7 │
│ │
└─────────────────────────────────────────────────────────────┘

3. Spot Instances​

┌─────────────────────────────────────────────────────────────┐
│ SPOT INSTANCES │
├─────────────────────────────────────────────────────────────┤
│ │
│ 💰 Pago: Subasta sobre capacidad no utilizada │
│ 📋 Compromiso: Ninguno │
│ ⚡ Flexibilidad: Variable (posible interrupción) │
│ 💲 Precio: ¡Hasta 90% de descuento! │
│ │
│ ⚠️ ATENCIÓN: AWS puede recuperar la instancia │
│ con 2 minutos de aviso. │
│ │
│ Ideal para: │
│ • Procesamiento por lotes │
│ • Cargas tolerantes a interrupciones │
│ • CI/CD, pruebas │
│ │
└─────────────────────────────────────────────────────────────┘

Comparación de Precios (Ejemplo t3.large, us-east-1)​

On-Demand     ████████████████████████████████  $0.0832/h (100%)
Reserved 1yr █████████████████████ $0.0528/h (63%)
Reserved 3yr ███████████████ $0.0333/h (40%)
Spot ████████ $0.0250/h (30%)

Componentes de una Instancia EC2​

┌─────────────────────────────────────────────────────────────┐
│ COMPONENTES DE UNA INSTANCIA EC2 │
├─────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ INSTANCIA EC2 │ │
│ │ │ │
│ │ ┌────────────────────────────────────────────────┐ │ │
│ │ │ 1. AMI (Amazon Machine Image) │ │ │
│ │ │ Sistema operativo + software │ │ │
│ │ └────────────────────────────────────────────────┘ │ │
│ │ │ │
│ │ ┌────────────────────────────────────────────────┐ │ │
│ │ │ 2. Tipo de Instancia │ │ │
│ │ │ CPU (vCPU) + RAM (GiB) │ │ │
│ │ └────────────────────────────────────────────────┘ │ │
│ │ │ │
│ │ ┌────────────────────────────────────────────────┐ │ │
│ │ │ 3. Almacenamiento (EBS o Instance Store) │ │ │
│ │ │ Discos adjuntos │ │ │
│ │ └────────────────────────────────────────────────┘ │ │
│ │ │ │
│ │ ┌────────────────────────────────────────────────┐ │ │
│ │ │ 4. Configuración de Red │ │ │
│ │ │ VPC, Subnet, IP pública/privada │ │ │
│ │ └────────────────────────────────────────────────┘ │ │
│ │ │ │
│ │ ┌────────────────────────────────────────────────┐ │ │
│ │ │ 5. Security Group │ │ │
│ │ │ Reglas de firewall │ │ │
│ │ └────────────────────────────────────────────────┘ │ │
│ │ │ │
│ │ ┌────────────────────────────────────────────────┐ │ │
│ │ │ 6. Par de Claves │ │ │
│ │ │ Autenticación SSH │ │ │
│ │ └────────────────────────────────────────────────┘ │ │
│ │ │ │
│ └─────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────┘

Metadatos de Instancia​

Cada instancia EC2 tiene acceso a sus propios metadatos a través de una URL especial:

http://169.254.169.254/latest/meta-data/

Información Disponible​

EndpointInformación
/instance-idID de la instancia
/instance-typeTipo (t3.micro, etc.)
/ami-idID de la AMI
/local-ipv4IP privada
/public-ipv4IP pública
/placement/availability-zoneZona de disponibilidad

Ejemplo de Uso​

# Desde la instancia EC2
curl http://169.254.169.254/latest/meta-data/instance-id
# Resultado: i-0123456789abcdef0

curl http://169.254.169.254/latest/meta-data/instance-type
# Resultado: t3.micro
Utilidad

Los metadatos son útiles para:

  • Scripts de configuración automática
  • Aplicaciones que necesitan conocer su entorno
  • Recuperación de credenciales IAM temporales

Resumen​

ConceptoDescripción
EC2Servicio de máquinas virtuales de AWS
InstanciaUn servidor virtual individual
AMIImagen de sistema (SO + software)
TipoConfiguración CPU/RAM
On-DemandPago por uso, flexible
ReservedCompromiso a largo plazo, ahorros
SpotCapacidad no utilizada, muy económico pero interrumpible

Quiz de Validación​

  1. ¿Qué es una instancia EC2?
  2. ¿Cuál es la diferencia entre los estados "Stopped" y "Terminated"?
  3. ¿Qué modelo de precios ofrece la mayor flexibilidad?
  4. ¿Qué modelo ofrece los mayores ahorros con riesgo de interrupción?
  5. ¿Cuáles son los 6 componentes principales de una instancia EC2?
  6. ¿Para qué sirven los metadatos de instancia?

Próxima sección: Regiones y Zonas de Disponibilidad