MySQL WorkBentch에서 여러 발판 서버를 통해 RDS에 연결하는 방법

1802 단어 MySQL

하고 싶은 일



예를 들어, 아래 그림과 같은 인프라 구성으로 DB에 액세스하려고하면
일단 발판 서버를 경유하고 나서, 프로덕션의 WEB 서버에 접속해, 거기로부터 RDS에 접속할 필요가 있습니다.

MySQL WorkBentch 단독으로는 overSSH를 사용해도 1대밖에 경유할 수 없습니다.

그럼에도 불구하고 커맨드 라인에서 DB를 계속 조작하기가 어렵 기 때문에,
이 경우 MySQL WorkBentch와 같은 클라이언트 도구를 사용하는 방법을 설명합니다.



해결 방법



SSH 포트 포워딩을 사용한 다단 SSH를 수행합니다.

포트 포워딩이란?



포트를 전달하는 기능을 가리킵니다.

예를 들면
"서버 A의 100번 포트에 온 통신은 서버 B로 전송한다"
같은 느낌입니다.

위의 메커니즘을 사용하여,
MySQL WorkBentch에서 100번 포트를 지정하면 정해진 서버까지 전송해 주므로 연결할 수 있습니다.

환경



Windows
GitBash
MySQL WorkBentch

절차 - 포트 포워딩



우선은 GitBash 등 터미널을 열고 아래와 같은 명령을 입력하여 프로덕션 서버까지 포트 포워딩시킵니다.
$ ssh -t -L 任意のポート番号A:localhost:任意のポート番号B -i ~/.ssh/踏み台の鍵名.pem ユーザー名@11.111.111.111 ssh -L 任意のポート番号B:RDSのホスト名:3306 ユーザー名@22.222.222.222

#コマンドの例
$ ssh -t -L 10022:localhost:44444 -i ~/.ssh/bastion.pem [email protected] ssh -L 44444:RDSのホスト名:3306 [email protected]

명령을 흘리면 프로덕션 서버까지 연결됩니다.
이대로 GitBash(터미널)를 닫지 않고 연결을 유지합니다.
※닫아 버리면 이 후에 실시하는 MySQL WorkBentch를 사용해도 접속할 수 없습니다.

절차 - MySQL WorkBench에서 설정



아래 그림과 같이 설정하고 Test Connection을 눌러 연결할 수 있는지 확인할 수 있습니다.
※포인트는 포트를 포트 포워딩으로 지정했을 때의 것을 확실히 맞추는 것입니다.



이상이 됩니다.
만약 더 편리한 방법이 있으면 가르쳐 주시면 다행입니다.

앞으로 좀 더 자세히 추기하겠습니다.

좋은 웹페이지 즐겨찾기