Možná se budete chtít připojit k MySQL na Amazon EC2 z notebooku Linux / Mac. Z bezpečnostních důvodů však možná nebudete chtít otevřít žádný port na instanci EC2. Místo toho můžete přesměrovat svůj místní port přes Secure Shell (SSH). Nyní, když se připojíte k místnímu portu, je přesměrován pro připojení k serveru MySQL na Amazon EC2 přes SSH. Není třeba otevírat port vašeho serveru MySQL na instanci EC2. Protože je to přes SSH, nikdo to také nemůže sledovat. Zde je návod, jak se můžete připojit k MySQL na Amazon EC2 z Linuxu / Mac pomocí tunelu SSH.
Pokud neznáte tunel SSH, můžete si přečíst o připojení k instanci Amazon EC2 z Linuxu / Mac pomocí SSH.
Je to opravdu snadné. Stačí otevřít shell/terminál a napsat příkaz se syntaxí
[sudo] ssh -i "$key" -f -N -L $local_port:127.0.0.1:$remote_port $user@$ec2
Co to znamená:
$key – umístění souboru vašeho soukromého klíče (.pem) staženého z Amazonu při vytváření instance EC2
$local_port – port na vašem místním počítači, který přesměrováváte na server MySQL na EC2. Toto je port, který naslouchá žádostem o připojení
$remote_port – port, na kterém běží MySQL server na EC2. Obvykle je to 3306
$user –
- U rozhraní Amazon Linux AMI je uživatelské jméno ec2-user .
- U rozhraní RHEL AMI je uživatelské jméno často root ale může to být ec2-user .
- U Ubuntu AMI je uživatelské jméno ubuntu .
- V opačném případě se obraťte na svého poskytovatele AMI.
$ec2 – Veřejná IP nebo veřejný název DNS instance EC2
Např.:
sudo ssh -i "/tmp/private_key.pem" -f -N -L 3100:127.0.0.1:3306 [email protected]
Toto přepošle port 3100 na vašem notebooku na port 3306 na 192.150.15.1. Takže když se pokusíte připojit k portu 3100 na vašem notebooku, bude odeslán na 192.150.15.1. Po dosažení instance EC2 je odeslána na 127.0.0.1:3306. V tomto případě 127.0.0.1 odkazuje na 192.150.15.1 a ne na váš místní počítač. Tím spustíte relaci ssh na pozadí. Musí být spuštěn vždy, když se pokusíte připojit k databázi MySQL.
Připojte se k MySQL na Amazon EC2 ze systému Linux / Mac
Zde je pro referenci příklad připojení pomocí MySQL Adminstrator na localhost:poznamenejte si adresu Server Host 127.0.0.1, která bude transparentně předána dál.
Můžete také otevřít shell / terminál a zadat (např. heslo je „passwd“)
mysql -h 127.0.0.1 --port 3100 -uroot -ppasswd
Znamená to připojit se k portu 3100 na vašem localhostu. Toto předá připojení k serveru MySQL instance EC2 naslouchajícímu na portu 3306.