Je souhaite utiliser le proxy Amazon Relational Database Service (Amazon RDS) pour me connecter à mon instance de base de données Amazon RDS pour MySQL ou à mon cluster de base de données Amazon Aurora édition compatible avec MySQL.
Résolution
Prérequis : Votre proxy doit se trouver dans le même cloud privé virtuel (VPC) que la base de données. Vous pouvez rendre la base de données accessible au public, mais pas le proxy.
Créer le proxy et le connecter à votre instance de base de données
Procédez comme suit :
-
Créez des informations d'identification pour votre base de données dans AWS Secrets Manager.
Remarque : Au moment de créer le secret, veillez à utiliser le même nom d'utilisateur et le même mot de passe que ceux de votre base de données.
-
(Facultatif) Créez une politique AWS Identity and Access Management (IAM) et un rôle IAM.
Remarque : Le proxy Amazon RDS crée automatiquement un rôle IAM. Cependant, vous pouvez créer votre propre rôle IAM.
-
Créez un proxy.
-
Exécutez la commande suivante pour vérifier que le point de terminaison du proxy est accessible :
nc -zv proxy_endpoint 3306
Remarque : Remplacez proxy_endpoint par l'adresse de votre serveur proxy. Exécutez la commande précédente uniquement sur une instance Amazon Elastic Compute Cloud (Amazon EC2) située dans le même réseau virtuel privé (VPC) que le proxy. Cette commande ne fonctionne pas sur les machines locales.
Exemple de sortie :
Connection to test-proxy.proxy-#############.eu-west-1.rds.amazonaws.com 3306 port [tcp/mysql] succeeded
-
Exécutez la commande suivante pour utiliser le proxy afin de vous connecter à l'instance de base de données RDS :
mysql -h proxy_endpoint -u username -p
Remarque : Remplacez proxy_endpoint par l'adresse de votre serveur proxy.
Exemple de sortie :
Server version: 5.7.28-log
Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
(Facultatif) Utiliser le proxy avec une connexion TLS/SSL
Procédez comme suit :
-
Lorsque vous créez le proxy, activez l'option Exiger la sécurité de la couche de transport. Vous pouvez également modifier un proxy existant.
Remarque : Lorsque vous utilisez un protocole TLS/SSL, le proxy rejette les connexions en texte brut.
-
Téléchargez le fichier .pem du trustore Amazon Root CA 1 depuis Amazon Trust Services :
wget https://www.amazontrust.com/repository/AmazonRootCA1.pem
-
Exécutez la commande suivante pour utiliser TLS/SSL afin de vous connecter à l'instance de base de données :
mysql -h test-proxy.proxy-#############.eu-west-1.rds.amazonaws.com -u admin --ssl-mode=REQUIRED --ssl-ca=AmazonRootCA1.pem -p
Vous pouvez également exécuter la commande suivante avec le mode VERIFY_IDENTITY pour vous connecter à l'instance de base de données :
mysql -h test-proxy.proxy-#############.eu-west-1.rds.amazonaws.com -u admin --ssl-mode=VERIFY_IDENTITY --ssl-ca=AmazonRootCA1.pem -p
Remarque : Le proxy utilise des certificats génériques. Si vous utilisez le client MySQL pour vous connecter en mode TLS/SSL VERIFY_IDENTITY, vous devez donc utiliser la commande mysql compatible avec MySQL 8.0.
Exemple de résultat :
Welcome to the MySQL monitor. Commands end with ; or \g.Your MySQL connection id is 12659040
Server version: 5.7.28-log
Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
Informations connexes
Résolution des problèmes liés au proxy RDS
Proxy Amazon RDS