EC2
🧩 ¿Qué es Amazon EC2?
Amazon EC2 es un servicio web que proporciona capacidad de cómputo escalable en la nube de AWS. Permite lanzar y administrar servidores virtuales, llamados instancias, bajo demanda.
-
Tipo: Servicio IaaS (Infraestructura como Servicio).
-
Objetivo: Ejecutar aplicaciones en servidores virtuales configurables.
-
Pago: Pago por uso (segundo o por hora, dependiendo del tipo de instancia).
🚀 Características clave de EC2
| Característica | Descripción |
|---|---|
| Escalabilidad | Se pueden lanzar y detener instancias según necesidad. |
| Personalización | Elección de sistema operativo, CPU, RAM, almacenamiento, y red. |
| Tipos de instancias | Diferentes familias de instancias para casos de uso específicos. |
| Alta disponibilidad | Integración con Zonas de disponibilidad y Auto Scaling. |
| Seguridad | Seguridad mediante grupos de seguridad, roles IAM y VPC. |
| Integración con otros servicios | Fácil integración con S3, RDS, CloudWatch, IAM, etc. |
🖥️ Tipos de Instancias EC2
Por familia de uso:
| Familia | Uso principal |
|---|---|
| t | Uso general de bajo costo (T2, T3, T4g). |
| m | Uso general equilibrado (M5, M6g). |
| c | Computación optimizada (C5, C6g). |
| r | Optimizada para memoria (R5, R6g). |
| g / p / inf | Instancias para ML, GPU, inferencia, etc. |
| d / i | Almacenamiento local optimizado. |
📝 Nota: Las instancias con “g” o “a” utilizan procesadores ARM Graviton de AWS.
⚙️ Componentes importantes de EC2
1. Amazon Machine Image (AMI)
Imagen preconfigurada con sistema operativo, aplicaciones y configuración de software.
2. Instancia
Máquina virtual lanzada a partir de una AMI.
3. Volúmenes EBS (Elastic Block Store)
Almacenamiento persistente en bloques para instancias EC2.
4. Grupos de Seguridad
Firewall virtual que controla el tráfico de red entrante y saliente.
5. Tecla SSH (.pem)
Archivo necesario para autenticar el acceso remoto a una instancia Linux.
6. Elastic IP
Dirección IP estática asignable a una instancia EC2.
7. User Data
Script que se ejecuta al lanzar la instancia (ideal para automatizar configuración).
📊 Modelos de precios
| Modelo | Descripción |
|---|---|
| On-Demand | Pago por hora o segundo, sin compromiso. Ideal para cargas variables. |
| Reserved Instances | Descuento a cambio de compromiso de 1 o 3 años. |
| Spot Instances | Hasta 90% más barato, pero pueden interrumpirse. |
| Savings Plans | Plan flexible basado en uso por hora, con descuentos a largo plazo. |
| Dedicated Hosts | Servidor físico completo para una sola cuenta. |
🧪 Ciclo de vida de una instancia EC2
pending → running → (stopping → stopped) ↔ terminated
-
Pending: Se está lanzando.
-
Running: Instancia activa.
-
Stopped: Detenida pero reteniendo datos en disco.
-
Terminated: Instancia eliminada (no se puede recuperar).
🛡️ Seguridad
-
Grupos de Seguridad: Controlan puertos abiertos por protocolo/IP.
-
Roles IAM: Asignan permisos a la instancia para acceder a otros servicios AWS.
-
VPC: Entorno de red aislado, donde se lanzan instancias EC2.
-
CloudTrail: Para auditoría de acciones realizadas sobre EC2.
📦 Auto Scaling y Elastic Load Balancing (ELB)
-
Auto Scaling: Aumenta o disminuye el número de instancias automáticamente según métricas (CPU, tráfico, etc.).
-
Elastic Load Balancer (ELB): Distribuye tráfico entre múltiples instancias EC2 para alta disponibilidad.
📈 Monitoreo
-
Amazon CloudWatch: Monitorea CPU, red, disco, estado, alarmas, etc.
-
CloudWatch Logs: Permite enviar registros de aplicaciones para análisis.
🛠️ Casos de uso típicos
-
Hosting de aplicaciones web o backend.
-
Servidores de bases de datos temporales.
-
Procesamiento de datos o lotes.
-
Ambientes de desarrollo o testing.
-
Ejecución de contenedores o tareas programadas.
✅ Mejores prácticas
-
Usar AMIs actualizadas y con lo mínimo necesario.
-
Configurar alarmas en CloudWatch.
-
Utilizar claves SSH con acceso restringido.
-
Aplicar parches automáticamente.
-
Automatizar configuraciones con User Data o herramientas como Ansible.
-
Hacer snapshots de volúmenes EBS importantes.