Comment utiliser le proxy Amazon RDS pour me connecter à mon instance de base de données Amazon RDS ou à mon cluster de base de données Aurora compatible MySQL ?

Lecture de 4 minute(s)
0

Je souhaite utiliser le proxy Amazon RDS pour me connecter à mon instance de base de données Amazon Relational Database Service (Amazon RDS) for MySQL. Ou je souhaite utiliser le proxy Amazon RDS pour me connecter au cluster de base de données Amazon Aurora MySQL Compatible-Edition.

Résolution

Avant toute chose, votre proxy Amazon RDS 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.

1.     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.

2.    (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 à l’étape 3. Suivez l'étape 2 pour créer votre propre rôle IAM.

3.     Créez un proxy Amazon RDS.

4.    Pour vérifier que le point de terminaison du proxy est accessible, exécutez la commande suivante :

nc -zv <proxy_endpoint> 3306

Exemple de résultat :

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

Remarque : la commande précédente doit uniquement être exécutée sur une instance Amazon Elastic Compute Cloud (Amazon EC2) située dans le même réseau virtuel privé (VPC) que le proxy Amazon RDS. Cette commande ne fonctionne pas sur les machines locales.

5.    Pour pouvoir utiliser le proxy Amazon RDS afin de vous connecter à l'instance de base de données RDS, exécutez la commande suivante :

mysql -h <proxy_end_point> -u username -p

Exemple de résultat :

mysql -h test-proxy.proxy-xxxxxxxxxxxxx.eu-west-1.rds.amazonaws.com -u admin -pEnter 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 utiliser le proxy Amazon RDS avec une connexion SSL/TLS pour vous connecter à l'instance de base de données :

1.    (Facultatif) Lorsque vous créez le proxy Amazon RDS, activez l’option Exiger la sécurité de la couche de transport. Vous pouvez également modifier un proxy Amazon RDS existant.
Remarque : Si vous redéfinissez le paramètre sur Obligatoire, les connexions doivent utiliser le protocole SSL/TLS. Le proxy Amazon RDS rejette les connexions en texte brut. Si vous ne modifiez pas le paramètre, le proxy Amazon RDS peut se connecter à l'instance de base de données avec ou sans SSL/TLS.

2.    Téléchargez le fichier .pem du magasin de confiance Amazon Root CA 1 depuis Amazon Trust Services :

wget https://www.amazontrust.com/repository/AmazonRootCA1.pem

3.    Utilisez le protocole SSL pour vous connecter à l'instance de base de données :

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 exécuter la commande suivante pour vous connecter à l'instance de base de données à l’aide de SSL/TLS :

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. Si vous utilisez le client MySQL pour vous connecter en mode SSL/TLS VERIFY_IDENTITY, vous devez donc utiliser la commande mysql compatible avec MySQL 8.0.

Une fois la connexion établie, l'instance de base de données renvoie le résultat suivant :

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 Amazon RDS

Utilisation du proxy Amazon RDS