Chiffrement du trafic réseau
Il est recommandé de chiffrer le trafic réseau entre l'application Looker et votre base de données. Pour ce faire, consultez les options détaillées sur la page de documentation Sécuriser l'accès à la base de données.
Si vous envisagez d'utiliser le chiffrement SSL, consultez la documentation MySQL RDS.
Options
Pour des raisons de performances, il est courant d'utiliser des bases de données répliquées en lecture seule (également appelées instances répliquées avec accès en lecture) avec Looker. Cela permet à la base de données de production d'effectuer sa fonction principale sans que des requêtes ne la ralentissent.
Ce document explique comment :
- modifier une base de données répliquée existante pour qu'elle fonctionne avec Looker ;
- créer une base de données répliquée avec accès en lecture et la configurer pour qu'elle fonctionne avec Looker.
Modifier une instance répliquée existante
Utilisateurs et sécurité
Remplacez <some_password_here> par un mot de passe unique et sécurisé :
CREATE USER looker;
SET PASSWORD FOR looker = PASSWORD ('<some_password_here>');
GRANT SELECT ON database_name.* TO 'looker'@'%';
RDS et tables temporaires
Par défaut, les instances répliquées avec accès en lecture RDS sont associées à un indicateur en lecture seule qui empêche Looker d'écrire dans des tables temporaires. Looker ne modifie jamais les données existantes, mais MySQL nécessite toujours un accès en écriture pour utiliser des tables temporaires. Pour résoudre ce problème, modifiez l'indicateur dans RDS. Voici une question fréquente concernant RDS :
Q : Mes instances répliquées avec accès en lecture ne peuvent-elles accepter que des opérations de lecture de base de données ?
Les instances répliquées avec accès en lecture sont conçues pour diffuser le trafic en lecture. Toutefois, dans certains cas, les utilisateurs avancés peuvent souhaiter exécuter des instructions SQL de langage de définition de données (LDD) sur une instance répliquée avec accès en lecture. Par exemple, ils peuvent ajouter un index de base de données à une instance répliquée avec accès en lecture utilisée pour la création de rapports commerciaux sans ajouter le même index à l'instance de base de données source correspondante.
Amazon RDS pour MySQL peut être configuré pour autoriser les instructions SQL DDL sur une instance répliquée avec accès en lecture. Si vous souhaitez activer des opérations autres que des lectures pour une instance répliquée avec accès en lecture donnée, modifiez le groupe de paramètres de base de données actif pour l'instance répliquée avec accès en lecture en définissant le paramètre read_only sur 0.
Amazon RDS pour PostgreSQL n'est actuellement pas compatible avec l'exécution d'instructions SQL DDL sur une instance répliquée avec accès en lecture.
Si vous modifiez le groupe de paramètres de base de données, vous devrez redémarrer l'instance répliquée avec accès en lecture pour que les modifications prennent effet.
Créer une base de données et accorder des autorisations
Créez une base de données temporaire et accordez à l'utilisateur looker les droits d'écriture dans celle-ci. L'instruction CREATE TEMPORARY dans MySQL doit être associée à une base de données à des fins d'autorisation.
CREATE SCHEMA looker_tmp;
GRANT
SELECT,
INDEX,
INSERT,
UPDATE,
DELETE,
CREATE,
DROP,
ALTER,
CREATE TEMPORARY TABLES
ON looker_tmp.* TO 'looker'@'%';
Créer une instance répliquée
Notez qu'AWS RDS ne peut créer des instances répliquées avec accès en lecture qu'avec des instances de base de données pour lesquelles l'option Backup Retention (Conservation des sauvegardes) est activée.
Étapes à effectuer avant d'utiliser AWS
Étape 1
mysql dans la base de données qui sera l'instance de base de données principale :
mysql -h hostname.uid.region.rds.amazonaws.com -P 3306 -u root -p
Étape 2
Créez un utilisateur nommé looker (remplacez <some_password_here> par un mot de passe unique et sécurisé) :
CREATE USER looker IDENTIFIED BY '<some_password_here>';
Étape 3
Créez une base de données temporaire et accordez à Looker des droits de lecture pour d'autres bases de données et tables. En règle générale, Looker n'écrit pas dans la base de données looker_tmp, mais l'utilise pour exécuter des commandes 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'@'%';
Étape 4
Videz les droits :
FLUSH PRIVILEGES;
Étapes à effectuer dans AWS
Étape 1
Connectez-vous et accédez au tableau de bord AWS. Dans la section Database (Base de données), sélectionnez RDS.

Étape 2
Dans votre tableau de bord RDS, sélectionnez l'instance de base de données que vous souhaitez spécifier comme base de données principale. Sélectionnez Instance Actions (Actions sur l'instance), puis Create Read Replica (Créer une instance répliquée avec accès en lecture).

Étape 3
Dans la fenêtre pop-up Create Read Replica DB Instance (Créer une instance de base de données répliquée avec accès en lecture), configurez la base de données répliquée avec accès en lecture, puis sélectionnez Yes, Create Read Replica (Oui, créer une instance répliquée avec accès en lecture).

Étape 4
Pendant que vous attendez la création de la base de données répliquée avec accès en lecture, vous pouvez configurer le DB Parameter Group (Groupe de paramètres de base de données), qui contiendra les valeurs de configuration du moteur appliquées à l'instance de base de données répliquée avec accès en lecture. Sélectionnez la page DB Parameter Groups (Groupes de paramètres de base de données) dans la barre latérale, puis le bouton Create DB Parameter Group (Créer un groupe de paramètres de base de données).

Étape 5
Sélectionnez la DB Parameter Group Family (Famille de groupes de paramètres de base de données) et le DB Parameter Group Name (Nom du groupe de paramètres de base de données), puis saisissez une DB Parameter Group Description (Description du groupe de paramètres de base de données). Sélectionnez ensuite Yes, Create (Oui, créer).
Étape 6
Sélectionnez l'icône en forme de loupe sur la ligne contenant le groupe de paramètres de base de données répliquée avec accès en lecture ou sélectionnez cette ligne, puis Edit Parameters (Modifier les paramètres).
Étape 7
Dans le champ Filters (Filtres) sous Parameters (Paramètres), recherchez "read_only". Remplacez la valeur du paramètre par 0. Sélectionnez ensuite Save Changes (Enregistrer les modifications).
Étape 8
Une fois la création de l'instance répliquée avec accès en lecture terminée, sélectionnez-la dans la liste des instances de base de données, puis le bouton Instance Action (Action sur l'instance) et Modify (Modifier) dans l'action sur l'instance.
Étape 9
Dans la fenêtre pop-up Modify DB Instance (Modifier l'instance de base de données), remplacez le Parameter Group (Groupe de paramètres) de l'instance de base de données par le nouveau groupe de paramètres de l'instance répliquée avec accès en lecture. Cochez ensuite la case Apply Immediately (Appliquer immédiatement), sélectionnez Continue (Continuer), puis Modify DB Instance (Modifier l'instance de base de données).
Étape 10
À l'aide du client MySQL, connectez-vous à l'instance de base de données répliquée avec accès en lecture en tant que looker et vérifiez si les données sont accessibles.
Créer la connexion Looker à votre base de données
Dans la section Admin de Looker, sélectionnez Connections (Connexions), puis cliquez sur Add Connection (Ajouter une connexion).
Saisissez les informations de connexion. La majorité des paramètres sont communs à la plupart des dialectes de base de données. Pour en savoir plus, consultez la page de documentation Connecter Looker à votre base de données.
Pour vérifier que la connexion a réussi, cliquez sur Test (Tester). Pour obtenir des informations sur la résolution des problèmes, consultez la page de documentation Tester la connectivité de la base de données.
Pour enregistrer ces paramètres, cliquez sur Connect (Se connecter).
Paramètres JDBC compatibles
Pour Amazon RDS pour MySQL, Looker est compatible avec les paramètres JDBC suivants dans le champ Additional JDBC parameters (Paramètres JDBC supplémentaires) pour la connexion. Pour en savoir plus sur ces paramètres, consultez la documentation de votre base de données.
allowMultiQueriesautocommitcharacterSetResultsclientCertificateKeyStorePasswordclientCertificateKeyStoreUrlconnectionAttributesconnectionCollationconnectionTimeZoneconnectTimeoutdefaultAuthenticationPlugindisableSslHostnameVerificationdisconnectOnExpiredPasswordsenabledSslCipherSuitesfailOverReadOnlyfallbackToSystemTrustStoreforceConnectionTimeZoneToSessioninteractiveClientlookerFailovermaxIdleTimemaxQuerySizeToLogoldModeNoPrecisionTimestamppasswordpasswordCharacterEncodingpermitMysqlSchemepinGlobalTxToPhysicalConnectionpreserveInstantsqueryInterceptorsrestrictedAuthrewriteBatchedStatementssocketTimeoutsslModetcpKeepAlivetrustCertificateKeyStorePasswordtrustCertificateKeyStoreUrluseCompressionusePipelineAuthuseruseServerPrepStmtsverifyServerCertificateyearIsDateType
Compatibilité avec les fonctionnalités
Pour que Looker prenne en charge certaines fonctionnalités, votre dialecte de base de données doit également les prendre en charge.
Depuis Looker 26.10, MySQL est compatible avec les fonctionnalités suivantes :
| Fonctionnalité | Compatibilité |
|---|---|
| Looker (Google Cloud Core) | |
| Agrégations symétriques | |
| Tables dérivées | |
| Tables dérivées SQL persistantes | |
| Tables dérivées natives persistantes | |
| Vues stables | |
| Arrêt des requêtes | |
| Tableaux croisés dynamiques basés sur SQL | |
| Fuseaux horaires | |
| SSL | |
| Sous-totaux | |
| Paramètres JDBC supplémentaires | |
| Sensibilité à la casse | |
| Type de lieu | |
| Type de liste | |
| Centile | |
| Centile distinct | |
| Afficher les processus dans l'exécuteur SQL | |
| Décrire la table dans l'exécuteur SQL | |
| Afficher les index dans l'exécuteur SQL | |
| Sélectionner 10 dans l'exécuteur SQL | |
| Compter dans l'exécuteur SQL | |
| Expliquer SQL | |
| Identifiants OAuth 2.0 | |
| Commentaires contextuels | |
| Regroupement de connexions | |
| Résumés HLL | |
| Reconnaissance d'agrégats | |
| Augmentation de tables PDT | |
| Millisecondes | |
| Microsecondes | |
| Vues matérialisées | |
| Mesures de variation par période | |
| Nombre approximatif d'éléments distincts | |
| Modèles analytiques dans la base de données | |
| Agendas personnalisés |