Połącz się z db w prywatnej instancji podsieci przez NAT za pomocą MySQL Workbench
Utwórz użytkownika mysql, który może się połączyć zdalnie:
- domyślnie
root
użytkownik nie może połączyć się zdalnie
utwórz użytkownika, który może połączyć się z twojego adresu IP (lub użyj%, co oznacza dowolny adres)
- połącz się z instancją db w prywatnej podsieci za pośrednictwem SSH
- zaloguj się do mysql jako root i wpisz hasło po wyświetleniu monitu:
mysql -h localhost -u root -p
- uruchom następujące zapytanie, aby utworzyć użytkownika
CREATE USER 'username'@'XX.XX.XX.XX' IDENTIFIED BY 'mypassword';
- upewnij się, że dodany użytkownik ma wszystkie wymagane uprawnienia:
GRANT ALL PRIVILEGES ON *.* TO 'username'@'IP' IDENTIFIED BY 'password';
upewnij się, że dodawani użytkownicy nie są duplikatami ani nazwy użytkownika, ani hasła
- wyświetl tabelę użytkowników w terminalu za pomocą następującego zapytania mysql:
select * from mysql.user\G;
- dobrym pomysłem jest usunięcie anonimowego użytkownika zarówno dla bezpieczeństwa, jak i potencjalnych kolizji użytkowników: https: //stackoverflow.com/questions/10299148
po zakończeniu uruchomienia zapytania: FLUSH PRIVILEGES;
Skonfiguruj grupy zabezpieczeń, aby zezwalały na zdalne połączenie MySQL za pośrednictwem instancji NAT:
z WorkBench tunelujesz SSH do NAT, a następnie łączysz się przez port 3306 z instancją db
upewnij się, że adres IP, z którego się łączysz, może łączyć się z portem 3306 w grupie bezpieczeństwa AWS
- instancja NAT powinna mieć SSH (22) przychodząca z twojego adresu IP
- instancja NAT powinna mieć MySQL (3306) wychodzącą w kierunku Zakres adresów VPC (np. 10.0.0.0/16)
- instancja db w prywatnej podsieci VPC powinna zezwalać na przychodzące MySQL (3306) z prywatnego zakresu VPC (np. 10.0.0.0/16)
Skonfiguruj Workbench, aby łączył się z instancją db za pośrednictwem instancji NAT:
- otwórz WorkBench
- utwórz nowe połączenie i nadaj mu nazwę (np. my_vpc_db1)
- wybierz „Standard TCP / IP over SSH” jako metodę połączenia
- host SSH jest publicznym adresem IP intencji NAT, np. XX.XX.XX.XX
- SSH Nazwa użytkownika = użytkownik ec2
- Hasło SSH jest puste (wyczyść to, jeśli to konieczne)
- Plik klucza SSH = przejdź do lokalizacji pliku key_pair.pem
- Nazwa hosta MySQL = prywatny adres IP instancji db w VPC
- MySQL Port serwera = 3306
- nazwa użytkownika = nazwa właśnie dodana w CREATE USER
- hasło = właśnie dodana w CREATE USER