¿Cómo puedo usar una instancia de Amazon EC2 como host bastión para conectarme a una instancia de base de datos privada de Amazon RDS desde un equipo local?
Quiero usar una instancia de Amazon Elastic Compute Cloud (Amazon EC2) como host bastión (salto) para conectarme a una instancia de base de datos privada de Amazon Relational Database Service (Amazon RDS) desde un equipo local.
Solución
Nota: Si se muestran errores al ejecutar comandos de la Interfaz de la línea de comandos de AWS (AWS CLI), consulte Solución de problemas de AWS CLI. Además, asegúrese de utilizar la versión más reciente de la AWS CLI.
Para conectarse a una instancia de base de datos privada de Amazon RDS o Amazon Aurora, se recomienda utilizar una VPN o AWS Direct Connect. Si no puede usar ninguna de las dos opciones, use un host bastión.
El siguiente ejemplo de configuración es para una instancia de Amazon RDS para MySQL que se encuentra en una Amazon Virtual Private Cloud (Amazon VPC). El ejemplo usa grupos de seguridad para restringir el acceso. Sin embargo, puede restringir la lista de control de acceso a la red (ACL de la red) de las subredes para que la conexión sea más segura.
Inicio y configuración de la instancia de EC2
Siga estos pasos:
- Abra la consola de Amazon EC2 y, a continuación, seleccione Iniciar instancia.
- Seleccione una imagen de máquina de Amazon (AMI).
- Elija un tipo de instancia y, a continuación, seleccione Siguiente: configuración de los detalles de la instancia.
- En Red, elija la VPC que usa la instancia de base de datos de Amazon RDS.
- En Subred, seleccione la subred privada en la VPC.
- Elija Siguiente: Agregar almacenamiento y, a continuación, modifique el almacenamiento según sea necesario.
- Elija Siguiente: Agregar etiquetas y, a continuación, agregue etiquetas según sea necesario.
- Elija Siguiente: Configurar grupo de seguridad.
- Seleccione Agregar regla y, a continuación, introduzca los valores siguientes:
En Tipo, introduzca Regla TCP personalizada . En Protocolo, escriba TCP
En Intervalo de puertos, introduzca 22 . En Origen, introduzca el grupo de seguridad que utiliza su punto de enlace de conexión de Amazon EC2. - Elija Revisar e iniciar y, a continuación, elija Iniciar.
Configuración de los grupos de seguridad de la instancia de base de datos de Amazon RDS
Nota: Para conectar automáticamente una o más instancias de EC2 a una base de datos de Amazon RDS, consulte Conexión automática de una instancia a una base de datos de RDS con la consola de RDS.
Siga estos pasos:
- Abra la consola de Amazon RDS.
- En el panel de navegación, seleccione Bases de datos.
- Elija el nombre de la instancia de base de datos de Amazon RDS. Si aún no tiene una, cree una instancia de base de datos de RDS.
- Elija Conectividad y seguridad.
- En la sección Seguridad, elija el enlace que se encuentra debajo de Grupos de seguridad de VPC.
- Seleccione el grupo de seguridad, elija Acciones y, a continuación, elija Editar reglas de entrada.
- Seleccione Agregar regla y, a continuación, introduzca los valores siguientes:
En Tipo, introduzca Regla TCP personalizada . En Protocolo, escriba TCP
En Intervalo de puertos, introduzca el puerto de la instancia de base de datos de Amazon RDS.
En Origen, introduzca la dirección IP privada de la instancia de EC2. - Seleccione Guardar.
Esta configuración del grupo de seguridad permite el tráfico desde la dirección IP privada de la instancia de EC2. Si la instancia de EC2 y la instancia de base de datos de Amazon RDS utilizan la misma VPC, no es necesario que modifique la tabla de enrutamiento de la instancia de base de datos de Amazon RDS. Si la VPC es diferente, cree una conexión de emparejamiento de VPC para permitir las conexiones entre esas VPC.
Nota: Si usa una solución más escalable, revise la configuración. Por ejemplo, si usa el ID del grupo de seguridad en una regla de grupo de seguridad, asegúrese de que no restrinja el acceso a una instancia. En su lugar, configure la regla para restringir el acceso a cualquier recurso que utilice el ID de grupo de seguridad específico.
Creación de un punto de enlace de conexión de instancias de EC2
- Abra la consola de Amazon VPC.
- En el panel de navegación, elija Puntos de enlace.
- Elija Crear punto de enlace, y a continuación, especifique la configuración del punto de enlace.
(Opcional) En Etiqueta de nombre, introduzca un nombre para el punto de enlace.
En Categoría de servicio, elija Punto de enlace de conexión de instancia de EC2.
En VPC, seleccione la VPC que tenga las instancias de destino.
(Opcional) Para conservar las direcciones IP de los clientes, expanda Configuración adicional y seleccione la casilla de verificación. De lo contrario, la opción predeterminada es utilizar la interfaz de red del punto de enlace como dirección IP del cliente.
En Grupos de seguridad, seleccione el grupo de seguridad que desea asociar al punto de enlace. De lo contrario, la opción predeterminada es usar el grupo de seguridad predeterminado para la VPC.
En Subred, seleccione la subred en la que desea crear el punto de enlace.
(Opcional) Para agregar una etiqueta, seleccione Agregar nueva etiqueta e introduzca la clave y el valor de la etiqueta. - Revise la configuración y, a continuación, seleccione Crear punto de enlace.
- El estado inicial del punto de enlace es Pendiente. Para conectarse a una instancia, debe esperar hasta que el estado del punto de enlace sea Disponible. Este proceso puede tardar unos minutos.
Conexión a la instancia de base de datos de RDS desde el equipo local
Nota: Debe tener acceso a la AWS CLI.
Para conectarse desde su cliente MySQL local a una instancia de RDS privada a través de un túnel SSH, siga estos pasos:
Linux o macOS
-
Ejecute el siguiente comando para abrir un túnel desde el equipo local hasta la instancia de EC2:
aws ec2-instance-connect open-tunnel --instance-id ec2-instance-ID --local-port 8888
Nota: Sustituya ec2-instance-ID por su ID de instancia de EC2.
-
Abra una segunda conexión y ejecute el siguiente comando para crear un túnel SSH desde el host local hasta la base de datos de RDS a través de una instancia de EC2:
ssh -i YOUR_EC2_KEY EC2_USER@EC2_HOST -p EC2_TUNNEL_PORT -L LOCAL_PORT:RDS_ENDPOINT:REMOTE_PORT -N -f
Nota: Sustituya los siguientes valores:
YOUR_EC2_KEY por la ruta al archivo de clave privada de EC2 . EC2_USER por el nombre de usuario de la instancia de EC2 . EC2_HOST por el nombre de host de la instancia de EC2 . EC2_TUNNEL_PORT por el puerto que ha configurado . LOCAL_PORT por un puerto sin usar en su equipo local . RDS_ENDPOINT por el punto de enlace de la instancia de RDS . REMOTE_PORT por el puerto que usa la base de datos de Amazon RDS en la instancia de RDS. -
Utilice una tercera conexión y ejecute el siguiente comando para conectarse a la instancia de Amazon RDS desde su equipo local:
mysql -h 127.0.0.1 -P LOCAL_PORT -u RDS_USER -p
Nota: Sustituya los siguientes valores:
LOCAL_PORT por el número del puerto local . DB_USER por el nombre de usuario de la base de datos de RDS . Contraseña de base de datos por la contraseña de base de datos de Amazon RDS.
Información relacionada
¿Cómo puedo solucionar los problemas de conexión con la instancia de base de datos de Amazon RDS?
Vídeos relacionados


Contenido relevante
- preguntada hace 22 díaslg...
- preguntada hace 4 meseslg...
- Respuesta aceptadapreguntada hace 2 meseslg...
- preguntada hace 2 meseslg...
- preguntada hace un meslg...
- OFICIAL DE AWSActualizada hace 3 años
- OFICIAL DE AWSActualizada hace 2 años
- OFICIAL DE AWSActualizada hace 2 años