원격으로 lightsail 서버의 인스턴스에 연결하기 위해서는 mysql 전용 포트인 3306 포트를 열어놓아야 합니다. 우선 설정을 위해 lightsail 홈으로 접속합니다.
lightsail에 접속하면 위와 같이 생성해놓은 인스턴스를 볼 수 있습니다. 변경하고자 하는 인스턴스를 눌러 설정 화면으로 이동합니다. 해당 인스턴스명을 눌러도 되고, 설정 버튼(세로로 점 3개가 있는 버튼)을 눌러서 설정으로 이동해도 됩니다.
변경하고자 하는 인스턴스를 클릭하면 위와 같은 화면을 볼 수 있습니다.
현재 화면에서 '네트워킹' 탭을 눌러야합니다.
네트워킹 탭을 누르고 나서 스크롤을 내리면 방화벽을 설정할 수 있는 화면이 나옵니다. 이제 위의 그림에서 '규칙 추가'라고 되어있는 버튼을 누릅니다. 현재 저는 3306 포트를 열어놓은 상태입니다. 현재 화면에서 https를 위한 443 포트 등의 필요한 포트를 열어놓을 수 있습니다. 기본 설정으로는 22번(ssh 포트) 와 80번(http) 포트가 열려있습니다.
규칙 추가 버튼을 누르고 나면 위와 같이 변경 가능한 규칙을 입력할 수 있는 영역이 생깁니다. 가장 좌측의 애플리케이션을 누르고 MySQL/Aurora 항목을 클릭하면 프로토콜과 포트가 자동으로 생성됩니다. IP 주소를 제한하고 싶다면 해당 체크박스에 체크를 하고, 제한하지 않아도 된다면 체크하지 않은 상태로 우측 하단의 생성 버튼을 클릭합니다.
생성 버튼을 누르고 나면 위의 그림처럼 정상적으로 3306 포트가 추가된 것을 확인할 수 있습니다.
포트 생성이 완료되었다면 외부 접속 툴(ex. MySQL Workbench 등)을 이용하여 해당 포트로 접속이 가능해집니다. 이제 MySQL Workbench를 이용하여 원격으로 접속해보겠습니다.
** 참고로 원격 접속 시 루트가 아닌 다른 계정을 생성하여 해당 계정에 필요한 권한(select, update, ...)을 설정한 다음에 그 계정으로 접속하는 것이 안전합니다.
MySQL Workbench를 실행했을 때 보이는 화면입니다. 위의 화면에서 'MySQL Connections 옆의 플러스 그림의 버튼을 누르면 새로운 연결을 생성할 수 있는 창이 생깁니다.
위의 그림을 보면 1, 2, 3번으로 써 놓은 부분을 변경하면 됩니다. 우선 1번은 연결의 이름을 지정하는 곳으로 원하는 이름을 작성하면 됩니다. 구분하기 쉽게 사이트 명 또는 프로젝트 명으로 작성하면 좋은 것 같습니다.
2번의 hostname은 연결하고자 하는 원격 서버의 ip 주소를 입력해야 합니다. lightsail의 인스턴스는 각각 할당된 ip를 가지고 있습니다. 연결하고자 하는 인스턴스의 ip를 2번 자리에 작성하면 됩니다. 그 옆의 포트번호는 3306으로 사용할 것이기 때문에 그대로 둡니다.
3번의 Username은 해당 database으로 접속할 때 사용할 계정명입니다. 기본으로 root라고 되어있는데 이 경우 해당 서버에서 mysql -uroot -p로 접속하는 것과 동일합니다. 예를 들어 hippo 라는 아이디로 접속하고자 한다면 Username에 hippo 라고 작성하면되고 이는 mysql -uhippo -p 로 접속하는 것과 동일합니다.
1, 2, 3번을 모두 작성했다면 OK 버튼을 눌러서 연결을 생성하기 전에 정상적으로 연결이 되는지 점검해볼 수 있는 Test Connection 버튼을 누릅니다. 우측 하단의 Cancel 버튼의 왼쪽에 있습니다.
정상적으로 연결이 가능한 상태라면 위와 같이 비밀번호를 입력하라는 창이 나옵니다.
비밀번호가 일치하고 현재 연결이 가능한 상태라면 위와 같이 성공적으로 연결되었다는 알림 창을 볼 수 있습니다. OK를 눌러서 알림창을 닫도록 합니다.
이제 우측 하단의 OK 버튼을 눌러서 연결을 저장하도록 합니다.
위와 같이 접속 가능한 연결이 추가된 것을 확인할 수 있습니다. 해당 접속을 클릭하면 lightsail 인스턴스의 데이터베이스에 원격으로 접속이 됩니다.