Encripta el tráfico de red
Una práctica recomendada es encriptar el tráfico de red entre la aplicación de Looker y tu base de datos. Considera una de las opciones que se describen en la página de documentación Habilita el acceso seguro a bases de datos.
Si te interesa usar la encriptación SSL, consulta la documentación del RDS de MySQL.
Opciones
Por motivos de rendimiento, es común usar bases de datos de réplica de solo lectura, también llamadas réplicas de lectura, con Looker. Esto libera la base de datos de producción para que realice su función principal sin que ninguna consulta la ralentice.
En este documento, se describe cómo hacer lo siguiente:
- Modificar una base de datos de réplica existente para que funcione con Looker
- Crea una nueva base de datos de réplica de lectura y configúrala para que funcione con Looker
Modifica una réplica existente
Usuarios y seguridad
Cambia <some_password_here>
por una contraseña única y segura:
CREATE USER looker;
SET PASSWORD FOR looker = PASSWORD ('<some_password_here>');
GRANT SELECT ON database_name.* TO 'looker'@'%';
Tablas temporales y RDS
De forma predeterminada, las réplicas de lectura de RDS tienen una marca de solo lectura habilitada que evita que Looker escriba en tablas temporales. Looker nunca cambia los datos existentes, pero MySQL sigue necesitando acceso de escritura para usar las tablas temporales. Esto se puede resolver cambiando la marca en RDS. De las Preguntas frecuentes de RDS:
P: ¿Mis réplicas de lectura solo pueden aceptar operaciones de lectura de bases de datos?
Las réplicas de lectura están diseñadas para entregar tráfico de lectura. Sin embargo, puede haber casos de uso en los que usuarios avanzados deseen completar instrucciones de SQL del lenguaje de definición de datos (DDL) en una réplica de lectura. Los ejemplos pueden incluir la adición de un índice de base de datos a una réplica de lectura que se usa para informes empresariales sin agregar el mismo índice a la instancia de base de datos de origen correspondiente.
Amazon RDS para MySQL se puede configurar de modo que permita las instrucciones de SQL en DDL en una réplica de lectura. Si quieres habilitar operaciones distintas de las operaciones de lectura para una réplica de lectura determinada, modifica el Grupo de parámetros de la base de datos activo para la réplica de lectura configurando el parámetro read_only
como 0
.
Por el momento, Amazon RDS para PostgreSQL no admite la ejecución de instrucciones de SQL de DDL en una réplica de lectura.
Si modificas el Grupo de parámetros de la base de datos, tendrás que reiniciar la réplica de lectura para que los cambios se apliquen.
Crea una base de datos y otorga permisos
Crea una base de datos temporal y otorga al usuario looker
los derechos para escribir en ella. La instrucción CREATE TEMPORARY
en MySQL debe estar asociada con una base de datos para fines de permiso.
CREATE SCHEMA looker_tmp;
GRANT
SELECT,
INDEX,
INSERT,
UPDATE,
DELETE,
CREATE,
DROP,
ALTER,
CREATE TEMPORARY TABLES
ON looker_tmp.* TO 'looker'@'%';
Crea una réplica nueva
Ten en cuenta que el RDS de AWS solo puede crear réplicas de lectura con instancias de bases de datos que tengan activada la Retención de copias de seguridad.
Pasos previos a AWS
Paso 1
Usa mysql
en la base de datos que será la instancia de base de datos principal:
mysql -h hostname.uid.region.rds.amazonaws.com -P 3306 -u root -p
Paso 2
Crea un usuario llamado looker
(reemplaza <some_password_here>
por una contraseña única y segura):
CREATE USER looker IDENTIFIED BY '<some_password_here>';
Paso 3
Crear una base de datos temporal y otorgar privilegios de lectura a Looker para otras bases de datos y tablas Por lo general, Looker no escribe en la base de datos looker_tmp
, sino que la usa para ejecutar comandos CREATE TEMPORARY TABLE
.
CREATE SCHEMA looker_tmp;
GRANT
SELECT,
INDEX,
INSERT,
UPDATE,
DELETE,
CREATE,
DROP,
ALTER,
CREATE TEMPORARY TABLES
ON looker_tmp.* TO 'looker'@'%';
GRANT
SELECT,
SHOW DATABASES
ON *.* TO 'looker'@'%';
Paso 4
Limpiar privilegios:
FLUSH PRIVILEGES;
Pasos de AWS
Paso 1
Accede y ve al panel de AWS. En la sección Base de datos, selecciona RDS.
Paso 2
En el panel de RDS, selecciona la instancia de base de datos que deseas especificar como base de datos principal. Selecciona Instance Actions y, luego, selecciona Create Read Replica.
Paso 3
En la ventana emergente Crear instancia de base de datos de réplica de lectura, configura la base de datos de réplica de lectura y selecciona Sí, crear réplica de lectura.
Paso 4
Mientras esperas a que se cree la base de datos de réplica de lectura, puedes configurar el Grupo de parámetros de la base de datos, que contendrá los valores de configuración del motor que se aplican a la instancia de base de datos de la réplica de lectura. Selecciona la página Grupos de parámetros de base de datos en la barra lateral y, luego, selecciona el botón Crear grupo de parámetros de base de datos.
Paso 5
Selecciona la Familia del grupo de parámetros de la base de datos y el Nombre del grupo de parámetros de la base de datos, y luego ingresa una Descripción del grupo de parámetros de la base de datos. Luego, selecciona Sí, crear.
Paso 6
Selecciona el ícono de lupa en la fila que contiene el grupo de parámetros de la base de datos de réplica de lectura o selecciona esa fila y elige Editar parámetros.
Paso 7
En el campo Filtros en Parámetros, busca "read_only". Cambia el valor del parámetro a 0
. Luego, selecciona Guardar cambios.
Paso 8
Cuando finalice la creación de la réplica de lectura, selecciónala en la lista de instancias de la base de datos, elige el botón Instance Action y, luego, selecciona Modify en la acción de la instancia.
Paso 9
En la ventana emergente Modificar instancia de base de datos, cambia el Grupo de parámetros de la instancia de base de datos al nuevo grupo de parámetros de réplica de lectura. Luego, marca la casilla Aplicar de inmediato, selecciona Continuar y elige Modificar instancia de base de datos.
Paso 10
Con el cliente MySQL, conéctate a la instancia de base de datos de réplica de lectura como looker
y prueba para ver si se puede acceder a los datos.
Crea la conexión de Looker a tu base de datos
En la sección Administrador de Looker, selecciona Conexiones y, luego, haz clic en Agregar conexión.
Completa los detalles de la conexión. La mayoría de los parámetros de configuración son comunes a la mayoría de los dialectos de bases de datos. Consulta la página de documentación Conecta Looker a tu base de datos para obtener más información.
Para verificar que la conexión se haya realizado correctamente, haz clic en Probar. Consulta la página de documentación Prueba la conectividad de la base de datos para obtener información sobre la solución de problemas.
Para guardar esta configuración, haz clic en Conectar.
Compatibilidad de características
Para que Looker admita algunas funciones, el dialecto de la base de datos también debe admitirlas.
MySQL admite las siguientes funciones a partir de Looker 24.10:
Atributo | ¿Es compatible? |
---|---|
Nivel de asistencia | Admitido |
Looker (Google Cloud Core) | Sí |
Agregados simétricos | Sí |
Tablas derivadas | Sí |
Tablas derivadas de SQL persistente | Sí |
Tablas derivadas persistentes nativas | Sí |
Vistas estables | Sí |
Cierre de consultas | Sí |
Tablas dinámicas basadas en SQL | Sí |
Zonas horarias | Sí |
SSL | Sí |
Subtotales | Sí |
Parámetros adicionales de JDBC | Sí |
Distingue mayúsculas de minúsculas | No |
Tipo de ubicación | Sí |
Tipo de lista | Sí |
Percentil | Sí |
Percentil distintivo | Sí |
Procesos de presentación del ejecutor de SQL | Sí |
Tabla de descripción del ejecutor de SQL | Sí |
Índices de programas del ejecutor de SQL | Sí |
Selección del ejecutor de SQL 10 | Sí |
Recuento de ejecutores de SQL | Sí |
Explicación de SQL | Sí |
Credenciales de OAuth | No |
Comentarios contextuales | Sí |
Agrupación de conexiones | No |
Bocetos de HLL | No |
Reconocimiento agregado | Sí |
PDT incrementales | Sí |
Milisegundos | Sí |
Microsegundos | Sí |
Vistas materializadas | No |
Recuento aproximado de valores distintos | No |