Amazon RDS per MySQL

Crittografia del traffico di rete

È buona prassi criptare il traffico di rete tra l'applicazione Looker e il database. Valuta la possibilità di utilizzare una delle opzioni descritte nella pagina della documentazione Abilitare l'accesso sicuro ai database.

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

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ò svolgere la sua funzione principale senza che le query possano rallentarlo.

Questo documento descrive come:

  • Modificare un database replica esistente in modo che funzioni con Looker
  • Crea un nuovo database di replica di lettura e configuralo in modo che funzioni 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 un flag di sola lettura abilitato 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. Il 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 per consentire istruzioni SQL DDL su una replica di lettura. Se vuoi attivare operazioni diverse dalle letture per una determinata replica di lettura, modifica il gruppo di parametri del database 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 per le autorizzazioni.

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 dei backup.

Passaggi precedenti ad 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):<some_password_here>

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 nel 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

Privilegi di svuotamento:

FLUSH PRIVILEGES;

Passaggi AWS

Passaggio 1

Accedi e vai alla dashboard di 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 e poi Crea replica di lettura.

Passaggio 3

Nel popup Crea istanza di database 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 gruppo di parametri DB e Nome gruppo di parametri DB, quindi inserisci una Descrizione 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 o seleziona la riga e Modifica parametri.

Passaggio 7

Nel campo Filtri in Parametri, cerca "read_only". Modifica il valore parametro in 0. Poi 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 seleziona Modifica nell'azione 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 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.20, MySQL supporta le seguenti funzionalità:

Funzionalità Supportato?
Livello di assistenza
Supportato
Looker (Google Cloud core)
No
Aggregati simmetrici
Tabelle derivate
Tabelle derivate SQL permanenti
Tabelle derivate native permanenti
Visualizzazioni stabili
Interruzioni delle 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 di visualizzazione di SQL Runner
Tabella Describe di SQL Runner
Indici di SQL Runner Show
SQL Runner Select 10
Conteggio di SQL Runner
SQL Explain
Credenziali OAuth
No
Commenti contestuali
Pool di connessioni
No
Schizzi HLL
No
Aggregate Awareness
PDT incrementali
Millisecondi
Microsecondi
Viste materializzate
No
Conteggio approssimativo valori distinti
No