sql >> Base de Datos >  >> RDS >> Mysql

¿Cómo conectarse a MySQL en Amazon EC2 desde Linux/Mac?

Es posible que desee conectarse a MySQL en Amazon EC2 desde una computadora portátil Linux/Mac. Pero es posible que no desee abrir ningún puerto en la instancia EC2 por razones de seguridad. En su lugar, puede reenviar su puerto local a través de Secure Shell (SSH). Ahora, cuando se conecta a su puerto local, se reenvía para conectarse al servidor MySQL en Amazon EC2 a través de SSH. No es necesario abrir el puerto de su servidor MySQL en la instancia EC2. Dado que se trata de SSH, nadie puede rastrearlo tampoco. Así es como puede conectarse a MySQL en Amazon EC2 desde Linux/Mac usando el túnel SSH.

Si no está familiarizado con el túnel SSH, puede obtener información sobre cómo conectarse a una instancia de Amazon EC2 desde Linux/Mac mediante SSH.

Es realmente fácil. Simplemente abra el shell/terminal y escriba un comando con la sintaxis

[sudo] ssh -i "$key" -f -N -L $local_port:127.0.0.1:$remote_port $user@$ec2

Qué significa:

$clave – ubicación de su archivo de clave privada (.pem) descargado de Amazon mientras creaba la instancia EC2

$puerto_local – puerto en su máquina local que está reenviando al servidor MySQL en EC2. Este es el puerto que escucha las solicitudes de conexión

$puerto_remoto – puerto en el que se ejecuta el servidor MySQL en EC2. Suele ser 3306

$usuario

  • Para una AMI de Amazon Linux, el nombre de usuario es ec2-user .
  • Para una AMI de RHEL, el nombre de usuario suele ser root pero podría ser usuario ec2 .
  • Para una AMI de Ubuntu, el nombre de usuario es ubuntu .
  • De lo contrario, consulte con su proveedor de AMI.

$ec2 – IP pública o nombre DNS público de la instancia EC2

Por ejemplo:

sudo ssh -i "/tmp/private_key.pem" -f -N -L 3100:127.0.0.1:3306 [email protected]

Esto reenviará el puerto 3100 en su computadora portátil al puerto 3306 en 192.150.15.1. Entonces, cuando intente conectarse al puerto 3100 en su computadora portátil, se enviará a 192.150.15.1. Después de llegar a la instancia EC2, se envía a 127.0.0.1:3306. En este caso, 127.0.0.1 se refiere a 192.150.15.1 y no a su máquina local. Esto ejecutará la sesión ssh en segundo plano. Debe estar ejecutándose siempre que intente conectarse a la base de datos MySQL.

Conéctese a MySQL en Amazon EC2 desde Linux/Mac

Aquí, como referencia, hay un ejemplo de conexión que usa MySQL Adminstrator yendo a localhost:tenga en cuenta la dirección del host del servidor de 127.0.0.1 que se reenviará de forma transparente.

También puede abrir un shell/terminal y escribir (por ejemplo, la contraseña es 'passwd')

mysql -h 127.0.0.1 --port 3100 -uroot -ppasswd

Significa conectarse al puerto 3100 en su host local. Esto reenvía la conexión al servidor MySQL de la instancia EC2 que escucha en el puerto 3306.