Configurer les noeuds et le routeur de base de données
Utilisez les paramètres suivants pour configurer les noeuds de base de données et le routeur pour la connexion via une connexion SSL sécurisée.
Routeur
Dans le fichier de configuration du routeur, assurez-vous que les paramètres suivants sont présents :
CLIENT_SSL_MODE=PREFERRED
CLIENT_SSL_CERT=*absolute path of the generated router certificate*
CLIENT_SSL_KEY=*absolute path of the generated router key*
SERVER_SSL_MODE=AS_CLIENT
SERVER_SSL_VERIFY=VERIFY_IDENTITY
SERVER_SSL_CA=*absolute path of the common ca.pem placed on this server*
Une fois configuré, fournissez des droits d'accès en lecture à tous les utilisateurs et révoquez les droits d'accès en écriture du groupe et des autres utilisateurs.
Noeud de base de données
Dans chacun des noeuds de base de données MySQL, assurez-vous que les éléments suivants sont définis dans la section appropriée :
SSL_CAPATH=*absolute path of the common ca.pem placed on this node*
SSL_CA=ca.pem
SSL_CERT=server-cert.pem
SSL_KEY=server-key.pem
GROUP_REPLICATION_SSL_MODE=REQUIRED
REQUIRE_SECURE_TRANSPORT=ON
Après avoir configuré le noeud de base de données, fournissez des droits d'accès en lecture à tous les utilisateurs et révoquez les droits d'accès en écriture du groupe et des autres utilisateurs.
Test de la connexion
Une fois les configurations en place et les droits d'accès appropriés accordés aux fichiers de configuration, testez les paramètres en redémarrant les noeuds et le routeur de base de données.
Tester la connexion des noeuds de base de données
Assurez-vous que le noeud de base de données ne s'arrête pas. Recherchez les erreurs ou avertissements qui indiquent que les paramètres SSL n'ont pas été acceptés dans les journaux sous le paramètre log-error du fichier de configuration. Essayez de vous connecter au noeud spécifique à l'aide de la ligne de commande suivante (utilisez le nom commun spécifié dans le certificat de ce noeud) :
mysql -u *username* -p *password* -h *db_common_name* -P *db_port* --ssl-mode=VERIFY_IDENTITY --ssl-ca=*path/of/ca.pem*
Assurez-vous que la connexion ne génère aucune erreur.
De même, connectez-vous avec différents modes SSL en fournissant les valeurs de paramètre appropriées. Remarque : ssl-cert et ssl-key ne sont pas obligatoires pour VERIFY_IDENTITY. Toutefois, si l'utilisateur de base de données requiert l'authentification X509, ssl-cert et ssl-key doivent être fournis avec client-cert et client-key.
Testez tous les noeuds de base de données à l'aide de cette méthode, puis testez la connexion du routeur.
Test de la connexion du routeur
Une fois les noeuds de base de données démarrés, redémarrez le routeur et surveillez-le pour vous assurer qu'il ne s'arrête pas.
Recherchez les erreurs ou avertissements qui indiquent que les paramètres SSL n'ont pas été acceptés dans les journaux sous le paramètre log-error du fichier de configuration. En l'absence d'erreurs ou d'avertissements, essayez de vous connecter à la base de données à partir du routeur à l'aide de la commande suivante. Assurez-vous d'utiliser le nom commun spécifié dans le certificat du routeur :
mysql -u *username* -p *password* -h *router_common_name* -P *router_port* --ssl-mode=VERIFY_IDENTITY --ssl-ca=*path/of/ca.pem*
Assurez-vous que la connexion passe sans erreur.
Vérifier la connexion entre le routeur et le noeud de base de données
Déterminez d'abord le noeud principal actuellement actif à l'aide de la commande suivante :
MySQL> SHOW VARIABLES like '%hosts%';
Déconnectez-vous de la base de données et permutez la base de données vers un autre noeud. Ensuite, connectez-vous à nouveau à la base de données à partir du routeur à l'aide de la commande suivante :
mysql -u *username* -p *password* -h *router_common_name* -P *router_port* --ssl-mode=VERIFY_IDENTITY --ssl-ca=*path/of/ca.pem*
Vérifiez à nouveau le noeud principal actif à l'aide de la même commande :
MySQL> SHOW VARIABLES like '%hosts%';