Instalación de IIS en Windows Server con Terraform
Clase 24 de 37 • Curso de Terraform
Resumen
¿Cómo agregar componentes a un servidor con Terraform?
La flexibilidad y escalabilidad son elementos cruciales al momento de manejar infraestructura en la nube. Terraform nos proporciona las herramientas necesarias para modificar y añadir características a nuestros servidores de manera eficiente y sencilla. Supongamos que, al desplegar una máquina virtual, olvidaste agregar algún componente. No te preocupes; puedes hacerlo fácilmente posteriormente usando Terraform. En este artículo, veremos cómo añadir el servidor web IIS a una máquina virtual en Windows Server utilizando Terraform.
¿Qué es IIS y por qué es importante?
Internet Information Services (IIS) es un servidor web creado por Microsoft, que actúa como la contraparte de Apache o Nginx en el mundo de Windows Server. Su función principal es desplegar sitios web, permitiendo que tu servidor se convierta en un potente host de aplicaciones web. Para aquellos nuevos en este ámbito o nacidos en la era digital, saber cómo operar y configurar IIS es una habilidad valiosa para cualquier administrador de sistemas que trabaje con entornos Windows.
¿Cómo instalar IIS en una máquina virtual con Terraform?
Vamos a desglosar el proceso de instalación y configuración de IIS en una máquina virtual en Windows Server haciendo uso de Terraform. Aquí te explicamos paso a paso cómo hacerlo:
-
Preparación del entorno
Asegúrate de tener acceso a tu máquina virtual a través de un archivo RDP y haber conectado la máquina virtual previamente. Si perdiste la conexión, deberás reconectar tu máquina mediante el escritorio remoto.
-
Modificación del script en Visual Studio
Abre tu archivo de Terraform en Visual Studio y busca el bloque
main
de la máquina virtual. Vamos a añadir un bloque de extensión de máquina virtual (virtual machine extension
) que permitirá la instalación de IIS.resource "azurerm_virtual_machine_extension" "web_server_install" { name = "${azurerm_virtual_machine.main.name}-inst" virtual_machine_id = azurerm_virtual_machine.main.id publisher = "Microsoft.Compute" type = "CustomScriptExtension" type_handler_version = "1.10" settings = <<SETTINGS { "commandToExecute": "powershell Add-WindowsFeature Web-Server" } SETTINGS }
-
Ejecutar Terraform para aplicar cambios
Una vez modificado el archivo, abre tu terminal de comandos, limpia la consola con
clear
y corre el comandoterraform plan
para verificar qué cambios se van a realizar en tu infraestructura según el nuevo script.Lanza el comando
terraform apply
para aplicar los cambios y espera a que el proceso de actualización concluye. Una vez terminado, los cambios habrán sido implementados, y IIS estará instalado en tu máquina virtual. -
Verificación de instalación
Reconecta a tu máquina virtual a través del escritorio remoto. Dirígete a
Server Manager
y verifica que IIS está instalado adecuadamente. Si todo ha salido bien, abre un navegador web dentro de la máquina virtual e ingresalocalhost
para comprobar que el servidor web está activo y mostrando su página de inicio.
¿Por qué elegir Terraform para la gestión de infraestructura?
Terraform no solo ofrece la posibilidad de desplegar infraestructura, sino también de modificarla y adaptarla a medida que cambian las necesidades. Esta capacidad para gestionar infraestructura como código permite iterar rápidamente, aplicar mejoras, y sobre todo, garantizar que todos los cambios se documentan y pueden ser revertidos o replicados en otros entornos.
Con esta herramienta, personalizar y configurar a detalle tus máquinas virtuales en la nube es sencillo, permitiendo así optimizar el rendimiento y funcionalidades según tus necesidades. Recuerda siempre explorar y aprender nuevas características de las herramientas que usas día a día. La tecnología evoluciona constantemente, y mantenerse actualizado es la clave para desbloquear nuevas oportunidades y desafíos.
¡Sigue explorando y aprendiendo, y no dudes en utilizar Terraform para hacer de tu infraestructura algo mucho más adaptable y fácil de gestionar!