Amazon RDS pour MySQL

Chiffrement du trafic réseau

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

Si vous souhaitez utiliser le chiffrement SSL, consultez la documentation de MySQL RDS.

Options

Pour des raisons de performances, il est courant d'utiliser des bases de données dupliquées en lecture seule (également appelées instances dupliquées avec accès en lecture) avec Looker. Cela libère la base de données de production pour qu'il exécute sa fonction principale sans qu'aucune requête ne la ralentisse.

Ce document explique comment:

  • Modifier une base de données dupliquée existante pour qu'elle fonctionne avec Looker
  • Créer une base de données dupliquée avec accès en lecture et la configurer pour qu'elle fonctionne avec Looker

Modifier une instance dupliqué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 dupliquées avec accès en lecture RDS ont un indicateur en lecture seule qui empêche Looker d'écrire dans les tables temporaires. Looker ne modifie jamais les données existantes, mais MySQL a quand 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. Dans les questions fréquentes sur RDS :

**Q: Mon instance dupliquée avec accès en lecture n'accepte-t-elle que les opérations de lecture de la base de données ?** Les instances dupliquées avec accès en lecture sont conçues pour diffuser le trafic en lecture. Cependant, dans certains cas, les utilisateurs avancés peuvent effectuer des instructions SQL en langage de définition de données sur une instance dupliquée avec accès en lecture. Il peut s'agir, par exemple, d'ajouter à une instance dupliquée avec accès en lecture un index de base de données utilisé pour les rapports d'activité, sans ajouter le même index à l'instance de base de données source correspondante. Si vous souhaitez activer des opérations autres que les lectures pour une instance dupliquée avec accès en lecture donnée, vous devez modifier le [groupe de paramètres de base de données](#aws_step_4) actif pour l'instance dupliquée avec accès en lecture et définir le paramètre "read_only" sur "0".

Si vous modifiez le groupe de paramètres de base de données, vous devrez redémarrer l'instance dupliqué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 le droit d'y écrire. L'instruction CREATE TEMPORARY de MySQL doit être associée à une base de données pour les autorisations.

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 dupliquée

Notez que AWS RDS ne peut créer des instances dupliquées avec accès en lecture qu'avec des instances de base de données pour lesquelles la conservation des sauvegardes est activée.

Étapes préalables à l'exécution d'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 des droits de lecture à Looker pour d'autres bases de données et tables. Looker n'écrit généralement pas dans la base de données looker_tmp, mais s'en sert 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

Vider les droits:

FLUSH PRIVILEGES;

Étapes AWS

Étape 1

Connectez-vous et accédez au tableau de bord AWS. Sélectionnez RDS sous Database (Base de données) :

É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. Cliquez sur Instance Actions (Actions d'instance), puis sélectionnez Create Read Replica (Créer une instance dupliquée avec accès en lecture).

Étape 3

Dans la fenêtre pop-up Créer une instance de base de données avec accès en lecture, configurez la base de données de l'instance dupliquée avec accès en lecture, puis cliquez sur Oui, créer une instance dupliquée avec accès en lecture :

Étape 4

En attendant la création de la base de données dupliquée avec accès en lecture, vous pouvez configurer le groupe de paramètres de base de données, qui contiendra les valeurs de configuration de moteur appliquées à l'instance de base de données dupliquée avec accès en lecture. Cliquez sur la page Groupes de paramètres DB dans la barre latérale, puis sur le bouton Créer un groupe de paramètres de base de données:

Étape 5

Sélectionnez la famille de groupes de paramètres de base de données et le nom du groupe de paramètres de base de données, puis saisissez la description du groupe de paramètres de base de données. Cliquez ensuite sur Oui, créer.

Étape 6

Cliquez sur l'icône en forme de loupe sur la ligne contenant le groupe de paramètres de la base de données dupliquée avec accès en lecture ou sélectionnez cette ligne et cliquez sur Modifier les paramètres.

Étape 7

Dans le champ Filtres, sous Paramètres, recherchez "lecture_uniquement". Remplacez la valeur du paramètre par 0. Cliquez ensuite sur Save Changes (Enregistrer les modifications).

Étape 8

Lorsque la création d'une instance dupliquée avec accès en lecture est terminé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 d'instance.

Étape 9

Dans le pop-up Modifier l'instance de base de données, remplacez Groupe de paramètres par le nouveau groupe de paramètres de l'instance dupliquée avec accès en lecture. Ensuite, cochez l'option Appliquer immédiatement, cliquez sur Continuer, puis sur Modifier l'instance de base de données.

Étape 10

À l'aide du client MySQL, connectez-vous à l'instance de base de données dupliquée avec accès en lecture en tant que looker et vérifiez si les données sont accessibles.

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.

Dans la dernière version de Looker, MySQL est compatible avec les fonctionnalités Looker suivantes:

Étapes suivantes

Une fois la configuration de la base de données terminée, vous pouvez vous connecter à la base de données à partir de Looker en suivant ces instructions.