Cómo Realizar la Modificación de la Formación en la Nube
DataSunrise proporciona un script dedicado para el despliegue de infraestructura HA dentro de Amazon Web Services basado en el Servicio de Formación en la Nube de Amazon. La siguiente plantilla crea todos los recursos necesarios para soportar el entorno HA de DataSunrise (los servidores EC2 bajo el grupo AutoScaling, las bases de datos RDS de Auditoría de Configuración y Diccionario, el Balanceador de Carga, etc.) y puede ser personalizada según las necesidades del cliente.
En este artículo, vamos a mostrar cómo se puede modificar la plantilla de Formación en la Nube para soportar la configuración personalizada. Se presentarán 2 escenarios.
Escenario 1.
Lanzamos la actualización menor de DataSunrise y AMIs semanalmente para mantener nuestra solución actualizada y lo más optimizada posible. Por ejemplo, actualizar los controladores ODBC, corregir algunas vulnerabilidades de la base de datos, actualizar las bibliotecas necesarias, etc. Por lo tanto, es posible que nuestros clientes deban actualizar los AMIs que están utilizando actualmente, al último disponible.
Esto se puede hacer mediante la edición manual de la plantilla. A continuación se proporciona una instrucción detallada:
- Abrir el archivo de la plantilla y proceder a la sección RegionMap:
Imagen 1. El archivo de la plantilla
- Selecciona la región donde tu entorno está desplegado.
- Procede a nuestro repositorio oficial de GitHub.
Actualizamos allí los archivos del script cada semana una vez que se lanza la nueva versión de DataSunrise.
- Procede también a la sección RegionMap y la región donde tus recursos están desplegados:
Imagen 2. El repositorio de DataSunrise
- Puedes actualizar el ID del AMI solo para la región que estás utilizando. Por lo tanto, copia el ID del AMI para la región requerida.
- Ve a tu archivo de plantilla actual y reemplaza el ID del AMI actual para la región requerida con el valor copiado de nuestro repositorio de GitHub.
- Ve a la página de AWS CF y selecciona la opción para Actualizar tu pila CF.
- Selecciona Reemplazar plantilla actual y sube la versión editada de tu plantilla (paso 6). Haz clic en Siguiente.
Ahora puedes verificar si el proceso de actualización se completó con éxito. Por ejemplo, si se requería actualizar los controladores ODBC, puedes realizar una prueba de conexión a tu base de datos objetivo para verificar si se utilizaron los controladores actualizados:
Configuración -> Bases de Datos -> Tu_base_de_datos_objetivo -> Probar conexión.

Si se utiliza la nueva versión del controlador ODBC, la actualización del AMI se completó con éxito.
De lo contrario, puedes revisar tus pasos o contactarnos para una investigación más detallada.
Escenario 2.
A veces, nuestros clientes necesitan instalar algunas herramientas adicionales, por ejemplo, controladores ODBC, cambiar la configuración del servidor o aplicar las últimas correcciones de infraestructura. Esto se puede hacer modificando la parte de UserData del archivo de la plantilla CF.
Veamos cómo se puede hacer esto. Vamos a configurar un controlador ODBC DB2 que no está incluido por defecto en nuestras imágenes de AWS.
En la plantilla CF en la sección UserData, se están importando varios scripts que contienen todas las configuraciones necesarias:

Cada uno configura su propio conjunto de componentes ambientales:
- vm-creads.sh – este script es necesario para recuperar y adjuntar un rol IAM a la máquina EC2 actual.
- cf-params.sh – este script se utiliza para transferir los valores de los parámetros de los recursos de la pila CF al script para que puedan ser fácilmente utilizados durante el flujo de trabajo del script.
- ds-manip.sh – este script es necesario para algunas operaciones administrativas tales como otorgar permisos al usuario de Datasunrise a cualquier archivo, iniciar/cerrar sesión en la consola web de Datasunrise, etc.
- ds-setup.sh – este script contiene todas las funciones necesarias para configurar DataSunrise con éxito. Por ejemplo, configurar la contraseña del administrador, configuración de la base de datos del diccionario, configuración del proxy, etc.
- aws-ds-setup.sh – este script configura los recursos basados en AWS como las métricas de CloudWatch y la carga de logs.
- pre-setup.sh – este script es necesario para preparar el entorno para la instalación de DataSunrise: descarga de paquetes necesarios, compilaciones, configuración de una licencia para la aplicación DataSunrise, etc.
En el caso de hoy, vamos a instalar el controlador ODBC DB2 que se utilizará durante la inicialización de la instancia de la base de datos objetivo. Por lo tanto, aplicaremos los cambios en el archivo pre-setup.sh.
En nuestro escenario, los comandos necesarios se toman de la documentación oficial de DataSunrise.
- Vamos a pegar los comandos necesarios en el archivo pre-setup.sh.
- Pero primero, necesitamos subir el controlador ODBC DB2 al bucket S3. Así que, por favor, descarga los controladores desde el sitio web oficial. Necesitarás iniciar sesión en tu cuenta de IBM o crear una nueva cuenta. Una vez descargado el controlador, súbelo al bucket S3, el que especificaste como BackupS3BucketName durante el despliegue del script de Formación en la Nube.
- Ahora, peguemos los comandos necesarios como se muestra a continuación:
Imagen 5. Comandos en el archivo pre-setup.sh
Aquí están los comandos:
logBeginAct "Instalar controlador ODBC DB2..." aws s3 cp "s3://$BackupS3BucketName/ibm_data_server_driver_for_odbc_cli_linuxx64_v11.1.tar.gz" ibm_data_server_driver_for_odbc_cli_linuxx64_v11.1.tar.gz --only-show-errors tar -xfv ibm_data_server_driver_for_odbc_cli_linuxx64_v11.1.tar.gz echo "[DB2]" | sudo tee -a /etc/odbcinst.ini echo "Driver = /home/user/clidriver/lib/libdb2o.so" | sudo tee -a /etc/odbcinst.ini echo "Description = DB2 Driver" | sudo tee -a /etc/odbcinst.ini echo "FileUsage = 1" | sudo tee -a /etc/odbcinst.ini echo "DontDLClose = 1" | sudo tee -a /etc/odbcinst.ini RETVAL=$? logEndAct "Resultado de la instalación del controlador ODBC DB2 - $RETVAL"
- Para monitorear el progreso en la instalación del controlador ODBC, puedes utilizar nuestro mecanismo de registro:
- utiliza la función logBeginAct para iniciar el registro y separar una parte del proceso de instalación de otra:
la línea en la plantilla: logBeginAct “Instalar controlador ODBC DB2…”
la salida en el archivo cloud-init-output.txt: [DS
]: Instalar controlador ODBC DB2… * El archivo cloud-init-output.txt es un archivo que almacena todos los mensajes de registro del despliegue del script de Formación en la Nube de DataSunrise. Se puede encontrar en /var/log/messages/. Puedes verificarlo siempre que necesites solucionar problemas con el despliegue de tu pila de formación en la nube.
- una vez que has abierto la parte logBeginAct, dentro de esa parte puedes usar la función log para registrar cualquier información o estado en el archivo cloud-init-output.txt.
No lo usaremos en nuestra parte pegada, pero puedes ver otro ejemplo:
Imagen 6. Ejemplo de la función de registro
- Para finalizar la parte de registro puedes introducir:
logEndAct “Resultado de la instalación del controlador ODBC DB2 – $RETVAL”
Imagen 7. Ejemplo de $RETVAL
* La variable RETVAL se utiliza para verificar el código de salida de la ejecución del comando anterior.
RETVAL=$?
- utiliza la función logBeginAct para iniciar el registro y separar una parte del proceso de instalación de otra:
- Guarda el archivo. Ve a la página de AWS CF y selecciona la opción para Actualizar tu pila CF.
- Selecciona Reemplazar plantilla actual y sube la versión editada de tu plantilla (paso 2). Haz clic en Siguiente.
- Reinicia la aplicación y realiza la prueba de conexión para asegurarte de que el controlador DB2 se está utilizando ahora:

La personalización de la plantilla se completó con éxito. La plantilla de formación en la nube también se puede personalizar para casos de uso adicionales. La mayoría de las modificaciones generalmente se realizan en la sección de scripts de UserData. No dudes en contactarnos para asistencia si necesitas ayuda con la personalización de la Formación en la Nube.