본문 바로가기

AWS

NAT Gateway를 왜 쓰는걸까 ?

728x90

public 서브넷은 인터넷과 연결하여 외부에서 접근이 가능한 영역을 말한다. 따라서 public 서브넷과 인터넷 게이트웨이를 연결시킴으로서 외부 인터넷과 통신이 되게 하였다.

private 서브넷은 외부 인터넷을 차단하고 내부에서만 사용하기 위해 만든 Subnet이다. 예를 들어 Database Service인 RDS를 넣어두고, RDS는 중요한 정보이니 외부에서의 접속을 차단하는 형태로 이용한다.

 

"그런데 만일 RDS가 외부 인터넷을 통해 업데이트를 해야 할 일이 생긴다면 어떻게 해야할까?"

 

공인 IP를 생성해서 private 서브넷도 Internet Gateway를 통해 연결해줘야할까?

그러면 그건 public 서브넷이지 private가 아니게 된다. 그리고 외부에서도 침입이 가능해져 보안이 문제가 된다.
바로 이러한 경우에 사용하는 것이 NAT Gateway Bastion Host 기술이다.

이 둘은 사설망의 구조를 유지시켜주면서 외부와 조건적으로 데이터 통신이 가능하게 해준다.

 

NAT를 이용하는 이유는 대개 사설 네트워크에 속한 여러 개의 호스트가 하나의 공인 IP 주소를 사용하여 인터넷에 접속하기 위함이다.

Internet 접속이 가능한 Public Subnet에 NAT Gateway를 생성해두고, Private Subnet이 외부 인터넷으로 나아갈 경우에만 사용하도록 라우팅을 추가해주는 것이다.

public 서브넷과 private 서브넷은 같은 VPC안에 있으면 서로 통신할수있다는 점을 이용하여, NAT 게이트웨이를 생성해주면 마치 대리기사 역할처럼 public 서브넷이 외부 인터넷 데이터를 private 서브넷에게 대신 전달해주게 된다.

NAT Gateway는 내부에서 외부로의 접속만 가능하며 외부에서 NAT Gateway를 이용하여 접속하는 것은 불가능하다는 특징을 가지고 있다. 따라서 NAT Gateway를 이용하면 외부 인터넷 연결에 의한 보안 문제도 일석이조로 해결할 수 있게 된다.

 

앞서 배운 인터넷 게이트웨이(IGW)와 비교하자면, IGW는 NAT GW를 아우르는 상위개념이다.

즉, NAT GW도 IGW 없인 동작할 수 없는 것이다. 

다만 NAT GW는 Private Subnet에 소속된 리소스들이 외부 인터넷 통신을 해주게 하는 특징이 있다고 보면 된다.

728x90