Potresti voler connetterti a MySQL su Amazon EC2 da laptop Linux/Mac. Ma potresti non voler aprire nessuna porta sull'istanza EC2 per motivi di sicurezza. Puoi invece inoltrare la tua porta locale su Secure Shell (SSH). Ora, quando ti connetti alla tua porta locale, viene inoltrata per la connessione al server MySQL su Amazon EC2 tramite SSH. Non è necessario aprire la porta del tuo server MySQL sull'istanza EC2. Dal momento che è su SSH, nessuno può nemmeno rintracciarlo. Ecco come puoi connetterti a MySQL su Amazon EC2 da Linux/Mac utilizzando il tunnel SSH.
Se non hai familiarità con il tunnel SSH, puoi leggere informazioni sulla connessione all'istanza Amazon EC2 da Linux/Mac tramite SSH.
È davvero facile. Basta aprire la shell/il terminale e digitare un comando con la sintassi
[sudo] ssh -i "$key" -f -N -L $local_port:127.0.0.1:$remote_port $user@$ec2
Cosa significa:
$chiave – posizione del file della chiave privata (.pem) scaricato da Amazon durante la creazione dell'istanza EC2
$porta_locale – porta sul tuo computer locale che stai inoltrando al server MySQL su EC2. Questa è la porta che ascolta le richieste di connessione
$porta_remota – porta su cui gira il server MySQL su EC2. Di solito è 3306
$utente –
- Per un'AMI Amazon Linux, il nome utente è ec2-user .
- Per un'AMI RHEL, il nome utente è spesso root ma potrebbe essere utente ec2 .
- Per un'AMI Ubuntu, il nome utente è ubuntu .
- Altrimenti, verifica con il tuo provider AMI.
$ec2 – IP pubblico o nome dns pubblico dell'istanza EC2
Es:
sudo ssh -i "/tmp/private_key.pem" -f -N -L 3100:127.0.0.1:3306 [email protected]
Questo inoltrerà la porta 3100 sul tuo laptop alla porta 3306 su 192.150.15.1. Quindi, quando provi a connetterti alla porta 3100 sul tuo laptop, verrà inviato a 192.150.15.1. Dopo aver raggiunto l'istanza EC2, viene inviata a 127.0.0.1:3306. In questo caso, 127.0.0.1 si riferisce a 192.150.15.1 e non al tuo computer locale. Questo eseguirà la sessione ssh in background. Deve essere in esecuzione ogni volta che tenti di connetterti al database MySQL.
Connettiti a MySQL su Amazon EC2 da Linux/Mac
Qui per riferimento c'è un esempio di connessione usando MySQL Adminstrator che va a localhost:nota l'indirizzo Server Host di 127.0.0.1 che verrà inoltrato in modo trasparente.
Puoi anche aprire una shell / terminale e digitare (ad es. la password è "passwd")
mysql -h 127.0.0.1 --port 3100 -uroot -ppasswd
Significa connettersi alla porta 3100 sul tuo localhost. Questo inoltra la connessione al server MySQL dell'istanza EC2 in ascolto sulla porta 3306.