이것이 점프 투 공작소

AWS NAT gateway란? 본문

aws

AWS NAT gateway란?

겅겅겅 2022. 9. 26. 20:38

NAT이란?

대부분의 네트워크는 모든 호스트 중 일부만이 인터넷 통신을 수행합니다.

따라서 대부분의 호스트는 PirvateIP를 이용해 통신하고있기에 인터넷 통신을 수행할때만 PublicIP를 사용하게된다면 외부에 노출되는 PublicIP수를 크게 줄일 수 있습니다.

 

PrivateIP에서 인터넷으로 요청을 보낼때 해당 요청이 Nat을 제공하는 라우터를 통과하게되면

Nat 라우터는 주소 변환 테이블에 가지고있던 PrivateIP를 PublicIP로 IP를 변환하여 요청을 보내고 변환 내용을 Nat변환 테이블에 기록합니다.

이후 인터넷으로 보낸 응답이 도착하면 기록해두었던 Nat 변환 테이블을 참조하여 요청을 보낸 PrivateIP를 가진 호스트에게 응답을 반환합니다.

 

NAPT란?

네트워크에서는 여러 호스트가 고유한 PrivateIP를 할당받고, 인터넷으로 요청을 보낼 때 PublicIP로 변환을 위해 Nat를 통과할때 Nat 변환 테이블은 PrivateIP(요청주소)와 NAT을 통해 변환된 PublicIP(변환된 주소)를 기록합니다.

 

PrivateIP는 Host마다 고유하지만 변환된 PublicIP는 네트워크의 대표 공인IP이기에 동일 할 수 있습니다.

따라서 인터넷에서 응답이 Nat으로 돌아올때 요청을 보낸 PrivateIP를 구분 하기 위해 변환 테이블의 PublicIP에 PrivateIP마다 각자 다른 port를 할당합니다.

이를 Network Address Port Translation NAPT라고 이야기합니다.

이 방법을 통해 여러 PrivateIP가 Nat를 통해 하나의 PublicIP로써 통신이 가능하게 됩니다.

 

AWS의 NAT gateway란?

NAT 게이트웨이는 AWS에서 제공하는 NAT(Network Address Translation, 네트워크 주소 변환) 서비스입니다. 
Nat의 개념과 동일하게 프라이빗 서브넷의 인스턴스가 VPC 외부의 서비스(인터넷)에 연결할 수 있도록하고
외부 서비스에서는 프라이빗 서브넷 내의 인스턴스와의 연결 할 수 없도록 하기 위해 NAT 게이트웨이를 사용할 수 있습니다. 

즉 프라이빗 서브넷 내의 EC2를 인터넷, AWS Service에 접근 가능하게 하고 외부에서는 해당 EC2에대한 접근을 막기위해 사용합니다.

 

  • VPC 내의 Public Subnet 내에 생성해야합니다.
  • 라우팅 테이블에 NAT gateway에 대한 라우팅을 추가 후 사용 가능합니다.