Amazon RDS para MySQL

Encripta el tráfico de red

Looker recomienda que encripte el tráfico de red entre la aplicación de Looker y su base de datos. Considera una de las opciones descritas 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 RDS de MySQL.

Opciones

Por motivos de rendimiento, es común usar réplicas de 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 ninguna consulta que pueda 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 base de datos de réplica de lectura nueva y configúrala para que funcione con Looker

Cómo modificar una réplica existente

Usuarios y seguridad

Cambia <some_password_here> a 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

Las réplicas de lectura de RDS tienen una marca de solo lectura que impide que Looker escriba en tablas temporales de forma predeterminada. Looker nunca cambia los datos existentes, pero MySQL aún requiere acceso de escritura para usar tablas temporales. Para solucionar este problema, cambia la marca en RDS. En las Preguntas frecuentes sobre RDS, puedes hacer lo siguiente:

**P: ¿Mi réplica de lectura solo acepta operaciones de lectura de base 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 las instrucciones de SQL del lenguaje de definición de datos (DDL) en una réplica de lectura. Los ejemplos pueden incluir agregar un índice de base de datos a una réplica de lectura que se usa para los informes empresariales, sin agregar el mismo índice a la instancia de base de datos de origen correspondiente. Si deseas habilitar operaciones que no sean las de una réplica de lectura determinada, deberás modificar el [grupo de parámetros de DB](#aws_step_4) activo para la réplica de lectura y establecer el parámetro “read_only” en “0”.

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

Crear base de datos y otorgar permisos

Crea una base de datos temporal y otórgale al usuario looker los derechos para escribir en ella. La declaración CREATE TEMPORARY en MySQL debe estar asociada con 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 AWS RDS solo puede crear réplicas de lectura con instancias de base de datos que tengan la retención de copia de seguridad activada.

Pasos previos a AWS

Paso 1

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

Crea una base de datos temporal y otorga 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, pero 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

Vaciar 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 Acciones de instancia y, luego, selecciona 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 espera a que se cree la base de datos de réplica de lectura, puede configurar el grupo de parámetros de DB, 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, haz clic en el botón Create Parameter Group.

Paso 5

Selecciona DB Parameter Group Family y DB Parameter Group Name y, luego, ingresa una DB Parameter Group Description. Luego, selecciona Sí, crear.

Paso 6

Selecciona el ícono de lupa en la fila que contiene el grupo de parámetros de base de datos de réplica de lectura o selecciona esa fila y selecciona Edit Parameters (Editar parámetros).

Paso 7

En el campo Filtros, en Parámetros, busque "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ónela en la lista de instancias de base de datos. Luego, haga clic en el botón Instancia de acción y seleccione Modificar en la acción de la instancia.

Paso 9

En la ventana emergente Modificar instancia de DB, cambia Grupo de parámetros al grupo de parámetros de réplica de lectura. Luego, marca la casilla Aplicar de inmediato, selecciona 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.

Crea la conexión de Looker a tu base de datos

En la sección Administrador de Looker, seleccione Conexiones y, luego, haga clic en Agregar conexión.

Completa los detalles de la conexión. La mayoría de las opciones de configuración son comunes en la mayoría de los dialectos de las 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 realice de forma correcta, haz clic en Probar. Consulta la página de documentación sobre cómo probar 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, tu dialecto de base de datos también debe admitirlas.

MySQL es compatible con las siguientes funciones a partir de Looker 23.8:

Atributo ¿Es compatible?
Nivel de asistencia
Admitido
Looker (Google Cloud Core)
Agregaciones simétricas
Tablas derivadas
Tablas derivadas de SQL persistente
Tablas derivadas persistentes nativas
Vistas estables
Asesinato de consultas
Pivotes basados 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 distintivo
Procesos de Show del ejecutor de SQL
Tabla de descripción del ejecutor de SQL
Índices de SQL Runner Show
Ejecutor de SQL Select 10
Recuento de ejecutores de SQL
Explicación de SQL
Credenciales de OAuth
No
Comentarios de contexto
Agrupación de conexiones
No
Bocetos de HLL
No
Reconocimiento global
PDT incrementales
Milisegundos
Microsegundos
Vistas materializadas
No
Distinto del recuento aproximado
No