Du vil måske oprette forbindelse til MySQL på Amazon EC2 fra Linux / Mac laptop. Men du vil måske ikke åbne nogen port på EC2-instansen af sikkerhedsmæssige årsager. Du kan videresende din lokale port over Secure Shell (SSH) i stedet. Når du nu opretter forbindelse til din lokale port, videresendes den til at oprette forbindelse til MySQL-serveren på Amazon EC2 over SSH i stedet. Det er ikke nødvendigt at åbne porten på din MySQL-server på EC2-instansen. Da det er over SSH, kan ingen spore det heller. Sådan kan du oprette forbindelse til MySQL på Amazon EC2 fra Linux / Mac ved hjælp af SSH-tunnel.
Hvis du ikke er bekendt med SSH-tunnel, kan du læse om tilslutning til Amazon EC2-instans fra Linux/Mac ved hjælp af SSH.
Det er rigtig nemt. Bare åbn shell/terminalen og skriv en kommando med syntaksen
[sudo] ssh -i "$key" -f -N -L $local_port:127.0.0.1:$remote_port $user@$ec2
Hvad det betyder:
$nøgle – placering af din private nøglefil (.pem) downloadet fra Amazon under oprettelse af EC2-instans
$local_port – port på din lokale maskine, som du videresender til MySQL-server på EC2. Dette er den port, der lytter til forbindelsesanmodninger
$remote_port – port som MySQL-serveren kører på EC2. Det er normalt 3306
$bruger –
- For en Amazon Linux AMI er brugernavnet ec2-bruger .
- For en RHEL AMI er brugernavnet ofte root men kan være ec2-bruger .
- For en Ubuntu AMI er brugernavnet ubuntu .
- Ellers skal du kontakte din AMI-udbyder.
$ec2 – Offentlig IP eller offentligt dns-navn på EC2-instansen
F.eks.:
sudo ssh -i "/tmp/private_key.pem" -f -N -L 3100:127.0.0.1:3306 [email protected]
Dette vil videresende port 3100 på din bærbare computer til port 3306 på 192.150.15.1. Så når du prøver at oprette forbindelse til port 3100 på din bærbare computer, vil den blive sendt til 192.150.15.1. Efter at have nået EC2-instansen, sendes den til 127.0.0.1:3306. I dette tilfælde refererer 127.0.0.1 til 192.150.15.1 og ikke din lokale maskine. Dette vil køre ssh-sessionen i baggrunden. Den skal køre, hver gang du forsøger at oprette forbindelse til MySQL-databasen.
Opret forbindelse til MySQL på Amazon EC2 fra Linux/Mac
Her til reference er et eksempel på forbindelse ved hjælp af MySQL Adminstrator, der går til localhost:bemærk serverværtsadressen på 127.0.0.1, som vil blive videresendt gennemsigtigt.
Du kan også åbne en shell/terminal og skrive (f.eks. er adgangskoden 'passwd')
mysql -h 127.0.0.1 --port 3100 -uroot -ppasswd
Det betyder at oprette forbindelse til port 3100 på din lokale vært. Dette videresender forbindelsen til EC2-instansens MySQL-server, der lytter på port 3306.