Introducción

La infraestructura global de AWS está diseñada para proporcionar una plataforma de computación en la nube altamente disponible, escalable y segura. Comprender cómo está estructurada esta infraestructura es crucial para diseñar y desplegar aplicaciones que aprovechen al máximo los servicios de AWS.

Objetivos de Aprendizaje

Al final de esta sección, deberías ser capaz de:

  • Comprender los conceptos de regiones y zonas de disponibilidad.
  • Identificar las diferencias entre regiones y zonas de disponibilidad.
  • Explicar la importancia de los puntos de presencia (PoP) y las redes de entrega de contenido (CDN).
  • Describir cómo AWS garantiza la alta disponibilidad y la tolerancia a fallos.

Conceptos Clave

  1. Regiones de AWS

Las regiones de AWS son ubicaciones geográficas separadas donde AWS aloja sus centros de datos. Cada región está completamente aislada de las demás para garantizar la máxima tolerancia a fallos y la seguridad de los datos.

  • Características de las regiones:

    • Aislamiento geográfico: Cada región está ubicada en una área geográfica distinta.
    • Independencia: Las regiones no comparten recursos, lo que proporciona redundancia y aislamiento de fallos.
    • Latencia baja: Al elegir una región cercana a tus usuarios finales, puedes reducir la latencia de tus aplicaciones.
  • Ejemplos de regiones:

    • us-east-1 (Norte de Virginia)
    • eu-west-1 (Irlanda)
    • ap-southeast-1 (Singapur)

  1. Zonas de Disponibilidad (AZ)

Las zonas de disponibilidad son ubicaciones discretas dentro de una región que están diseñadas para ser aisladas de fallos en otras zonas de disponibilidad. Cada región de AWS tiene múltiples zonas de disponibilidad.

  • Características de las zonas de disponibilidad:

    • Aislamiento físico: Cada AZ está ubicada en un edificio separado, con infraestructura independiente.
    • Conectividad de baja latencia: Las AZ dentro de una región están conectadas por redes de alta velocidad y baja latencia.
    • Redundancia: Al desplegar aplicaciones en múltiples AZ, puedes mejorar la disponibilidad y la tolerancia a fallos.
  • Ejemplo de uso:

    • Desplegar instancias de Amazon EC2 en múltiples AZ para garantizar que tu aplicación siga funcionando incluso si una AZ falla.

  1. Puntos de Presencia (PoP) y CDN

Los puntos de presencia son ubicaciones donde AWS almacena contenido en caché para mejorar la entrega de contenido a los usuarios finales. AWS utiliza Amazon CloudFront como su red de entrega de contenido (CDN).

  • Características de los PoP:

    • Ubicaciones globales: Los PoP están distribuidos globalmente para reducir la latencia.
    • Entrega rápida: Almacenan en caché contenido estático y dinámico para una entrega más rápida a los usuarios finales.
    • Seguridad: Proporcionan características de seguridad como protección DDoS y cifrado de datos.
  • Ejemplo de uso:

    • Utilizar Amazon CloudFront para distribuir contenido estático de tu sitio web, como imágenes y videos, a usuarios en todo el mundo con baja latencia.

Ejemplo Práctico

Desplegar una Aplicación Web en Múltiples Zonas de Disponibilidad

  1. Crear una instancia de EC2 en la región us-east-1:

    aws ec2 run-instances --image-id ami-0abcdef1234567890 --count 1 --instance-type t2.micro --key-name MyKeyPair --region us-east-1 --placement AvailabilityZone=us-east-1a
    
  2. Crear otra instancia de EC2 en una zona de disponibilidad diferente dentro de la misma región:

    aws ec2 run-instances --image-id ami-0abcdef1234567890 --count 1 --instance-type t2.micro --key-name MyKeyPair --region us-east-1 --placement AvailabilityZone=us-east-1b
    
  3. Configurar un balanceador de carga elástico (ELB) para distribuir el tráfico entre las dos instancias:

    aws elb create-load-balancer --load-balancer-name my-load-balancer --listeners "Protocol=HTTP,LoadBalancerPort=80,InstanceProtocol=HTTP,InstancePort=80" --availability-zones us-east-1a us-east-1b
    

Explicación del Código

  • aws ec2 run-instances: Comando para lanzar una nueva instancia de EC2.
  • --image-id: ID de la AMI (Amazon Machine Image) que se utilizará para la instancia.
  • --count: Número de instancias a lanzar.
  • --instance-type: Tipo de instancia (t2.micro en este caso).
  • --key-name: Nombre del par de claves para acceder a la instancia.
  • --region: Región donde se lanzará la instancia.
  • --placement AvailabilityZone: Zona de disponibilidad específica dentro de la región.
  • aws elb create-load-balancer: Comando para crear un balanceador de carga elástico.
  • --load-balancer-name: Nombre del balanceador de carga.
  • --listeners: Configuración de los puertos y protocolos para el balanceador de carga.
  • --availability-zones: Zonas de disponibilidad donde se distribuirá el tráfico.

Ejercicio Práctico

Ejercicio 1: Desplegar una Aplicación en Múltiples Zonas de Disponibilidad

  1. Objetivo: Desplegar una aplicación web en dos zonas de disponibilidad diferentes dentro de la región us-west-2 (Oregón) y configurar un balanceador de carga para distribuir el tráfico.
  2. Pasos:
    • Crear dos instancias de EC2 en diferentes zonas de disponibilidad.
    • Configurar un balanceador de carga elástico para distribuir el tráfico entre las dos instancias.
  3. Instrucciones:
    • Utiliza la consola de administración de AWS o la CLI de AWS para completar este ejercicio.
    • Asegúrate de que ambas instancias estén en funcionamiento y accesibles a través del balanceador de carga.

Solución

  1. Crear la primera instancia de EC2:

    aws ec2 run-instances --image-id ami-0abcdef1234567890 --count 1 --instance-type t2.micro --key-name MyKeyPair --region us-west-2 --placement AvailabilityZone=us-west-2a
    
  2. Crear la segunda instancia de EC2:

    aws ec2 run-instances --image-id ami-0abcdef1234567890 --count 1 --instance-type t2.micro --key-name MyKeyPair --region us-west-2 --placement AvailabilityZone=us-west-2b
    
  3. Configurar el balanceador de carga:

    aws elb create-load-balancer --load-balancer-name my-load-balancer --listeners "Protocol=HTTP,LoadBalancerPort=80,InstanceProtocol=HTTP,InstancePort=80" --availability-zones us-west-2a us-west-2b
    

Conclusión

En esta sección, hemos explorado la infraestructura global de AWS, incluyendo regiones, zonas de disponibilidad y puntos de presencia. Comprender estos conceptos es fundamental para diseñar aplicaciones que sean altamente disponibles, escalables y seguras. En el próximo módulo, profundizaremos en los servicios principales de AWS, comenzando con Amazon EC2.

© Copyright 2024. Todos los derechos reservados