Computer Engineering/Server

AWS EC2, RDS를 활용한 웹 서버 구축하기(3)- RDS연동, MySQL Workbench

말하는호구마 2021. 1. 6. 03:58

1.EC2에서 RDS 접속

RDS구축은 이미 다 끝내놨으니  EC2에서의 접속을 해보자.

명령어는 아래와 같다.

>> mysql -u [사용자 이름(master name)] -p -h [엔드포인트]

 

엔드포인트를 못찾겠다면!

 

[RDS > 데이터베이스 > 자신의 데이터베이스 선택 ]

하면 정보로 엔드포인트를 볼 수 있다. 

엔드포인트를 그대로 복사해서 넣으면!

접속이 되었고

show databases; 쿼리를 넣으면 

처음 RDS설계할 때 첫 데이터베이스로 생성하였던 vivi_sample을 볼 수가 있다!!!!

성공적!☺️

 

 

2. MySQL WorkBench를 사용하여 외부에서 DB접속

WorkBench는 내가 평소에 사용하던 툴이라 따로 설치 과정은 없다 😭

그리고...이 과정을 이번학기에 정말 많이했다...

교수님이 중간에 헷갈리셔...ㅅ

그때는 뭔지도 잘 모르고 그냥 따라서 실습만 할때라서 그냥 이것 저것 시도하다가 얼떨결에 연결이 됐었다.

지금은 내가 스스로 서버를 구축하고 있기 때문에 모든 상황을 잘알고 이해하고 있기 때문에 다시 제대로 도전해봤다!

 

일단 MySQL Workbench를 실행하면 아래와 같은 화면이 뜬다

+버튼을 눌러 connection을 추가한다.

 

옛날에 내가 직면한 문제 

대부분의 블로그들이 하는 방법은 아래와 같다.

Connection Name: 설정하고자 하는 Connection이름

Hostname: RDS데이터베이스 엔드포인트

UserName, Password: RDS생성시 설정했던 master이름과 비밀번호

 

 

 

이렇게 하면 당연히 안된다

조금만 생각해봐도 알 수 있었는데...멍청했다...^^

내가 생성한 RDS 데이터 베이스는 private subnet으로 생성하였다.

public subnet에 있는 EC2를 통해서만 접근이 가능하도록 만든 것이다.

나의 노트북 ip로는 당연히 접근이 불가하다는 소리다. EC2의 주소가 아니기 때문에....

그리하여 private subnet의 mysql에 접근하는 방법을 찾아보았고 AWS가 훌륭한 글을 써놓았다.

(다른 블로그에서는 정리한 글이 없어 살짝 삐질뻔했지만 AWS가 잘 정리해줘서 풀렸다)

aws.amazon.com/ko/premiumsupport/knowledge-center/rds-mysql-ssh-workbench-connect-ec2/

 

퍼블릭 EC2 인스턴스를 사용하는 프라이빗 Amazon RDS MySQL DB 인스턴스에 연결

프라이빗 Amazon Relational Database Service(Amazon RDS) MySQL DB 인스턴스와 퍼블릭 Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스를 사용 중인데, SSH 터널과 MySQL Workbench를 사용하여 해당 인스턴스에 연결하려고

aws.amazon.com

이전과 같이 +버튼을 눌러 connection을 생성한다.

가장 중요하게 봐야할 점은 Connection Name 이다

전의 방법에서는 TCP/IP를 썼지만 지금은 TCP/IP over SSH를 써아한다.

즉 EC2 SSH접속을 통해 MySQL에 접근하여 이를 Workbench로 띄운다는 말이다.

 

 

SSH Hostname: EC2의 퍼블릭 ip를 써주면 된다. 즉 브라우저에서 접속할 때의 ip를 넣어주면 된다.

SSH Username: EC2에 접속할 때 사용했던 이름을 써주면 된다. 잘 모르겠다면 ssh로 EC2에 접속해봐야한다.

                           [이름]@ip...이렇게 뜰 것이다. amazon linux vm를 사용한다면 거의다 ec2-user일 것

SSH Password:안써줘도 된다

SSH KeyFile: ssh접속할 때 사용하던 키페어를 넣어주면 된다! (.pem파일)

MySQL Hostname: 데이터베이스 엔드포인트를 넣어주면 된다.

UserName: RDS생성할 떄 넣어줬던 master이름

Password:RDS생성할 떄 넣어줬던 master 비밀번호

 

하고 접속을 하면!!!!!

접속 정말 잘된다!!!!!!!!!!!!!!!!!

그리고 RDS설정할 때 만들었던 초기 데이터베이스 vivi_sample도 잘 뜬다!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

 

 

 

뿌듯함과 기쁨의 땐쓰.......