본문 바로가기

네트워크 & 클라우드/AWS

[AWS.13] Bastion Host

베스천 호스트를 Public Subnet에 구성하여 Private Subnet의 Web서버에 접근해보자

 

생각하는 구성은 이러하다.
보안상 Web서버를 Public에 공개하지 않는 구성이 성행한다.
그래서 WEB은 Private Subnet에 두고, 관리자의 접근은 Bastion Host를 통해 하는 구성을!
Web 서비스는 ELB(ALB)를 통해 하는 구성을! 

 

포...폭풍 서브넷 생성

귀찮아서 일부는 사용하지 않았다


포풍...포..포포포풍!!!! 라우팅 생성


이따가 Private Subnet(Service-Subnet)에 있는 인스턴스에서 웹 서비스 설치하기 위한...
혀가 길다
NAT 게이트웨이 생성

 

Ec2에 EIP 일시적으로 할당해도 될듯 >_<

 


이제 인스턴스들을 포풍 생성해보자

Service Subnet01-02에 Web01-02를, Bastion Subnet에 Bastion-Host01을 생성한다

 

SG도 만들어 준다.

Bastion Host용 SG 생성.

울집에서 SSH만 인바운드 규칙 오픈!

Service 용 SG 생성.

Bastion에서 SSH만 인바운드 규칙 오픈!


Bastion Host를 통해서 웹서비스를 올려보자

- Bastion Host에 Pem Key를 옮겨서, Web01, 02에 붙어보자

권한도 바꿔준다. 너무 오픈 되어 있으면 뭐라고 한다..ㅠㅠ

 

- Web01 접근 두둥

- 웹서비스를 올려보자

- 근데 안됨 ㅠㅠ...왜냐..인터넷이 안되는 인스턴스라서

  NAT 게이트웨이를 통해 일시적으로 인터넷 통신을 열어주자

  (인터넷 게이트웨이 연결해봤자, 공인IP가 없어서 통신 안된다. EIP까지 해줘야 가능.)

 

- 서...성공.

- 웹서비스를 올려보자. 증말. 레알

- Web02도 동일하게

 

 

Bastion Host를 통해 Private Subnet의 인스턴스에 접근은 성공.
서비스는 어떻게 해야할까??

ELB 생성 
그중에서도 ALB를 생성

- NLB, CLB도 있지만, ELB를 생성했다.

  다른 방식보다 많은 오버헤드가 있을땐 부담시러운 방식이지만, Path까지 LB할 수 있는 L7 LB이다

  물론, 간단한 테스트라 그렇게까진 안한다.

 

- 하지만 또 이런, 웬걸,,, ELB의 대상그룹이 헬스체크가 되지 않는다..

- 왜 때문일까??ㅠ

  SG에서 ALB에서 기어들어오는 Web01, 02간 헬스체크용(HTTP 80) 인바운드 통신을 오픈 안해줬기 때문..

  추가 하자!!

 

- 굿

 

LB가 잘 된다.

 

 

여기까지 Bastion Host를 통해 Private Subnet에 생성된 인스턴스에 접근하고, 
ELB를 통해 Private Subnet 인스턴스들의 웹서비스를 전국민에게 전파했다