Amazon EC2: Computo en la Nube

Lectura
35 min~8 min lectura
CONCEPTO CLAVE: Amazon EC2 (Elastic Compute Cloud) es el servicio de AWS que proporciona capacidad computacional segura y redimensionable en la nube. Permite lanzar servidores virtuales (instancias) con diferentes sistemas operativos y configuraciones en cuestión de minutos.

¿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.

📌 ¿Sabías que... EC2 permite crear desde una simple instancia con 1 CPU hasta servidores con hasta 448 CPUs virtuales y terabytes de memoria RAM, dependiendo de tus necesidades.

Componentes Fundamentales de EC2

Para entender cómo funciona EC2, necesitas conocer sus componentes principales:

  1. Instancias: Servidores virtuales que ejecutan sistemas operativos como Amazon Linux, Ubuntu, Windows Server, entre otros.
  2. AMI (Amazon Machine Image): Plantilla preconfigurada que contiene el sistema operativo, servidor de aplicaciones y configuraciones necesarias para lanzar tu instancia.
  3. Tipos de Instancia: Diferentes combinaciones de CPU, memoria, almacenamiento y capacidad de red optimizadas para distintos casos de uso.
  4. Grupos de Seguridad: Firewalls virtuales que controlan el tráfico de red entrante y saliente de tus instancias.
  5. Par de claves (Key Pairs): Credenciales para conectarte de forma segura a tus instancias via SSH (Linux) o RDP (Windows).
  6. 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:

FamiliaCasos de UsoEjemplo
General Purpose (T, M)Aplicaciones web, desarrollo, servidores pequeñost3.micro, m5.large
Compute Optimized (C)Procesamiento de alto rendimiento, gaming, HPCc5.xlarge
Memory Optimized (R, X)Bases de datos, caché, análisis big datar5.xlarge, x1e.xlarge
Storage Optimized (I, D)Bases de datos NoSQL, data warehousingi3.xlarge, d2.xlarge
GPU Instances (P, G)Machine Learning, renderizado, IAp3.2xlarge, g4dn.xlarge
💡 Consejo práctico: Cuando inicies en AWS, las instancias t3.micro o t3.small son excelentes para aprender y experimentar, ya que están incluidas en la capa gratuita de AWS.

Modelos de Precios de EC2

AWS ofrece diferentes modelos de precios para adaptarse a tus necesidades:

  1. On-Demand (bajo demanda): Pagas por segundo de uso sin compromisos. Ideal para cargas de trabajo impredecibles o pruebas.
  2. 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.
  3. 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.
  4. 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.
  5. Dedicated Hosts: Servidores físicos dedicados exclusivamente para tu uso. Cumplimiento regulatorio, licencias por socket/core.
⚠️ Importante: Las Spot Instances no son adecuadas para bases de datos de producción o aplicaciones que no toleren interrupciones. Siempre considera usar instancias Spot junto con checkpoints o para cargas de trabajo tolerantes a fallos.

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

📌 Recuerda: EBS permite separar el almacenamiento de la computación, lo que significa que puedes detener una instancia y mantener tus datos seguros en el volumen EBS.

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
  1. Selecciona una AMI: Elige el sistema operativo y software base (Amazon Linux 2, Ubuntu, Windows Server, etc.).
  2. Elige un Tipo de Instancia: Selecciona la combinación de recursos (CPU, RAM) según tus necesidades.
  3. Configura los detalles: Número de instancias, subred, comportamiento de apagado, y otras opciones avanzadas.
  4. Añade almacenamiento: Configura los volúmenes EBS y sus tamaños.
  5. Agrega etiquetas (Tags): Organiza tus recursos con pares clave-valor (Name, Environment, Project, etc.).
  6. Configura el Security Group: Define las reglas de firewall (SSH desde tu IP, HTTP/HTTPS desde anywhere).
  7. Revisa y lanza: Selecciona o crea un par de claves para el acceso y haz clic en "Lanzar".

Casos de Uso Comunes de EC2

📌 Aplicaciones prácticas 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.

💡 Buena práctica: Para producción, nunca confíes en una sola instancia. Usa Auto Scaling Groups con múltiples instancias en diferentes AZs y un Load Balancer delante.

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

AspectoEC2Lambda (Serverless)
ControlControl total del servidorSin gestión de servidores
EscalabilidadManual o con Auto ScalingAutomática e instantánea
FacturaciónPor segundo/horaPor ejecución (milisegundos)
Casos de usoServidores tradicionales, aplicaciones statefulProcesamiento 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.
CONCEPTO CLAVE: EC2 es la base de muchos servicios en AWS. Dominar EC2 te dará una comprensión profunda de cómo funciona la computación en la nube, lo cual es esencial para cualquier certificación o rol en el ámbito cloud.
🧠 Quiz: Amazon EC2

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
Respuesta correcta: B) Amazon Machine Image (AMI)
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)
Respuesta correcta: C) Memory Optimized (R, X)
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
Respuesta correcta: B) Spot Instances
Las Spot Instances pueden ofrecer descuentos de hasta 90% comparado con On-Demand, aunque pueden ser terminadas con poco aviso.
💡 Para practicar: Accede a la consola de AWS (console.aws.amazon.com), navega a EC2 y lanza una instancia t3.micro con Amazon Linux 2 usando la capa gratuita. Experimenta con Security Groups, conecta vía SSH y practica la gestión básica de instancias.

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