기존에 운영하던 서비스 이외의 새로운 서비스를 런칭하게 되었습니다.
이에 따라 AWS의 클라우드 인프라를 재구축하고 VPC를 재생성하였습니다
인프라 재구축 과정에 대해서는 추후에 자세히 써보기로 하겠습니다.
Private Subnet에 RDS를 위치시킵니다.
AWS에서 VPC를 생성할 때 Private Subnet과 Public Subnet을 만들 것입니다.
그 때 DB는 보안성을 위해 Private Subnet에 위치해둡니다.
(이는 EB가 돌아갈 같은 Private Subnet에 위치시켜 추후 배포와 서비스에 사용합니다.)
RDS에 들어있는 데이터는 어떻게 확인하지?
MySQL을 쓰신다면 WorkBench를, PostgreSQL을 쓰신다면 PgAdmin을 사용하거나 혹은 DataGrip(저는 DG)를 사용합니다.
이 때, Private Subnet의 정책에 의해 외부에서는 확인이 불가능 합니다.
이 때 사용하는 것이 Bastion Server 즉, 일종의 SSH 역할을 할 수 있는 EC2를 하나 생성합니다.
Bastion Server는 어디에 만들어야하죠?
앞서 말씀드린 바와 같이 Private Subnet의 정책에 의해 Private Subnet 안에 들어간 DB(편하게 RDS라 부르겠습니다.)는 외부에서 확인이 불가능합니다.
그렇기에 Bastion Server는 RDS가 위치한 Private Subnet이 속한, 같은 VPC 내부의 Public Subnet에 EC2를 하나 생성하면 됩니다.
그렇다면 해당 EC2에는 로컬에서 접근이 가능하기 때문에 우리가 사용하는 WorkBench, PgAdmin, DataGrip을 통해서 데이터를 확인할 수 있습니다.
그러면 DataGrip에는 어떻게 연결하죠?
로컬에서 생성한 DB에서 확인하는 방법에 SSH/SSL 탭에서 설정을 추가해주면 됩니다.
위 그림과 같이 SSH/SSL 탭을 선택하셔서 해당 부분에 맞는 값들을 넣어주시면 됩니다.
그리고
위 그림과 같이 Host, User, Password, Database를 입력해주고 Test Connection을 진행하고 Apply, OK를 눌러주시면 DataGrip과 DB 연결은 끝나게 됩니다.
이렇게 Private Subnet 안에 위치한 RDS를 같은 VPC 안에 있는 Public Subnet에 Bastion Server를 만들고 로컬에서 데이터를 살펴보는 과정을 진행하였습니다.
긴 포스팅 읽어주셔서 감사합니다.
궁금하신 점이나, 잘못된 점, 기타 태클은 댓글로 남겨주시면 감사하겠습니다!