Desplegar una aplicación web con alta disponibilidad en AWS requiere combinar varios servicios: redes privadas, instancias de cómputo, balanceo de carga y un acceso seguro a los servidores. A continuación se recorre paso a paso la creación de esta arquitectura, partiendo de una VPC existente y construyendo sobre ella dos servidores en subredes privadas, un jump host en la subred pública y la asignación de una IP elástica para la administración remota.
¿Cómo se prepara la VPC para una arquitectura de alta disponibilidad?
El punto de partida es una VPC ya configurada —llamada "mi primer VPC"— que incluye un Internet Gateway y un NAT Gateway [0:23]. Ambos componentes ya están operativos, pero para este laboratorio el foco se centra en los recursos de cómputo y el balanceo, así que se simplifican del diagrama para evitar distracciones.
La estrategia consiste en distribuir servidores en dos zonas de disponibilidad distintas. Si una zona falla, la otra sigue respondiendo. Para eso se utilizan dos subredes privadas —privada uno y privada dos— cada una en una zona diferente, y se coloca un balanceador de carga delante de ambas para distribuir el tráfico entrante [1:03].
¿Cómo se crean las instancias EC2 en subredes privadas?
Desde la consola de AWS se busca EC2 y se selecciona Launch Instance [1:25].
Servidor A en la zona uno
- Nombre: servidor A.
- Imagen: Amazon Linux (por defecto).
- Instance type: t2.micro, que corresponde al propósito general y a la capa gratuita [1:43].
- Se crea un key pair llamado "servidor A"; el archivo
.pem se descarga automáticamente.
- En la sección de networking se selecciona la VPC, la subred privada uno y se desactiva la autoasignación de IP pública.
- Se crea un security group llamado SG privadas sin reglas abiertas para reforzar la seguridad [2:11].
- El volumen de almacenamiento (disco duro virtual en la nube) se deja con los valores predeterminados.
Servidor B en la zona dos
- Nombre: servidor B.
- Misma imagen y instance type.
- Se genera un key pair diferente —"servidor B"— como buena práctica de responsabilidad [2:50].
- En networking se elige la subred privada dos y se reutiliza el security group SG privadas ya existente.
- Se lanza la instancia.
Hasta aquí se tienen dos servidores en zonas de disponibilidad separadas, ambos aislados de Internet por estar en subredes privadas.
¿Qué es un jump host y por qué es necesario?
Un jump host (también llamado bastion host) es un servidor intermedio ubicado en una subred pública que permite al administrador de la nube conectarse a las instancias en subredes privadas [3:45]. Como los servidores A y B no tienen dirección IP pública, no se puede acceder a ellos directamente desde Internet.
El flujo es el siguiente:
- El cloud engineer se conecta primero al jump host.
- Desde el jump host se realiza un salto hacia el servidor A o el servidor B.
- Esto añade una capa de seguridad porque los servidores web quedan aislados de posibles atacantes en Internet [4:28].
Para crear el jump host se sigue el mismo procedimiento en EC2:
- Nombre: jump host.
- Imagen y instance type idénticos.
- Key pair propio: "jump host".
- En networking se selecciona la subred pública uno y se crea un nuevo security group llamado SG Jump host, también sin reglas abiertas inicialmente [4:53].
¿Cómo se asigna una IP elástica al jump host?
Para que el administrador pueda alcanzar el jump host desde Internet, este necesita una IP pública fija. En la consola de EC2 se accede a Elastic IPs [5:27], se solicita una nueva dirección con Allocate Elastic IP Address y se asocia al jump host mediante Actions > Associate Elastic IP Address [5:42]. Se selecciona la instancia del jump host y se confirma la asociación.
Esta Elastic IP garantiza que la dirección no cambie aunque el servidor se reinicie, facilitando la configuración de accesos y reglas de firewall.
Con estos pasos completados, la arquitectura cuenta con tres instancias listas —servidor A, servidor B y jump host— y una IP elástica asignada. El siguiente paso será conectarse a los servidores, instalar el servidor web Apache y configurar el balanceador de carga para lograr la alta disponibilidad. ¿Has montado arquitecturas similares? Comparte tu experiencia en los comentarios.