Jeśli instancja EC2 i instancja bazy danych RDS znajdują się w różnych VPC, być może używasz połączenia równorzędnego VPC do łączenia dwóch VPC. Ale w twoim przypadku oba są w tym samym VPC. To dobrze. Upewnij się, że instancja RDS DB jest uruchomiona w prywatnej podsieci, a instancja EC2 jest uruchomiona w podsieci publicznej.
Aby podłączyć instancję RDS DB w instancji EC2
- W grupie bezpieczeństwa RDS DB Instance musisz otworzyć ruch dla instancji EC2.
- Kliknij Grupa bezpieczeństwa DB z pulpitu nawigacyjnego RDS. Kliknij Przychodzące patka. Przycisk Edytuj służy do dodawania lub usuwania reguł z grupy bezpieczeństwa.
- Dodaj regułę dla instancji EC2, aby uzyskać dostęp do bazy danych. Załóżmy, że uruchomiłeś MySQL DB Engine w instancji DB. Musisz otworzyć port 3306 dla instancji EC2. Możesz użyć prywatnego adresu IP instancji EC2, aby połączyć się z instancją bazy danych RDS.
- SSH do instancji EC2, zainstaluj
mysql-server
pakiet. Musisz połączyć się z instancją bazy danych RDS za pomocąmysql-server
. mysql --host=
--port=3306 --user= --password= polecenie używane do połączenia z instancją bazy danych RDS.
Aby podłączyć instancję RDS DB w MySQL WorkBench
-
W MySQL WorkBench kliknij Ustaw nowe połączenie .
-
Podaj nazwę połączenia. Wybierz Standardowy (TCP/IP) przez SSH . Musisz podać nazwę hosta SSH, nazwę użytkownika i plik klucza, a także nazwę hosta MySQL, port, nazwę użytkownika i hasło.
-
Poświadczenia SSH to nic innego jak poświadczenia wystąpienia EC2. W przypadku pliku klucza musisz wyszukać plik KeyPair(.pem). W nazwie hosta RDS musisz podać punkt końcowy, który jest dostępny na pulpicie nawigacyjnym RDS.
-
Aby zweryfikować połączenie, kliknij Testuj połączenie przycisk.
Powód, dla którego wybierasz Standardowy (TCP/IP) zamiast SSH jest połączenie instancji RDS DB za pośrednictwem instancji EC2. Najpierw połączy się z instancją EC2, a następnie uzyska dostęp do instancji DB RDS, ponieważ instancja DB nie ma dostępu do Internetu i znajduje się w podsieci prywatnej.
Upewnij się, że w aplikacji internetowej Java wymieniłeś nazwę hosta RDS, port, nazwę użytkownika i hasło. Nie trzeba podawać nazwy hosta EC2 w aplikacji.