Quiero usar Amazon Relational Database Service (Amazon RDS) Proxy para conectarme a mi instancia de base de datos de Amazon RDS para MySQL o a mi clúster de base de datos de edición compatible con Amazon Aurora MySQL.
Solución
Requisito previo: El proxy debe estar en la misma nube virtual privada (VPC) que la base de datos. Puede hacer que la base de datos sea de acceso público, pero el proxy no puede ser de acceso público.
Creación del proxy y conexión a la instancia de base de datos
Siga estos pasos:
-
Cree las credenciales de la base de datos en AWS Secrets Manager.
Nota: Cuando cree el secreto, use el mismo nombre de usuario y contraseña que la base de datos.
-
(Opcional) Cree una política de AWS Identity and Access Management (IAM) y un rol de IAM.
Nota: Amazon RDS Proxy crea automáticamente un rol de IAM. Sin embargo, puede crear su propio rol de IAM.
-
Cree un proxy.
-
Ejecute el siguiente comando para comprobar si se puede acceder al punto de enlace del proxy:
nc -zv proxy_endpoint 3306
Nota: Sustituya proxy_endpoint por la dirección de su servidor proxy. Ejecute el comando anterior solo en un equipo de Amazon Elastic Compute Cloud (Amazon EC2) que esté en la misma VPC que el proxy. El comando no se ejecuta en equipos locales.
Resultado de ejemplo:
Connection to test-proxy.proxy-#############.eu-west-1.rds.amazonaws.com 3306 port [tcp/mysql] succeeded
-
Ejecute el siguiente comando para usar el proxy para conectarse a la instancia de base de datos de RDS:
mysql -h proxy_endpoint -u username -p
Nota: Sustituya proxy_endpoint por la dirección de su servidor proxy.
Resultado de ejemplo:
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>
(Opcional) Uso del proxy con una conexión TLS/SSL
Siga estos pasos:
-
Al crear el proxy, active Requerir seguridad de la capa de transporte. También puede modificar un proxy existente.
Nota: Cuando utiliza un protocolo TLS/SSL, el proxy rechaza las conexiones de texto sin formato.
-
Descargue el archivo .pem del almacén de confianza de CA raíz 1 de Amazon de Amazon Trust Services:
wget https://www.amazontrust.com/repository/AmazonRootCA1.pem
-
Ejecute el siguiente comando para usar TLS/SSL para conectarse a la instancia de base de datos:
mysql -h test-proxy.proxy-#############.eu-west-1.rds.amazonaws.com -u admin --ssl-mode=REQUIRED --ssl-ca=AmazonRootCA1.pem -p
O bien, puede ejecutar el siguiente comando con el modo VERIFY_IDENTITY de TLS/SSL para conectarse a la instancia de base de datos:
mysql -h test-proxy.proxy-#############.eu-west-1.rds.amazonaws.com -u admin --ssl-mode=VERIFY_IDENTITY --ssl-ca=AmazonRootCA1.pem -p
Nota: El proxy usa certificados comodín. Si usa el cliente MySQL para conectarse con el modo VERIFY_IDENTITY de TLS/SSL, debe usar el comando mysql compatible con MySQL 8.0.
Resultado de ejemplo:
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.
Información relacionada
Solución de problemas de RDS Proxy
Amazon RDS Proxy