Amazon RDS per MySQL

Criptare il traffico di rete

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

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

Opzioni

Per motivi di rendimento, è comune utilizzare database di replica di sola lettura, chiamati anche repliche di lettura, con Looker. In questo modo, il database di produzione può svolgere la sua funzione principale senza che le query lo rallentino.

Questo documento descrive come:

  • Modificare un database di replica esistente per utilizzarlo con Looker
  • Creare un nuovo database di replica di lettura e configurarlo per utilizzarlo con Looker

Modificare una replica esistente

Utenti e sicurezza

Modifica <some_password_here> con una password univoca 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. Questo problema può essere risolto modificando il flag in RDS. Dalle domande frequenti di 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 esistere casi d'uso in cui gli utenti esperti desiderano completare le istruzioni SQL del linguaggio di definizione dei dati (DDL) su una replica di lettura. Ad esempio, potresti aggiungere 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 le istruzioni SQL DDL su una replica di lettura. Se vuoi abilitare 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.

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

Se modifichi il gruppo di parametri del database, dovrai riavviare la replica di lettura affinché le modifiche vengano applicate.

Creare un database e concedere 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 motivi di autorizzazione.

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

Creare una nuova replica

Tieni presente che AWS RDS può creare repliche di lettura solo con istanze di database con Conservazione backup attivata.

Passaggi precedenti ad AWS

Passaggio 1

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

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

Passaggio 2

Crea un utente denominato looker (sostituisci <some_password_here> con una password univoca e sicura):

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

Scarica i privilegi:

FLUSH PRIVILEGES;

Passaggi di 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 che vuoi specificare come database principale. Seleziona Azioni istanza e poi Crea replica di lettura.

Passaggio 3

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

Passaggio 4

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

Passaggio 5

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

Passaggio 6

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

Passaggio 7

Nel campo Filtri in Parametri, cerca "read_only". Modifica il valore parametro in 0. Quindi 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 database, modifica il gruppo di parametri dell'istanza database nel nuovo gruppo di parametri della replica di lettura. Quindi seleziona la casella Applica immediatamente , seleziona Continua e seleziona Modifica istanza database.

Passaggio 10

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

Creare la 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 maggioranza dei dialetti di database. Per informazioni, consulta la pagina della documentazione Connettere Looker al tuo database.

Per verificare che la connessione sia riuscita, 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.

Parametri JDBC supportati

Per Amazon RDS per MySQL, Looker supporta i seguenti parametri JDBC nel campo Parametri JDBC aggiuntivi per la connessione. Per informazioni su questi parametri, consulta la documentazione del tuo database.

  • allowMultiQueries
  • autocommit
  • characterSetResults
  • clientCertificateKeyStorePassword
  • clientCertificateKeyStoreUrl
  • connectionAttributes
  • connectionCollation
  • connectionTimeZone
  • connectTimeout
  • defaultAuthenticationPlugin
  • disableSslHostnameVerification
  • disconnectOnExpiredPasswords
  • enabledSslCipherSuites
  • failOverReadOnly
  • fallbackToSystemTrustStore
  • forceConnectionTimeZoneToSession
  • interactiveClient
  • lookerFailover
  • maxIdleTime
  • maxQuerySizeToLog
  • oldModeNoPrecisionTimestamp
  • password
  • passwordCharacterEncoding
  • permitMysqlScheme
  • pinGlobalTxToPhysicalConnection
  • preserveInstants
  • queryInterceptors
  • restrictedAuth
  • rewriteBatchedStatements
  • socketTimeout
  • sslMode
  • tcpKeepAlive
  • trustCertificateKeyStorePassword
  • trustCertificateKeyStoreUrl
  • useCompression
  • usePipelineAuth
  • user
  • useServerPrepStmts
  • verifyServerCertificate
  • yearIsDateType

Funzionalità supportate

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

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

Funzionalità Supportata?
Looker (Google Cloud core)
Aggregati simmetrici
Tabelle derivate
Tabelle derivate SQL permanenti
Tabelle derivate permanenti native
Visualizzazioni stabili
Eliminazione delle query
Pivot basati su SQL
Fusi orari
SSL
Subtotali
Parametri JDBC aggiuntivi
Maiuscole/minuscole
Tipo di località
Tipo di elenco
Percentile
Percentile valori distinti
SQL Runner Mostra processi
SQL Runner Descrivi tabella
SQL Runner Mostra indici
SQL Runner Seleziona 10
SQL Runner Count
Spiega SQL
Credenziali OAuth 2.0
Commenti di contesto
Pool di connessioni
Schizzi HLL
Riconoscimento degli aggregati
PDT incrementali
Millisecondi
Microsecondi
Viste materializzate
Misure in base al periodo
Conteggio approssimato valori distinti
Modelli analitici in-database
Calendari personalizzati