MySQL Work Bench로 존재하는 데이터베이스 다이어그램 만들기

Installation
아래의 링크를 참조하여 MySQL Work Bench를 설치합니다.


정상적인 설치를 위해서는 Visual C++ Redistributable for Visual Studio 2015 설치가 필요합니다.
아래의 링크에서 먼저 설치를 해줍니다.


이후 기본 설정값대로 설치를 진행하면 됩니다.

AWS RDS에 Connection 만들기
현재 진행하려고 하는 작업은 AWS RDS에 이미 존재하는 MariaDB의 스키마를 MySQL Work Bench를 활용해 다이어그램으로 만드는 것입니다.
이를 위해서는 RDS에 먼저 MySQL Work Bench가 연결이 되어야 합니다.
이를 어떻게 할 수 있는지 알아보겠습니다.




Work Bench를 실행하고 MySQL Connection의 + 버튼을 누르면 환경설정 창이 나옵니다.
이제 아래의 메뉴얼을 따라 연결을 생성합니다.

  • Connection Method를 Standard TCP/IP over SSH로 설정합니다.
  • 이 방식을 선택하는 이유는 RDS 인스턴스에 Work Bench가 직접 연결을 시도하는 것은 보안상 좋지 않을 뿐더러 인증하기도 어렵기 때문입니다. 그렇기 때문에 SSH 연결이 유효한 EC2 인스턴스를 통해 RDS에 연결합니다.

  • Connection Name : 연결에 대한 이름을 부여합니다.

  • SSH Host name : 개인 키 파일을 통해 SSH로 접속할 수 있는 EC2 인스턴스의 IP 주소를 적어줍니다.
  • EC2에 키파을로 SSH 원격 접속을 하는 방법이 궁금하다면 이 포스팅을 참조하세요.
  • SSH User name : EC2 인스턴스에 접속할 때 사용하는 사용자 이름입니다. 별다른 설정을 하지 않았다면 ec2-user가 기본값입니다.

  • SSH Key File : EC2 인스턴스를 생성할 때 받은 pem파일을 선택해줍니다. 
    Putty에 접속할 때는 Putty Gen을 사용하여 pem 파일을 ppk 파일로 변환해서 사용합니다. 하지만 MySQL Work Bench에서 ppk 파일을 키 파일로 사용하면 연결이 정상적으로 되지 않기 때문에 pem파일을 사용하도록 합니다.

  • MySQL Host Name : AWS RDS Console에서 생성한 RDS의 End Point를 적어줍니다. 이는 AWS RDS 대시보드에서 DB 인스턴스 세부보기를 통해 확인할 수 있습니다.

  • MySQL Server Port : DB 인스턴스를 생성할 떄 설정한 포트번호입니다. 특정 값을 설정하지 않았다면 MariaDB는 3306, PostgreSQL은 5432입니다.

  • Username : DB 인스턴스를 생성할 때 접속을 위해 설정했던 사용자 이름입니다. 

  • Password : DB 인스턴스를 생성할 때 접속을 위해 설정한 비밀번호입니다.




  • 이렇게 Test Connection을 눌러보면 성공적으로 연결이 되었다는 알림창을 확인할 수 있습니다.


Diagram 추출하기

이제 존재하는 RDS DB 인스턴스에서 Diagram을 추출할 차례입니다.




Database > Reverse Engineer를 클릭합니다.





위에서 설정해놓은 Connection을 선택하면 값들이 모두 자동으로 입력됩니다.

Reverse Engineering을 통해 DB Schema에서 Diagram을 추출할 때에도 아까 설명한 순서로 진행됩니다.

SSH 연결을 통해 EC2 인스턴스에 연결한 뒤 RDS DB 인스턴스로 접속하게 됩니다.
거기에서 Schema 정보를 토대로 Diagram을 그려주게 됩니다.





다음 버튼을 누르게 되면 작업이 진행됩니다.





이렇게 작업이 끝나면 Diagram을 확인할 수 있습니다.



완성된 Diagram은 SVG, PDF등 다양한 형태로 추출할 수 있습니다. 


댓글()