Search
Duplicate

Bastion Host의 이해와 AWS에서의 구성 (Proxy)

날짜
2021/07/22
작성자
태그
개념정리
Network
AWS
Series
--
완료
그림 실력 자랑하려고 올린 것 맞습니다
본 포스팅은 제가 이전에 개인 블로그에 쓴 글을 베짱이 블로그에 맞게 재구성한 것입니다

Bastion Host의 이해

VPC와 사설 IP에 대한 자세한 설명은 생략하겠습니다
VPC를 하나의 학급이라고 비유를 해 보겠습니다 → 사설 IP는 각 학급 학생들의 반 번호가 됩니다
각 학급 내의 학생들끼리는 학급 번호로 통신이 가능합니다 (학급 번호는 학급 내에서 고유하므로)
그러나 다른 반 또는 외부에서는 학급 번호가 고유하지 않게 되므로 학급 번호로 통신을 할 수 없습니다

그럼 외부에서 1반의 특정 베짱이를 부르려면 어떻게 해야 하나요?

→ 전 세계에서 고유한 번호를 갖고 있으면 부를 수 있게 됩니다!

어? 그러면 그냥 모든 애들이 다 공인IP를 갖고 있으면 내부에서든 외부에서든 아무나 다 부를 수 있는 것 아닌가요?

→ 공인 IP의 갯수엔 한계가 있고, 외부에서 불리길 꺼려하는 친구들도 있기 때문에 (보안상 취약) 사설 IP(학급 번호)가 필요한 것입니다 (VPC가 필요한 이유와 동일)

그럼 공인 IP가 없는 친구를 꼭 불러야만 한다면 어떡하죠?

→ 이럴 때 우리 Bastion이란 친구가 필요해집니다!
Bastion이란? (영어사전) : 수호자, 보루, 요새
대충 감이 오시지 않나요? 말 그대로 요새이자 문지기인 방화벽 호스트라고 생각하시면 됩니다

문지기가 뭘 어떻게 해주는데요?

위에서도 말했지만, 같은 학급 내의 학생들은 서로를 반 번호(사설 IP)로 부를 수 있습니다
따라서 문지기 한 명한테만 공인 IP를 할당해준다면, 그 반 친구들은 문지기가 불러내올 수 있게 됩니다
우리의 문지기 친구들은 이렇게 공인 IP가 없는 친구를 불러주는 역할 뿐 아니라, 나쁜 트래픽의 접근을 막아주는 방화벽 역할도 하게 됩니다. 네트워크를 구성할 때 꼭 필요한 친구죠?
추가적으로! Proxy 또한 같은 의미입니다 (대리인, 내통자) 쁘락치가 Proxy에서 유래한 말이라고 합니다 (내부의 정보를 빼갈 수 있기 때문에 ㅎㅅㅎ)

AWS에서 Bastion Host 구성하기

백문이 불여일견! Bastion Host를 직접 한 번 구성해보도록 하겠습니다
만들 아키텍처는 아래와 같습니다
Bastion Host는 Public Subnet에 속하며, 공인 IP를 할당받습니다
Private Host는 공인 IP를 할당받지 못하며, Bastion Host에서의 트래픽만 받을 수 있게 보안 그룹이 설정되어 있습니다
본 포스팅은 기존 진행하는 실습과 구분하기 위해서 도쿄 리전에서 진행합니다 (어느 리전에서 실습해도 무관)
혹시 추가적인 설명이 필요하신 분은 아래 글들을 참고하세요
VPC 및 Subnet 설정
보안 그룹 2개 설정
EC2 2개 생성
Bastion을 통한 Private EC2 접속 시도

마치며

Bastion(Proxy)에 대해 이해가 가시나요?
결국 배스쳔이란 별 것 없고, 외부와 통신이 가능하며 내가 문지기로 쓸 놈 을 뜻합니다
굳이 어렵게 생각할 것 없는 개념이지만, 저는 처음 배울 때 이해가 잘 안가고 어려웠어서 이렇게 최대한 쉽게 풀어 써 보았습니다
여러분들은 저처럼 헤매지 않길 바라며....혹시 이해 안되는 부분이 있다면 언제든 문의 주세요
감사합니다