Amazon RDS para MySQL

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 la base de datos.

Si te interesa usar la encriptación SSL, consulta la documentación de MySQL RDS.

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 realizar su función principal sin ninguna consulta, lo que podría ralentizarla.

En este documento, se describe cómo realizar las siguientes acciones:

  • Modifica 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'@'%';

RDS y tablas temporales

De forma predeterminada, las réplicas de lectura de RDS tienen una marca de solo lectura habilitada que impide que Looker escriba en tablas temporales. Looker nunca cambia los datos existentes, pero MySQL aún requiere acceso de escritura para usar las tablas temporales. Para solucionar este problema, cambia la marca en RDS. Consulta las Preguntas frecuentes sobre 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 los usuarios avanzados deseen completar instrucciones de SQL en lenguaje de definición de datos (DDL) en una réplica de lectura. Algunos ejemplos pueden incluir la adición de un índice de base de datos a una réplica de lectura que se utiliza para informes comerciales sin agregar el mismo índice a la instancia de base de datos fuente correspondiente.

Amazon RDS para MySQL se puede configurar a fin de permitir instrucciones de SQL DDL en una réplica de lectura. Si deseas habilitar operaciones distintas de las lecturas para una réplica de lectura determinada, modifica el Grupo de parámetros de base de datos activo de la réplica de lectura configurando el parámetro read_only en 0.

Amazon RDS para PostgreSQL no admite actualmente la ejecución de instrucciones de SQL DDL en una réplica de lectura.

Si modificas el Grupo de parámetros de la base de datos, deberás reiniciar la réplica de lectura para que se apliquen los cambios.

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 declaración CREATE TEMPORARY en MySQL debe estar asociada a una base de datos para fines de permisos.

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 base de datos que tengan activada la retención de copia de seguridad.

Pasos previos a AWS

Paso 1

mysql a la base de datos que será la instancia de la 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 de looker_tmp, sino que la usa para ejecutar comandos de 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

Privilegios de limpieza:

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 quieres especificar como base de datos principal. Selecciona Acciones de la instancia y, luego, Crear réplica de lectura.

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 réplica de lectura. Selecciona la página DB Parameter Groups en la barra lateral y, luego, selecciona el botón Create DB Parameter Group.

Paso 5

Selecciona la Familia de grupos de parámetros de la base de datos y el Nombre del grupo de parámetros de la base de datos y, luego, ingresa la 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 bases de datos, haz clic en el botón Acción de la instancia y elige Modificar 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 inmediatamente, Continuar y, luego, 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 si se puede acceder a los datos.

Creando 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 en la mayoría de los dialectos de bases de datos. Consulta la página de documentación Cómo conectar 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.

A partir de Looker 24.8, MySQL admite las siguientes funciones:

Atributo ¿Es compatible?
Nivel de asistencia
Admitido
Looker (Google Cloud Core)
Agregados simétricos
Tablas derivadas
Tablas derivadas de SQL persistentes
Tablas derivadas persistentes nativas
Vistas estables
Finalización de consultas
Tablas dinámicas basadas en SQL
Zonas horarias
SSL
Subtotales
Parámetros adicionales de JDBC
Distingue mayúsculas de minúsculas
No
Tipo de ubicación
Tipo de lista
Percentil
Percentil distinto
Procesos de presentación del ejecutor de SQL
Tabla de descripción del ejecutor de SQL
Mostrar índices del ejecutor de SQL
Selector de SQL 10 Select
Recuento de ejecutores de SQL
Explicación de SQL
Credenciales de OAuth
No
Comentarios de contexto
Agrupación de conexiones
No
Bocetos HLL
No
Reconocimiento agregado
PDT incrementales
Milisegundos
Microsegundos
Vistas materializadas
No
Recuento aproximado de valores distintos
No