Możesz połączyć się z MySQL na Amazon EC2 z laptopa Linux / Mac. Ale możesz nie chcieć otwierać żadnego portu na instancji EC2 ze względów bezpieczeństwa. Zamiast tego możesz przekazać swój lokalny port przez Secure Shell (SSH). Teraz, gdy łączysz się z lokalnym portem, jest on przekazywany do połączenia z serwerem MySQL na Amazon EC2 przez SSH. Nie ma potrzeby otwierania portu serwera MySQL na instancji EC2. Ponieważ jest to przez SSH, nikt też nie może go śledzić. Oto jak możesz połączyć się z MySQL na Amazon EC2 z systemu Linux / Mac za pomocą tunelu SSH.
Jeśli nie znasz tunelu SSH, możesz przeczytać o łączeniu się z instancją Amazon EC2 z systemu Linux / Mac za pomocą SSH.
To naprawdę proste. Po prostu otwórz powłokę/terminal i wpisz polecenie ze składnią
[sudo] ssh -i "$key" -f -N -L $local_port:127.0.0.1:$remote_port $user@$ec2
Co to znaczy:
Klucz $ – lokalizacja pliku klucza prywatnego (.pem) pobranego z Amazon podczas tworzenia instancji EC2
$local_port – port na twoim lokalnym komputerze, który przekazujesz na serwer MySQL na EC2. To jest port, który nasłuchuje żądań połączenia
$remote_port – port, na którym działa serwer MySQL na EC2. Zwykle jest to 3306
$użytkownik –
- W przypadku systemu Amazon Linux AMI nazwa użytkownika to ec2-user .
- W przypadku RHEL AMI nazwa użytkownika to często root ale może być użytkownikiem ec2- .
- W przypadku Ubuntu AMI nazwa użytkownika to ubuntu .
- W przeciwnym razie skontaktuj się z dostawcą AMI.
$ec2 – Publiczny adres IP lub publiczna nazwa dns instancji EC2
Np.:
sudo ssh -i "/tmp/private_key.pem" -f -N -L 3100:127.0.0.1:3306 [email protected]
Spowoduje to przekierowanie portu 3100 na laptopie do portu 3306 na 192.150.15.1. Więc kiedy spróbujesz połączyć się z portem 3100 na swoim laptopie, zostanie wysłany do 192.150.15.1. Po dotarciu do instancji EC2 jest wysyłany na adres 127.0.0.1:3306. W tym przypadku 127.0.0.1 odnosi się do 192.150.15.1, a nie do komputera lokalnego. To uruchomi sesję ssh w tle. Musi być uruchomiony za każdym razem, gdy próbujesz połączyć się z bazą danych MySQL.
Połącz się z MySQL na Amazon EC2 z systemu Linux/Mac
Tutaj w celach informacyjnych znajduje się przykładowe połączenie za pomocą MySQL Adminstrator do hosta lokalnego:zwróć uwagę na adres hosta serwera 127.0.0.1, który zostanie w sposób przezroczysty przekazany.
Możesz także otworzyć powłokę/terminal i wpisać (np. hasło to ‘passwd’)
mysql -h 127.0.0.1 --port 3100 -uroot -ppasswd
Oznacza to połączenie z portem 3100 na lokalnym hoście. Spowoduje to przekierowanie połączenia do serwera MySQL instancji EC2 nasłuchującego na porcie 3306.