Cómo Desplegar DataSunrise con Plantilla de Terraform en Azure
Anteriormente describimos cómo configurar DataSunrise en Microsoft Azure utilizando Azure Resource Manager. En cuanto a la configuración de Alta Disponibilidad, que requiere una implementación precisa de la configuración con todas las dependencias aplicadas correctamente, no hay duda de que las plantillas son útiles. Sin ellas, la instalación del producto podría llevar mucho más tiempo e incluir el mantenimiento de una solución confiable y estable para ejecutar el entorno del producto. Para evitar tales inconvenientes, DataSunrise proporciona un script dedicado para el despliegue de infraestructura HA dentro del servicio Microsoft Azure basado en una plantilla de Terraform. El proceso de despliegue está automatizado y no requiere ajustes manuales adicionales.
La infraestructura de DataSunrise incluye:
- Red Virtual personalizada donde se almacenan subredes.
- Nodos de autoescalado de DataSunrise (instancias).
- Almacenamiento de configuración y auditoría basado en bases de datos de Azure.
- El Balanceador de Carga de Azure se utiliza para distribuir el tráfico entre los nodos activos.
- ScaleSet incluye la configuración del clúster de conmutación por error.
- Key Vault se utiliza para almacenar credenciales para recursos.
Todos estos componentes están ubicados dentro de una red virtual personalizada con la subred especificada.
Preparación para el Despliegue de la Plantilla de Terraform
Algunas entidades deben existir en su entorno de Azure antes del proceso de despliegue. Aquí está la lista de elementos requeridos:
- AZ CLI está instalado.
- Descargado/Instalado Terraform CLI.
- Cuenta de almacenamiento con un contenedor accesible con la compilación de DataSunrise dentro o cualquier lugar desde donde pueda descargar la compilación de DataSunrise.
Importante:
La suscripción de su cuenta de Azure debe estar asignada al rol de Propietario para habilitar el uso del recurso de Identidad Administrada para conectarse a Azure CLI y desplegar los recursos de Azure requeridos para la implementación exitosa de DataSunrise. Puede verificarlo en Suscripciones -> <su-suscripción> -> Control de acceso -> Asignaciones de roles.
Desplegando una Plantilla de Terraform
Registre o seleccione una aplicación existente y proporcione “CLIENT_ID”, “CLIENT_SECRET”, “SUBSCRIPTION_ID”, “TENANT_ID”.


Script de Terraform
Descargue el script de Terraform del repositorio para desplegar DataSunrise en una configuración HA. Abra el archivo terraform.tfvars y reemplace xxxxxxxxx con valores que correspondan a su entorno:

Abra la consola y configure estas variables de entorno:
Set ARM_CLIENT_ID="SET-CLIENT-KEY-HERE" Set ARM_CLIENT_SECRET="SET-CLIENT-SECRET-HERE" Set ARM_SUBSCRIPTION_ID="SET-SUBSCRIPTION-ID-HERE" Set ARM_TENANT_ID="SET-TENANT-ID-HERE"
Importante: en Windows, necesita copiar el archivo ejecutable descargado, terraform.exe, a la carpeta scripts.
Comandos de Terraform
El comando terraform init.
Este comando se utiliza para inicializar un directorio de trabajo que contiene archivos de configuración de Terraform. Este es el primer comando que debe ejecutarse después de configurar una nueva configuración de Terraform o clonar una existente desde el control de versiones. Es seguro ejecutar este comando varias veces.

El comando terraform plan.
Este comando crea un plan de ejecución que le permite previsualizar los cambios que Terraform planea hacer en su infraestructura. Por defecto, cuando Terraform crea un plan hace lo siguiente:
- Lee el estado actual de cualquier objeto remoto ya existente para asegurarse de que el estado de Terraform esté actualizado.
- Compara la configuración actual con el estado anterior y nota cualquier diferencia.
- Propone un conjunto de acciones de cambio que, si se aplican, harán que los objetos remotos coincidan con la configuración.

El comando terraform apply.
Este comando ejecuta las acciones propuestas en un plan de Terraform.
El comando terraform destroy.
Este comando destruye el entorno creado. Además, es una manera conveniente de destruir todos los objetos remotos manejados por una configuración específica de Terraform. Además, el comando terraform destroy le permite limpiar convenientemente todos los objetos temporales una vez que haya terminado su trabajo.
Finalizando el Despliegue
Después de ejecutar terraform apply, la creación de recursos toma alrededor de 10-15 minutos, y la configuración adicional e instalación de bibliotecas adicionales toman alrededor de 15-20 minutos.
Puede ver todos los recursos creados en el grupo de recursos creado con el nombre que se estableció en terraform.tfvars – prefijo.
Si todos los recursos se despliegan con éxito, se listarán dentro del grupo de recursos:

Depuración
Si su servidor no está disponible por un tiempo prolongado, puede conectarse a la máquina virtual creada a través de SSH utilizando el nombre de usuario y la contraseña especificados en el archivo terraform.tfvars. Una vez conectado, ejecute el comando sudo cat /var/log/cloud-init-output.log y vea la razón para la instalación incorrecta del servidor.
Conectándose a la Interfaz Web de DataSunrise
Para conectarse a la consola web de DataSunrise, utilice la dirección IP pública del balanceador de carga. Se conectará automáticamente a uno de los nodos configurados. También necesita utilizar esta dirección IP para conectarse a su base de datos de destino a través de un proxy y para conectarse a su máquina virtual utilizando SSH.
La base de datos de destino se agregará automáticamente a la configuración de DataSunrise:
