Amazon RDS per MySQL

Crittografia del traffico di rete

Una best practice consiste nel criptare il traffico di rete tra l'applicazione Looker e il tuo database. Valuta una delle opzioni descritte nella pagina della documentazione Abilitare l'accesso sicuro ai database.

Se vuoi utilizzare la crittografia SSL, consulta la documentazione RDS di MySQL.

Opzioni

Per motivi di prestazioni, è comune utilizzare con Looker database con repliche di sola lettura, chiamate anche repliche di lettura. In questo modo il database di produzione può eseguire la sua funzione primaria senza che le query possano rallentarlo.

Questo documento descrive come:

  • Modifica un database di replica esistente in modo che funzioni con Looker
  • Crea un nuovo database di replica di lettura e configuralo per il funzionamento con Looker

Modifica di una replica esistente

Utenti e sicurezza

Cambia <some_password_here> con una password unica e sicura:

CREATE USER looker;
SET PASSWORD FOR looker = PASSWORD ('<some_password_here>');
GRANT SELECT ON database_name.* TO 'looker'@'%';

RDS e tabelle temporanee

Per impostazione predefinita, le repliche di lettura RDS hanno attivato un flag di sola lettura che impedisce a Looker di scrivere nelle tabelle temporanee. Looker non modifica mai i dati esistenti, ma MySQL richiede comunque l'accesso in scrittura per utilizzare le tabelle temporanee. Questo problema può essere risolto modificando il flag in RDS. Dalle Domande frequenti su RDS:

D: Le mie repliche di lettura possono accettare solo operazioni di lettura del database?

Le repliche di lettura sono progettate per gestire il traffico di lettura. Tuttavia, potrebbero esserci casi d'uso in cui gli utenti avanzati vogliono completare istruzioni SQL DDL (Data Definition Language) in base a una replica di lettura. Alcuni esempi possono includere l'aggiunta di un indice di database a una replica di lettura utilizzata per la generazione di report aziendali senza aggiungere lo stesso indice all'istanza del database di origine corrispondente.

Amazon RDS per MySQL può essere configurato in modo da consentire le istruzioni DDL SQL rispetto a una replica di lettura. Se vuoi abilitare operazioni diverse dalle letture per una determinata replica di lettura, modifica il gruppo di parametri DB attivo per la replica di lettura impostando il parametro read_only su 0.

Al momento Amazon RDS per PostgreSQL non supporta l'esecuzione di istruzioni SQL DDL su una replica di lettura.

Se modifichi il gruppo di parametri DB, devi riavviare la replica di lettura affinché le modifiche vengano applicate.

Crea il database e concedi le autorizzazioni

Crea un database temporaneo e concedi all'utente looker i diritti di scrittura. L'istruzione CREATE TEMPORARY in MySQL deve essere associata a un database ai fini dell'autorizzazione.

CREATE SCHEMA looker_tmp;
GRANT
  SELECT,
  INDEX,
  INSERT,
  UPDATE,
  DELETE,
  CREATE,
  DROP,
  ALTER,
  CREATE TEMPORARY TABLES
ON looker_tmp.* TO 'looker'@'%';

Creazione di una nuova replica

Tieni presente che AWS RDS può creare repliche di lettura solo con istanze di database in cui è attivata la conservazione del backup.

Passaggi pre-AWS

Passaggio 1

mysql nel database che sarà l'istanza di database principale:

mysql -h hostname.uid.region.rds.amazonaws.com -P 3306 -u root -p

Passaggio 2

Crea un utente denominato looker (sostitui looker con una password sicura e univoca):

CREATE USER looker IDENTIFIED BY '<some_password_here>';

Passaggio 3

Crea un database temporaneo e concedi a Looker i privilegi di lettura per altri database e tabelle. In genere Looker non scrive sul database looker_tmp, ma lo utilizza per eseguire i comandi 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'@'%';

Passaggio 4

Scarica i privilegi:

FLUSH PRIVILEGES;

Passaggi AWS

Passaggio 1

Accedi e vai alla dashboard AWS. Nella sezione Database, seleziona RDS.

Passaggio 2

Nella dashboard di RDS, seleziona l'istanza di database da specificare come database principale. Seleziona Azioni istanza, quindi seleziona Crea replica di lettura.

Passaggio 3

Nel popup Crea istanza DB di replica di lettura, configura il database della replica di lettura e seleziona Sì, crea replica di lettura.

Passaggio 4

Mentre aspetti la creazione del database della replica di lettura, puoi configurare il gruppo di parametri DB, che conterrà i valori di configurazione del motore applicati all'istanza del database della replica di lettura. Seleziona la pagina Gruppi di parametri del database nella barra laterale e poi il pulsante Crea gruppo di parametri del database.

Passaggio 5

Seleziona Famiglia di gruppi di parametri DB e Nome gruppo di parametri DB e inserisci una Descrizione del gruppo di parametri DB. Quindi seleziona Sì, crea.

Passaggio 6

Seleziona l'icona della lente d'ingrandimento nella riga contenente il gruppo di parametri del database della replica di lettura oppure seleziona la riga corrispondente e seleziona Modifica parametri.

Passaggio 7

Nel campo Filtri in Parametri, cerca "read_only". Modifica il valore parametro impostandolo su 0. Seleziona Salva modifiche.

Passaggio 8

Al termine della creazione della replica di lettura, selezionala dall'elenco delle istanze di database, seleziona il pulsante Azione istanza e poi Modifica nell'azione dell'istanza.

Passaggio 9

Nel popup Modifica istanza DB, modifica il Gruppo di parametri dell'istanza DB con il nuovo gruppo di parametri della replica di lettura. Quindi, seleziona la casella Applica immediatamente, seleziona Continua e seleziona Modifica istanza DB.

Passaggio 10

Utilizzando il client MySQL, connettiti all'istanza del database della replica di lettura come looker e verifica se i dati sono accessibili.

Creazione della connessione di Looker al database

Nella sezione Amministrazione di Looker, seleziona Connessioni e poi fai clic su Aggiungi connessione.

Compila i dettagli della connessione. La maggior parte delle impostazioni è comune alla maggior parte dei dialetti di database. Per informazioni, consulta la pagina della documentazione Connessione di Looker al tuo database.

Per verificare che la connessione sia andata a buon fine, fai clic su Test. Per informazioni sulla risoluzione dei problemi, consulta la pagina della documentazione Testare la connettività del database.

Per salvare queste impostazioni, fai clic su Connetti.

Funzionalità supportate

Affinché Looker supporti alcune funzionalità, anche il dialetto del database deve supportarle.

A partire da Looker 24.16, MySQL supporta le seguenti funzionalità:

Funzionalità Supportato?
Livello di assistenza
Supportato
Looker (Google Cloud core)
No
Aggregati simmetrici
Tabelle derivate
Tabelle derivate da SQL permanente
Tabelle derivate native permanenti
Viste stabili
Termine query
Pivot basati su SQL
Fusi orari
SSL
Subtotali
Parametri aggiuntivi JDBC
Sensibilità alle maiuscole
No
Tipo di località
Tipo di elenco
Percentile
Percentile distinto
Processi SQL Runner Show
Tabella di descrizione di SQL Runner
SQL Runner Mostra indici
SQL Runner Select 10
Conteggio runner SQL
SQL Explain
Credenziali OAuth
No
Commenti contestuali
Pool di connessioni
No
Schizzi HLL
No
Consapevolezza aggregata
PDT incrementali
Millisecondi
Microsecondi
Viste materializzate
No
Conteggio approssimato distinto
No