Amazon RDS pour MySQL

Chiffrement du trafic réseau

Il est recommandé de chiffrer le trafic réseau entre l'application Looker et votre base de données. Envisagez l'une des options décrites sur la page de documentation Activer l'accès sécurisé à la base de données.

Si vous souhaitez 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'exécuter sa fonction principale sans qu'aucune requête ne la ralentisse.

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 disposent d'un indicateur de lecture seule activé qui empêche Looker d'écrire dans des tables temporaires. Looker ne modifie jamais réellement les données existantes, mais MySQL a tout de même besoin d'un accès en écriture pour utiliser les tables temporaires. Vous pouvez résoudre ce problème en modifiant l'indicateur dans RDS. Consultez les questions fréquentes concernant RDS:

Q: Mes instances répliquées avec accès en lecture peuvent-elles uniquement accepter les opérations de lecture de la base de données ?

Les instances répliquées avec accès en lecture sont conçues pour diffuser le trafic en lecture. Toutefois, il peut arriver que des utilisateurs avancés souhaitent exécuter des instructions SQL LDD (langage de définition de données) sur une instance répliquée avec accès en lecture. Il peut s'agir, par exemple, d'ajouter un index de base de données à une instance répliquée avec accès en lecture qui est utilisée pour la création de rapports d'entreprise, 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 LDD sur une instance répliquée avec accès en lecture. Si vous souhaitez activer d'autres opérations que les lectures pour une instance répliquée avec accès en lecture, modifiez le groupe de paramètres de la 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.

Actuellement, Amazon RDS pour PostgreSQL ne permet pas d'exécuter des instructions LDD SQL sur une instance répliquée avec accès en lecture.

Si vous modifiez le groupe de paramètres de la base de données, vous devez redémarrer l'instance répliquée avec accès en lecture pour que les modifications soient prises en compte.

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 sur celle-ci. L'instruction CREATE TEMPORARY dans MySQL doit être associée à une base de données pour des raisons 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 sur lesquelles l'option Conservation des sauvegardes est activée.

Étapes antérieures à 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 général, 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

Pour vider les droits:

FLUSH PRIVILEGES;

Étapes AWS

Étape 1

Connectez-vous et accédez au tableau de bord AWS. Dans la section 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 définir comme base de données principale. Sélectionnez Actions liées à l'instance, puis Créer une instance répliquée avec accès en lecture.

Étape 3

Dans la fenêtre pop-up Créer une instance de base de données répliquée avec accès en lecture, configurez la base de données de l'instance répliquée avec accès en lecture, puis sélectionnez Oui, créer une instance répliquée avec accès en lecture.

Étape 4

En attendant que la base de données de l'instance répliquée avec accès en lecture soit créée, vous pouvez configurer le groupe de paramètres de la 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 Groupes de paramètres de base de données dans la barre latérale, puis cliquez sur le bouton Créer un groupe de paramètres de base de données.

Étape 5

Sélectionnez la famille du groupe de paramètres de la base de données et le nom du groupe de paramètres de la base de données, puis saisissez une description du groupe de paramètres de la 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 qui contient le groupe de paramètres de la base de données d'instance répliquée avec accès en lecture, ou sélectionnez cette ligne et choisissez Modifier les paramètres.

Étape 7

Dans le champ Filtres, sous Paramètres, recherchez "read_only". Remplacez la valeur du paramètre par 0. Sélectionnez ensuite Enregistrer les modifications.

Étape 8

Une fois l'instance répliquée avec accès en lecture créée, sélectionnez-la dans la liste des instances de base de données, cliquez sur le bouton Action d'instance, puis sélectionnez Modifier dans l'action de l'instance.

Étape 9

Dans la fenêtre pop-up Modifier l'instance de base de données, remplacez le Groupe de paramètres de l'instance de base de données par le nouveau groupe de paramètres de l'instance de base de données. Ensuite, cochez la case Appliquer immédiatement, sélectionnez Continuer, puis 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, puis 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 Connexions, puis cliquez sur 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 est établie, cliquez sur Test (Tester). Consultez la page de documentation Tester la connectivité de la base de données pour obtenir des informations de dépannage.

Pour enregistrer ces paramètres, cliquez sur Connecter.

Prise en charge de fonctionnalités

Pour que Looker prenne en charge certaines fonctionnalités, votre dialecte de base de données doit également les prendre en charge.

MySQL prend en charge les fonctionnalités suivantes à partir de Looker 24.10:

Sélection Compatible ?
Niveau d'assistance
Compatible
Looker (Google Cloud Core)
Oui
Agrégations symétriques
Oui
Tables dérivées
Oui
Tables dérivées SQL persistantes
Oui
Tables dérivées natives persistantes
Oui
Vues stables
Oui
Suppression des requêtes
Oui
Tableaux croisés dynamiques basés sur SQL
Oui
Fuseaux horaires
Oui
SSL
Oui
Sous-totaux
Oui
Paramètres supplémentaires JDBC
Oui
Sensible à la casse
Non
Type d'emplacement
Oui
Type de liste
Oui
Centile
Oui
Centile distinct
Oui
Processus d'affichage de l'exécuteur SQL
Oui
Table de description de l'exécuteur SQL
Oui
Index d'affichage de l'exécuteur SQL
Oui
SQL Runner Select 10
Oui
Nombre d'exécuteurs SQL
Oui
SQL Explain
Oui
Identifiants OAuth
Non
Commentaires sur le contexte
Oui
Pooling des connexions
Non
HLL Sketches
Non
Reconnaissance d'agrégats.
Oui
Augmentation de tables PDT
Oui
Millisecondes
Oui
Microsecondes
Oui
Vues matérialisées
Non
Nombre approximatif distinct
Non