Misschien wilt u verbinding maken met MySQL op Amazon EC2 vanaf een Linux / Mac-laptop. Maar misschien wilt u om veiligheidsredenen geen poort op EC2-instantie openen. U kunt in plaats daarvan uw lokale poort doorsturen via Secure Shell (SSH). Wanneer u nu verbinding maakt met uw lokale poort, wordt deze doorgestuurd om in plaats daarvan verbinding te maken met de MySQL-server op Amazon EC2 via SSH. Het is niet nodig om de poort van uw MySQL-server op EC2-instantie te openen. Omdat het over SSH is, kan ook niemand het volgen. Hier leest u hoe u verbinding kunt maken met MySQL op Amazon EC2 vanuit Linux / Mac met behulp van SSH-tunnel.
Als u niet bekend bent met SSH-tunnel, kunt u lezen over verbinding maken met Amazon EC2-instantie vanuit Linux / Mac met behulp van SSH.
Het is heel gemakkelijk. Open gewoon de shell/terminal en typ een commando met de syntaxis
[sudo] ssh -i "$key" -f -N -L $local_port:127.0.0.1:$remote_port $user@$ec2
Wat het betekent:
$key – locatie van uw privésleutelbestand (.pem) gedownload van Amazon tijdens het maken van EC2-instantie
$local_port – poort op uw lokale computer die u doorstuurt naar de MySQL-server op EC2. Dit is de poort die luistert naar verbindingsverzoeken
$remote_port – poort waarop MySQL-server draait op EC2. Het is meestal 3306
$gebruiker –
- Voor een Amazon Linux AMI is de gebruikersnaam ec2-user .
- Voor een RHEL AMI is de gebruikersnaam vaak root maar mogelijk ec2-gebruiker .
- Voor een Ubuntu AMI is de gebruikersnaam ubuntu .
- Neem anders contact op met uw AMI-provider.
$ec2 – Openbare IP- of openbare dns-naam van EC2-instantie
Bijv.:
sudo ssh -i "/tmp/private_key.pem" -f -N -L 3100:127.0.0.1:3306 [email protected]
Hiermee wordt poort 3100 op uw laptop doorgestuurd naar poort 3306 op 192.150.15.1. Dus wanneer u verbinding probeert te maken met poort 3100 op uw laptop, wordt deze naar 192.150.15.1 gestuurd. Nadat de EC2-instantie is bereikt, wordt deze verzonden naar 127.0.0.1:3306. In dit geval verwijst 127.0.0.1 naar 192.150.15.1 en niet naar uw lokale computer. Hierdoor wordt de ssh-sessie op de achtergrond uitgevoerd. Het moet worden uitgevoerd wanneer u verbinding probeert te maken met de MySQL-database.
Maak verbinding met MySQL op Amazon EC2 vanuit Linux / Mac
Hier ter referentie is een voorbeeldverbinding met MySQL Adminstrator die naar localhost gaat:noteer het Server Host-adres van 127.0.0.1 dat transparant zal worden doorgestuurd.
U kunt ook een shell / terminal openen en typen (bijv. wachtwoord is 'passwd')
mysql -h 127.0.0.1 --port 3100 -uroot -ppasswd
Het betekent verbinding maken met poort 3100 op uw localhost. Hiermee wordt de verbinding doorgestuurd naar de MySQL-server van de EC2-instantie die luistert op poort 3306.