połącz się z instancją db w prywatnej podsieci VPC za pomocą MySQL Workbench

2

Jak połączyć się z instancją AWS (lub inną) w prywatnej podsieci w VPC za pomocą MySQL Workbench?

Moje ustawienie to typowy aws Scenariusz 2 :

Mogę:
- SSH do mojej instancji NAT znajdującej się w mojej publicznej podsieci VPC
- SSH z mojej instancji NAT do instancji db w mojej prywatnej podsieci VPC
- połączyć się z MySQL jako rootużytkownik po połączeniu z moją prywatną instancją db

Jaka jest poprawna procedura konfigurowania systemu do zdalnego łączenia się za pośrednictwem środowiska roboczego MySQL?

znudzeni
źródło

Odpowiedzi:

3

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 rootuż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
znudzeni
źródło