Un módulo de OpenTofu levanta un servidor WireGuard desechable en AWS
Un módulo de OpenTofu crea un servidor WireGuard en AWS con un comando y lo destruye con otro, por unos 0,0042 dólares la hora.

Levantar un servidor VPN para unas horas y borrarlo después cabe en dos comandos. Es lo que propone un módulo de OpenTofu publicado en abierto: just apply crea la instancia, instala WireGuard y devuelve la configuración del cliente; just destroy se lleva por delante los cuatro recursos que había levantado. En medio, una t4g.nano con Amazon Linux 2023 en arm64 que cuesta alrededor de 0,0042 dólares por hora según la región elegida.
El planteamiento viene de alguien que viaja a menudo y se topa con redes filtradas. Su primera capa es cambiar los resolvers DNS que reparte el DHCP por uno público y activar DNS over TLS, en su caso en el mini router, de modo que el resto de dispositivos de la LAN lo heredan sin tocar nada. Eso no esquiva bloqueos por IP ni por puerto, pero se configura una vez y no se vuelve a pensar en ello.
La segunda capa es un VPN comercial. Tira del plan gratuito de Proton, que se instala con un brew install, y señala su límite evidente: no deja escoger el país de salida. Si el país que te toca también filtra, el problema sigue ahí, y los servidores compartidos pueden ir cargados. Pagar el plan de pago no le compensa porque su uso es esporádico, de unas pocas horas al mes como mucho. De ahí el tercer escalón.
Qué levanta el módulo
El repositorio trae un módulo de OpenTofu que, con una cuenta de AWS, debería funcionar tal cual. Crea un grupo de seguridad que acepta SSH y tráfico de WireGuard, deja la salida abierta, arranca la instancia y lanza cloud-init para actualizar paquetes, instalar el demonio de WireGuard, configurarlo como servidor con las claves dadas y montar las reglas de iptables. El aprovisionamiento completo hasta tener el demonio aceptando conexiones ronda los cinco minutos. Como extra opcional añade un registro DNS para que la configuración del cliente sea estática.
Los valores por defecto se cambian desde variables.tf, y el autor lo plantea como plantilla más que como solución cerrada: portarlo a otro proveedor, tipo DigitalOcean, es cuestión de retocar el módulo. Menciona Tailscale como alternativa que respeta, aunque prefiere no sumar otra cuenta ni más software en la máquina cuando el esfuerzo de hacerlo a mano es bajo.
Lo que no hay en la entrada son medidas de caudal ni de latencia, ni qué ocurre si el proveedor de turno bloquea los rangos de direcciones de AWS, algo bastante común en según qué filtrados. El atractivo del enfoque está en el modelo de coste y en la propiedad: pagas solo las horas que usas, eliges región y no dependes de la política de salida de un tercero.


