Bastion의 의미는 성을 보호하기 위해 돌출된 부분을 의미한다. Bastion Host도 이와 비슷한 역할을 한다. Bastion Host는 외부 인터넷에서 내부 네트워크(ex. VPC)에 있는 리소스에 접근할 때 보안을 위해 가장 먼저 거치는 컴퓨터를 뜻한다.
✅ Bastion Host가 왜 필요할까?
쉽게 이해하기 위해 Basiton Host가 없는 아키텍처와 Bastion Host가 있는 아키텍처를 비교해보자.
[Bastion Host가 없는 아키텍처]
위 아키텍처를 보면 퍼블릭 서브넷에 있는 EC2 인스턴스(백엔드 서버)가 외부 인터넷에 노출된다. 즉, 외부 공격에 쉽게 노출될 수 있다. 해커 입장에서는 퍼블릭 서브넷에 있는 모든 리소스에 접근할 수 있기 때문에, 공격할 수 있는 포인트가 굉장히 많아진다. 서비스를 운영하는 입장에서는 공격이 들어올 수 있는 포인트가 많기 때문에 보안적으로 대비하는 것도 힘들어진다.
[Bastion Host가 있는 아키텍처]
위에서 언급한 보안적인 위험성 때문에 프라이빗 서브넷을 활용해 외부에서 접근할 수 없도록 AWS 리소스들을 배치해서 공격 포인트를 차단했다. 그리고 Bastion Host를 활용해 외부에서 접근할 수 있는 경로는 딱 하나만 만들었다. 외부에서 접근할 수 있는 경로는 단 하나이기 때문에 보안적인 조치를 하기도 쉽고 관리도 쉬워진다.
Bastion Host의 장점을 알았으니, 다음 강의에서 EC2 인스턴스(web-server)를 Bastion Host로 사용해보자.