Saltar al contenido principal

Lab: Análisis y Diseño de Arquitectura EC2

Objetivos del Lab​

Este lab es un ejercicio de diseño y análisis. Usted va a:

  • ✅ Analizar arquitecturas EC2 existentes
  • ✅ Identificar buenas prácticas y errores
  • ✅ Diseñar su propia arquitectura
  • ✅ Justificar sus elecciones técnicas
Enfoque Teórico

Este lab no requiere acceso a AWS. Trabajará en papel/documento con esquemas y análisis.

Duración Estimada​

2 horas


Parte 1: Análisis de Arquitectura Existente​

Escenario: Sitio E-Commerce​

Aquí está la arquitectura actual de un sitio e-commerce:

┌─────────────────────────────────────────────────────────────┐
│ RÉGION : us-east-1 │
├─────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ AZ : us-east-1a │ │
│ │ │ │
│ │ ┌─────────────────────────────────────────────┐ │ │
│ │ │ Instance EC2 : i-web001 │ │ │
│ │ │ Type : t2.micro │ │ │
│ │ │ AMI : Amazon Linux 2 │ │ │
│ │ │ IP Publique : 52.1.2.3 │ │ │
│ │ │ │ │ │
│ │ │ Applications : │ │ │
│ │ │ - Apache (port 80) │ │ │
│ │ │ - MySQL (port 3306) │ │ │
│ │ │ - Application PHP │ │ │
│ │ │ │ │ │
│ │ │ Security Group : sg-default │ │ │
│ │ │ Règles : │ │ │
│ │ │ - Inbound: SSH (22) - 0.0.0.0/0 │ │ │
│ │ │ - Inbound: HTTP (80) - 0.0.0.0/0 │ │ │
│ │ │ - Inbound: MySQL (3306) - 0.0.0.0/0 │ │ │
│ │ │ │ │ │
│ │ │ Stockage : 8 GB EBS (gp2) │ │ │
│ │ └─────────────────────────────────────────────┘ │ │
│ │ │ │
│ └─────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────┘

Preguntas de Análisis​

Pregunta 1: Problemas de Seguridad

Identifique al menos 3 problemas de seguridad en esta arquitectura.

💡 Pista

Observe:

  • Las reglas del Security Group
  • La ubicación de MySQL
  • La arquitectura de una sola instancia

Pregunta 2: Problemas de Disponibilidad

Identifique los riesgos de disponibilidad de esta arquitectura.

💡 Pista

Piense en:

  • Número de zonas de disponibilidad
  • Punto único de falla (SPOF)
  • Capacidad de escalado

Pregunta 3: Problemas de Rendimiento

El sitio se vuelve lento durante las rebajas. ¿Cuáles son las posibles causas?

💡 Pista

Analice:

  • El tipo de instancia
  • La separación de componentes
  • El almacenamiento

Parte 2: Corrección de la Arquitectura​

Ejercicio: Proponer una Mejor Arquitectura​

Rediseñe la arquitectura corrigiendo los problemas identificados.

Restricciones:

  • Presupuesto moderado (sin instancias gigantes)
  • El sitio debe estar disponible 99.9%
  • La base de datos debe estar segura
  • Debe soportar picos de tráfico (rebajas)

Plantilla de Respuesta​

Complete esta plantilla:

NUEVA ARQUITECTURA PROPUESTA
============================

Región: _____________

Zonas de Disponibilidad utilizadas: ____________

COMPONENTE 1: Servidor(es) Web
------------------------------
- Número de instancias: _____
- Tipo de instancia: _____
- AMI: _____
- Ubicación: _____
- Security Group:
- Inbound: _____
- Outbound: _____

COMPONENTE 2: Base de Datos
---------------------------
- Servicio/Instancia: _____
- Tipo: _____
- Ubicación: _____
- Security Group:
- Inbound: _____

COMPONENTE 3: (Opcional)
------------------------
- _____

JUSTIFICACIONES
---------------
1. ¿Por qué este tipo de instancia? _____
2. ¿Por qué esta configuración de red? _____
3. ¿Cómo gestiona la alta disponibilidad? _____

Parte 3: Esquema de Arquitectura​

Ejercicio: Dibujar la Arquitectura​

Cree un esquema de arquitectura profesional que incluya:

Elementos obligatorios:

  • La región AWS
  • Al menos 2 zonas de disponibilidad
  • Las instancias EC2 (web)
  • La base de datos (separada)
  • Los Security Groups con sus reglas
  • Las conexiones de red

Herramientas sugeridas:

  • Draw.io (gratuito): https://app.diagrams.net/
  • Lucidchart (gratuito limitado)
  • PowerPoint/Google Slides
  • Papel y lápiz (foto a adjuntar)

Ejemplo de Estructura​

┌─────────────────────────────────────────────────────────────┐
│ RÉGION : __________ │
├─────────────────────────────────────────────────────────────┤
│ │
│ ┌──────────────────────────────────────┐ │
│ │ [Su componente] │ │
│ └──────────────────────────────────────┘ │
│ │
│ ┌───────────────────┐ ┌───────────────────┐ │
│ │ AZ : ____ │ │ AZ : ____ │ │
│ │ │ │ │ │
│ │ [Instancias] │ │ [Instancias] │ │
│ │ │ │ │ │
│ └───────────────────┘ └───────────────────┘ │
│ │
│ ┌──────────────────────────────────────┐ │
│ │ [Base de datos] │ │
│ └──────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────┘

Parte 4: Estudio de Caso - Elección de Instancias​

Escenario A: Startup - MVP​

Contexto:
- Aplicación web simple (blog + formulario de contacto)
- 100 visitantes/día esperados
- Presupuesto muy limitado (< $20/mes)
- Equipo de 2 desarrolladores

Preguntas:
1. ¿Qué tipo de instancia recomienda?
2. ¿Qué región?
3. ¿Qué compromisos hace?

Escenario B: PyME - Aplicación Empresarial​

Contexto:
- ERP/CRM para 50 empleados
- Base de datos PostgreSQL (20 GB)
- Uso 8h-18h, lunes-viernes
- Necesidad de rendimiento constante

Preguntas:
1. ¿Qué tipo de instancia para la aplicación?
2. ¿Qué tipo de instancia para la base de datos?
3. ¿Se requieren instancias Reserved?

Escenario C: E-Commerce - Black Friday​

Contexto:
- Sitio e-commerce existente
- Tráfico normal: 1000 visitantes/hora
- Black Friday: 50000 visitantes/hora (pico)
- Catálogo de 10000 productos

Preguntas:
1. ¿Cómo gestionar el pico de tráfico?
2. ¿Qué estrategia de escalado?
3. ¿Qué tipos de instancias para cada nivel de carga?

Parte 5: Tabla Resumen de Elecciones​

Complete esta tabla para cada escenario:

CriterioEscenario AEscenario BEscenario C
Instancia Web
Instancia BDD
Modelo de precios
Número de AZ
Costo estimado/mes
Justificación principal

Entregables del Lab​

Documento a Entregar​

Cree un documento (Word, PDF o Markdown) que contenga:

1. Portada

  • Nombre, fecha, título del lab

2. Parte 1: Análisis (20%)

  • Lista de 3+ problemas de seguridad
  • Lista de riesgos de disponibilidad
  • Análisis de problemas de rendimiento

3. Parte 2: Corrección (25%)

  • Plantilla completada con la nueva arquitectura
  • Justificaciones detalladas

4. Parte 3: Esquema (25%)

  • Esquema de arquitectura claro y legible
  • Leyenda de los componentes
  • Security Groups documentados

5. Parte 4: Estudios de Caso (20%)

  • Respuestas para los 3 escenarios
  • Justificación de las elecciones

6. Parte 5: Tabla (10%)

  • Tabla resumen completada

Tabla de Evaluación​

CriterioPuntos
Identificación correcta de los problemas4
Arquitectura corregida coherente5
Esquema claro y completo5
Elección de instancias justificada4
Tabla resumen completa2
Total20

Corrección - Parte 1 (Consultar después de realizar el ejercicio)​

📋 Ver la corrección

Problemas de Seguridad​

  1. SSH abierto a todo el mundo (0.0.0.0/0)

    • Riesgo: Ataques de fuerza bruta
    • Solución: Restringir a la IP del administrador
  2. MySQL expuesto públicamente (0.0.0.0/0)

    • Riesgo: Acceso no autorizado a la base de datos
    • Solución: Cerrar el puerto, acceso solo interno
  3. Todo en la misma instancia

    • Riesgo: Si la instancia es comprometida, todo lo está
    • Solución: Separar web y base de datos
  4. Uso del SG por defecto

    • Riesgo: Reglas no auditadas
    • Solución: Crear SG específicos

Problemas de Disponibilidad​

  1. Una sola AZ

    • Riesgo: Falla de zona = sitio caído
    • Solución: Multi-AZ
  2. Instancia única (SPOF)

    • Riesgo: Falla de instancia = sitio caído
    • Solución: Múltiples instancias + Load Balancer
  3. Sin backup visible

    • Riesgo: Pérdida de datos
    • Solución: Snapshots EBS, RDS Multi-AZ

Problemas de Rendimiento​

  1. t2.micro demasiado pequeña

    • Créditos burst se agotan rápidamente
    • Solución: t3.small mínimo para producción
  2. MySQL en la misma instancia

    • Competencia por los recursos
    • Solución: Instancia dedicada o RDS
  3. 8 GB de almacenamiento insuficiente

    • Solución: EBS gp3, más grande

Recursos para el Lab​

Iconos AWS​

Documentación​

Calculadora de Precios​


¡Felicidades! Ha completado el lab de arquitectura EC2. Estas habilidades de diseño son esenciales para cualquier arquitecto cloud.