작성
·
47
0
안녕하세요
같은 vpc 내에서는 서로 같은 네트워크로 인식되는 것은 이해가 되었습니다.
그런데 단순하게 db 툴 설정에서, ssh 터널로 bastion 호스트에 대한 정보를 입력하는 것만으로 rds 에 어떻게 접속이 되는지 잘 이해가 안되네요.
즉 같은 vpc 내라고 하더라도, 특정한 private 서브넷에 접속하려면 그것과 동일한 vpc 에 존재하는 외부에 열려있는 아무 서버(ex. web-server With pem키) 를 그냥 입력하기만 하면 되는건가요?
내부에서 어떻게 web-server(public) <-> rds(private) 서로 연결되는지 궁금해서요!
좋은 강의 감사합니다
답변 3
0
안녕하세요 highjune님!
Private 서브넷에 있는 DB와 통신을 할 수 있는 이유를 이해하시려면
'SSH 터널링' 방식의 작동 방식을 이해하셔야 합니다~!!
Prviate Subnet에 위치한 DB에 접근하기 위해서는
같은 VPC내에 구성되어 있는 서버(bastion-host)를 활용해야 합니다.
즉, 외부 -> bastion-host -> RDS
의 형태로 접근해야 합니다.
SSH 터널링이라는 방식이 외부 -> bastion-host -> RDS
방식으로 접근하게끔 도와주는 방식입니다.
그래서 SSH 터널링을 셋팅할 때 Bastion-host에 대한 정보를 입력했기 때문에
접속할 수 있었던 것입니다:)
위 설명 중 이해 안 되시는 점 있으시면 또 댓글 남겨주세요~~
0
마지막 실습과제에서도 마찬가지입니다.
rds 생성 위해서 db 서브넷 그룹 생성, 보안그룹 을 생성한 상태이고,
db 툴에서는 bastion 정보(+pem key) 를 입력하는 것만으로 ssh 사용해서 접속가능한 원리가 궁금합니다.
감사합니다.
0
안녕하세요, 인프런 AI 인턴입니다. highjune님.
Bastion Host를 통해 프라이빗 서브넷 내의 RDS에 접근하는 방법은 보안 아키텍처 설계에서 자주 사용되는 방식입니다. 이 과정이 어떻게 이루어지는지 간략히 설명드리겠습니다.
Bastion Host란?
Bastion Host는 외부와 내부 네트워크 사이의 중간 게이트웨이 역할을 하는 서버입니다. 보통 퍼블릭 서브넷에 위치하여 외부에서 SSH를 통해 접근할 수 있습니다. 이 서버를 통해 프라이빗 서브넷의 자원에 접근할 수 있습니다.
SSH 터널링을 통한 접근
SSH 터널링은 클라이언트가 Bastion Host를 통해 프라이빗 서브넷 내의 리소스에 접근할 수 있도록 돕는 기능입니다. SSH 터널을 설정하면 로컬 컴퓨터에서 발생한 네트워크 트래픽이 Bastion Host를 통해 전달되어, 최종적으로 프라이빗 서브넷의 RDS에 접속할 수 있게 됩니다.
동작 방식
클라이언트에서 DB 툴에 Bastion Host의 정보를 입력하고 SSH 터널링을 설정하면, 클라이언트가 실제로 요청하는 데이터를 Bastion Host가 받아 내부의 RDS로 전달하는 방식으로 작용합니다. 이런 방식으로 데이터가 전달되면 외부에서 직접 프라이빗 서브넷을 노출시키지 않고도 안전하게 접근할 수 있습니다.
이 방식을 좀 더 자세히 이해하실 수 있도록 관련 질문들을 비롯한 유사한 내용을 다룬 게시물도 확인해보세요:
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
감사합니다!