Comment me connecter à mon instance de base de données MySQL Amazon RDS ou à mon cluster de base de données Aurora MySQL à l'aide du proxy Amazon RDS ?

Date de la dernière mise à jour : 21/09/2020

Comment me connecter à mon instance de base de données Amazon Relational Database Service (Amazon RDS) ou à mon cluster de base de données Amazon Aurora exécutant MySQL à l'aide du proxy Amazon RDS ?

Brève description

Vous pouvez utiliser le proxy Amazon RDS pour gérer les connexions à votre application. Pour plus d'informations sur les moteurs pris en charge par RDS Proxy, consultez Gestion des connexions avec Amazon RDS Proxy.

Solution

Avant de commencer, votre proxy Amazon RDS doit se trouver dans le même VPC que la base de données. Bien que vous puissiez rendre la base de données accessible publiquement, le proxy ne peut pas être accessible publiquement.

1.    Créez des informations d'identification de base de données dans AWS Secrets Manager.
Remarque : utilisez les mêmes nom d'utilisateur et mot de passe que votre base de données lorsque vous créez votre secret.

2.    Créez une stratégie AWS Identity and Access Management (IAM) et un rôle IAM.
Remarque : cette étape est facultative. Amazon RDS Proxy peut créer automatiquement un rôle IAM à l'étape 3. Suivez cette étape si vous souhaitez créer votre propre rôle IAM.

3.    Créez un proxy Amazon RDS.

4.    Vérifiez que le point de terminaison proxy est accessible :

nc -zv <proxy_endpoint> 3306

La commande renvoie une sortie similaire à celle-ci :

nc -z test-proxy.proxy-xxxxxxxxxxxxx.eu-west-1.rds.amazonaws.com 3306
Connection to test-proxy.proxy-xxxxxxxxxxxxx.eu-west-1.rds.amazonaws.com 3306 port [tcp/mysql] succeeded!

Remarque : vous ne pouvez exécuter cette commande que sur une machine EC2 qui se trouve dans le même VPC que le proxy RDS. Cette commande ne fonctionne pas sur les machines locales.

5.    Connectez-vous à l'instance de base de données RDS à l'aide du proxy Amazon RDS :

mysql -h <proxy_end_point> -u username -p

La commande renvoie une sortie similaire à celle-ci :

mysql -h test-proxy.proxy-xxxxxxxxxxxxx.eu-west-1.rds.amazonaws.com -u admin -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2946664484
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> 

Vous pouvez également vous connecter à l'instance de base de données RDS à l'aide du proxy Amazon RDS avec une connexion SSL en procédant comme suit :

1.    Si vous le souhaitez, activez Require Transport Layer Security (Protocole d'authentification mutuelle obligatoire) lorsque vous créez le proxy Amazon RDS. Vous pouvez également modifier un proxy RDS existant pour activer cette option.
Remarque : si vous affectez au paramètre la valeur Obligatoire, les connexions doivent utiliser le protocole SSL. Toutes les connexions en texte brut sont rejetées. Si ce paramètre n'est pas activé, le proxy Amazon RDS peut se connecter à l'instance de base de données RDS avec et sans le protocole SSL.

2.    Téléchargez le fichier .pem depuis le magasin d'approbations Amazon Root CA 1 à partir d'Amazon Trust Services :

wget https://www.amazontrust.com/repository/AmazonRootCA1.pem
mysql -h test-proxy.proxy-xxxxxxxxxxxxx.eu-west-1.rds.amazonaws.com -u admin --ssl-mode=REQUIRED --ssl-ca=AmazonRootCA1.pem -p

Vous pouvez également vous connecter à l'aide du protocole SSL en exécutant la commande suivante :

mysql -h test-proxy.proxy-xxxxxxxxxxxxx.eu-west-1.rds.amazonaws.com -u admin --ssl-mode=VERIFY_IDENTITY --ssl-ca=AmazonRootCA1.pem -p

Remarque : le proxy Amazon RDS utilise des certificats génériques. Par conséquent, vous devez utiliser la commande mysql compatible avec MySQL 8.0 si vous utilisez le client MySQL pour vous connecter avec le mode SSL VERIFY_IDENTITY.

Lorsque vous vous connectez, la sortie suivante est renvoyée :

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.

Cet article vous a-t-il été utile ?


Besoin d'aide pour une question technique ou de facturation ?