i
Instalación en AWS
A continuación, se detallan los pasos para instalar un servicio en ECS o EKS dentro de los servicios de AWS.
Propiedades del Servicio
Estas son las propiedades que deben definirse para que el servicio funcione correctamente:
Parámetro |
Valor |
Descripción |
---|---|---|
CLIENT |
miambiente |
Nombre del ambiente. Se usa para recuperar el secret. |
MODALITY |
cloud |
Si se utiliza un secret, debe colocarse el valor cloud. |
REGION_AWS |
us-east-1 |
Región AWS donde se buscará el secret |
INTERFACE_AWS |
10.110.*.* |
Segmento de red para que las tareas del mismo servicio Deyel se comuniquen. |
TAG_KEY_AWS |
Name |
Clave que permite identificar las instancias EC2 dentro del clúster. |
TAG_VALUE_AWS |
EC2-Servidor1 |
Valor asignado a la clave TAG_KEY_AWS para localizar las EC2. |
USE_HAZELCAST |
true |
Valor obligatorio. |
SQL_DRIVER |
com.mysql.jdbc.Driver |
Driver JDBC usado para conectar a la base de datos. |
SQL_URL |
jdbc:mysql://mydatabase.amazonaws.com:3306/miambiente?useUnicode=true&characterEncoding=latin1 |
URL de conexión a la base de datos MySQL/Aurora. |
SQL_USER |
miambiente |
Usuario para acceder al esquema de base de datos (si no se usa un secret). |
SQL_PASSWORD |
miclave |
Contraseña del usuario de la base de datos (si no se usa un secret). |
Configuración de Logs
En la tabla property_value de la base de datos, configurar las siguientes propiedades:
Propiedad |
Valor Ejemplo |
Descripción |
---|---|---|
LOG_DIRECTORY |
/opt/BACKUP/logs/miambiente |
Ruta donde se almacenarán los logs generados por la aplicación. |
LOG_DIRECTORY_DOWNLOAD |
/opt/BACKUP/logs/miambiente |
Ruta para descargar los logs generados. |
LOG_OUTPUT |
/opt/BACKUP/logs/miambiente |
Define que los logs se escribirán en un archivo. |
Configurar los logs en una carpeta del EFS (Elastic File System):
•En los EC2 del clúster, definir la ruta de la carpeta en EFS que almacenará los logs.
•En las tareas del clúster, realizar el montaje de esta carpeta para que los logs sean guardados correctamente en EFS.
Configurar el Target Group
Debe configurarse el acceso al servicio para que se realice a través del Target Group en puerto 8080, tal como se muestra en la imagen.
Se deben configurar los atributos mostrados en la imagen.
Configurar el Application Load Balancer (ALB)
Acceder al Load Balancer (ALB) y configurar el parámetro IDLE TIMEOUT en 4000 segundos.
Este ajuste es importante para evitar que las conexiones se cierren automáticamente debido a inactividad.
Configurar el Certificado HTTPS
•Si el certificado es público:
Utilizar AWS Certificate Manager (ACM) para hacer la petición del certificado.
Configurar en el Application Load Balancer (ALB), el certificado cargado previamente en ACM, para cifrar las conexiones HTTPS.
•Si el certificado es privado (para acceso restringido):
Un script es responsable de instalar el certificado cuando se inicia el contenedor del servicio Deyel.
Este script debe estar ubicado en una carpeta montada dentro del contenedor.
Pasos para Configurar el Certificado en el Contenedor
1.Definir Volúmenes en Docker Compose
Se debe definir un volumen en el archivo docker-compose.yml donde se encuentre el script de instalación del certificado. |
Ejemplo: |
volumes: |
- './app-logs:/opt/tomcat/webapps/ROOT/logs' |
- './app-scripts:/optaris/userScript' |
2.Ubicación del Script startup.sh
El script startup.sh debe estar presente en la carpeta app-scripts en el servidor host. |
Este script se ejecutará al iniciar el contenedor, antes de arrancar el servidor Tomcat. |
3.Contenido del Script startup.sh
El script debe incluir la instalación del certificado en el contenedor de la siguiente manera: |
#!/bin/bash |
echo "$CERT_PATH" > /tmp/ca.crt |
$JAVA_HOME/bin/keytool -importcert -file /tmp/ca.crt -alias ca-root-banesco -keystore $JAVA_HOME/lib/security/cacerts -storepass changeit -noprompt |
exec $TOMCAT_HOME/bin/catalina.sh run
Configuración/Creación de Base de Datos Aurora MySql 8
Al crear la base de datos en Aurora, se debe configurar para que los nombres de las tablas no sean sensibles a mayúsculas y minúsculas (case-insensitive).
Este parámetro solo puede establecerse en el momento de la creación del clúster.
Pasos para la creación de la base de datos Aurora
1.Crear nuevos Parameter Groups
Crear un DBClusterParameterGroup y un DBParameterGroup basados en la familia:
Aurora MySQL - aurora-mysql8.0
2.Modificar el DBClusterParameterGroup creado
Establecer los siguientes valores:
character_set_client: latin1
character_set_connection: latin1
character_set_database: latin1
character_set_filesystem: latin1
character_set_results: latin1
character_set_server: latin1
innodb_file_per_table: '0'
lower_case_table_names: '1'
long_query_time: '1'
slow_query_log: '1'
3.Modificar el DBParameterGroup creado
Establecer los siguientes valores:
innodb_print_all_deadlocks: '1'
log_bin_trust_function_creators: '1'
log_output: FILE
max_allowed_packet: '1073741824'
sql_mode: 'STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION'
4.Crear una nueva base de datos Aurora MySQL
Usar los Parameter Groups creados anteriormente.
Motor: 8.0.mysql_aurora