¿Qué es Amazon EC2?
Imagina que necesitas un ordenador potente para ejecutar tus aplicaciones. Anteriormente, debías comprar hardware físico, instalarlo en un centro de datos y mantenerlo. Con Amazon EC2, todo este proceso se simplifica enormemente: puedes crear un servidor virtual en la nube con las características que necesites, pagándolo solo por lo que usas.
EC2 es el servicio más fundamental y utilizado de AWS. Representa la base sobre la cual muchos otros servicios de AWS están construidos. Comprender EC2 es esencial para cualquier persona que trabaje con la nube de Amazon.
Componentes Fundamentales de EC2
Para entender cómo funciona EC2, necesitas conocer sus componentes principales:
- Instancias: Servidores virtuales que ejecutan sistemas operativos como Amazon Linux, Ubuntu, Windows Server, entre otros.
- AMI (Amazon Machine Image): Plantilla preconfigurada que contiene el sistema operativo, servidor de aplicaciones y configuraciones necesarias para lanzar tu instancia.
- Tipos de Instancia: Diferentes combinaciones de CPU, memoria, almacenamiento y capacidad de red optimizadas para distintos casos de uso.
- Grupos de Seguridad: Firewalls virtuales que controlan el tráfico de red entrante y saliente de tus instancias.
- Par de claves (Key Pairs): Credenciales para conectarte de forma segura a tus instancias via SSH (Linux) o RDP (Windows).
- Elastic IP: Direcciones IP estáticas que puedes asociar a tus instancias.
Tipos de Instancias EC2
AWS ofrece una amplia variedad de tipos de instancia, cada uno optimizado para diferentes cargas de trabajo. Se clasifican en familias:
| Familia | Casos de Uso | Ejemplo |
|---|---|---|
| General Purpose (T, M) | Aplicaciones web, desarrollo, servidores pequeños | t3.micro, m5.large |
| Compute Optimized (C) | Procesamiento de alto rendimiento, gaming, HPC | c5.xlarge |
| Memory Optimized (R, X) | Bases de datos, caché, análisis big data | r5.xlarge, x1e.xlarge |
| Storage Optimized (I, D) | Bases de datos NoSQL, data warehousing | i3.xlarge, d2.xlarge |
| GPU Instances (P, G) | Machine Learning, renderizado, IA | p3.2xlarge, g4dn.xlarge |
Modelos de Precios de EC2
AWS ofrece diferentes modelos de precios para adaptarse a tus necesidades:
- On-Demand (bajo demanda): Pagas por segundo de uso sin compromisos. Ideal para cargas de trabajo impredecibles o pruebas.
- Reserved Instances (Instancias Reservadas): Comprometes un uso de 1 a 3 años y obtienes descuentos significativos (hasta 72%). Ideal para cargas de trabajo estables.
- Savings Plans: Similar a Reserved Instances pero más flexible. Ofrecen ahorros de hasta 72% a cambio de un compromiso de uso medido por hora.
- Spot Instances: Puedes aprovechar capacidad sobrante con descuentos de hasta 90%. Tu instancia puede ser terminada con 2 minutos de aviso. Ideal para trabajos batch, CI/CD, o computación distribuida.
- Dedicated Hosts: Servidores físicos dedicados exclusivamente para tu uso. Cumplimiento regulatorio, licencias por socket/core.
Almacenamiento para EC2
Las instancias EC2 pueden usar diferentes tipos de almacenamiento:
EBS (Elastic Block Store): Almacenamiento en red persistente que sobrevive al终止amiento de la instancia. Es como un disco duro externo conectado a tu servidor virtual.
- gp3/gp2: SSD de uso general
- io1/io2: SSD de alto rendimiento para cargas intensivas en I/O
- st1: HDD optimizado para throughput (Big Data, Data Warehousing)
- sc1: HDD de bajo costo para datos fríos
Instance Store: Almacenamiento temporal físicamente conectado al host. Los datos se pierden al detener o terminar la instancia. Grat
Red y Conectividad
Por defecto, las instancias EC2 se lanzan en una VPC (Virtual Private Cloud) con direcciones IP públicas o privadas. Conceptos importantes:
- Subredes: Dividen tu VPC en segmentos públicos (con acceso a internet) o privados (sin acceso directo a internet).
- Security Groups: Actúan como firewalls a nivel de instancia, permitiendo o denegando tráfico según protocolos, puertos y direcciones IP.
- Network ACLs: Firewalls a nivel de subred que proporcionan una capa adicional de seguridad.
- Elastic IP: Direcciones IPv4 públicas estáticas que puedes asignar a tus instancias.
Pasos para Lanzar una Instancia EC2
Ver más: Tutorial paso a paso- Selecciona una AMI: Elige el sistema operativo y software base (Amazon Linux 2, Ubuntu, Windows Server, etc.).
- Elige un Tipo de Instancia: Selecciona la combinación de recursos (CPU, RAM) según tus necesidades.
- Configura los detalles: Número de instancias, subred, comportamiento de apagado, y otras opciones avanzadas.
- Añade almacenamiento: Configura los volúmenes EBS y sus tamaños.
- Agrega etiquetas (Tags): Organiza tus recursos con pares clave-valor (Name, Environment, Project, etc.).
- Configura el Security Group: Define las reglas de firewall (SSH desde tu IP, HTTP/HTTPS desde anywhere).
- Revisa y lanza: Selecciona o crea un par de claves para el acceso y haz clic en "Lanzar".
Casos de Uso Comunes de EC2
- Servidores Web: Hospedar sitios web y aplicaciones con Apache, Nginx, IIS.
- Servidores de Aplicaciones: Ejecutar aplicaciones empresariales, APIs, microservicios.
- Bases de Datos: Instalar MySQL, PostgreSQL, Oracle, SQL Server directamente en EC2.
- Servidores de Desarrollo/Pruebas: Entornos temporales para desarrollo y testing.
- Procesamiento por Lotes (Batch): Jobs de procesamiento que se ejecutan periódicamente.
- High Performance Computing (HPC): Simulaciones científicas, renderizado, análisis financiero.
- Machine Learning: Entrenamiento de modelos usando instancias con GPUs.
Características de Alta Disponibilidad
AWS proporciona mecanismos para hacer tus aplicaciones más resilientes:
Auto Scaling: Automatically adjust the number of EC2 instances based on demand. You can set policies to scale out (add instances) when CPU usage is high and scale in (remove instances) when demand drops.
Load Balancing: Usando ELB (Elastic Load Balancing), puedes distribuir el tráfico entre múltiples instancias para mejorar la disponibilidad y tolerancia a fallos.
Multi-AZ Deployments: Lanzar instancias en diferentes zonas de disponibilidad (Availability Zones) protege contra fallos en un solo datacenter.
Seguridad en EC2
La seguridad es fundamental al trabajar con EC2. Mejores prácticas incluyen:
- No usar nunca claves SSH en código: Usa AWS Systems Manager Session Manager o AWS Secrets Manager.
- Principio de mínimo privilegio: Configura Security Groups lo más restrictivos posible.
- Rotación de credenciales: Cambia regularmente las claves de acceso.
- Encriptación: Habilita encriptación en volúmenes EBS y数据传输.
- Patch Management: Mantén tus instancias actualizadas con los últimos parches de seguridad.
- CloudWatch + GuardDuty: Monitorea actividad sospechosa.
"La seguridad es responsabilidad de todos en la nube. AWS protege la infraestructura, pero tú eres responsable de proteger tus datos y configuraciones." - AWS Shared Responsibility Model
Comparación: EC2 vs Servicios Serverless
| Aspecto | EC2 | Lambda (Serverless) |
|---|---|---|
| Control | Control total del servidor | Sin gestión de servidores |
| Escalabilidad | Manual o con Auto Scaling | Automática e instantánea |
| Facturación | Por segundo/hora | Por ejecución (milisegundos) |
| Casos de uso | Servidores tradicionales, aplicaciones stateful | Procesamiento de eventos, APIs serverless |
| Latencia |
Resumen y Próximos Pasos
Has aprendido los fundamentos de Amazon EC2, el servicio de computación más importante de AWS:
- ✅ EC2 proporciona servidores virtuales flexibles y escalables en la nube.
- ✅ Diferentes tipos de instancias optimizadas para distintas cargas de trabajo.
- ✅ Múltiples opciones de precios para optimizar costos.
- ✅ Almacenamiento persistente con EBS y temporal con Instance Store.
- ✅ Características de alta disponibilidad con Auto Scaling y Load Balancing.
- ✅ Seguridad configurable mediante Security Groups, IAM roles y prácticas recomendadas.
Pregunta 1: ¿Cuál es el componente de EC2 que actúa como una plantilla preconfigurada para lanzar instancias?
- A) Elastic Beanstalk
- B) Amazon Machine Image (AMI)
- C) Elastic Block Store (EBS)
- D) Security Group
La AMI contiene el sistema operativo, servidor de aplicaciones y configuraciones necesarias para crear una instancia.
Pregunta 2: ¿Qué tipo de instancia EC2 está optimizada para ejecutar bases de datos en memoria como Redis o Memcached?
- A) Compute Optimized (C)
- B) Storage Optimized (I, D)
- C) Memory Optimized (R, X)
- D) General Purpose (T, M)
Las instancias Memory Optimized tienen una alta proporción de memoria respecto a CPU, ideales para bases de datos en memoria y procesamiento de grandes datasets.
Pregunta 3: ¿Cuál de los siguientes modelos de precios ofrece el mayor descuento en EC2?
- A) On-Demand
- B) Spot Instances
- C) Savings Plans
- D) Dedicated Hosts
Las Spot Instances pueden ofrecer descuentos de hasta 90% comparado con On-Demand, aunque pueden ser terminadas con poco aviso.
Recursos Adicionales
- Documentación oficial de EC2: docs.aws.amazon.com/ec2
- AWS Training: cursos gratuitos sobre computación en la nube
- AWS re:Post: comunidad de preguntas y respuestas técnicas