TIL. 320 [AWS] NAT 게이트웨이(Network Address Translate)

조윤식·2022년 10월 13일
0

NAT 게이트웨이(Network Address Translate)

NAT 게이트웨이는 NAT(네트워크 주소 변환) 서비스입니다. 프라이빗 서브넷의 인스턴스가 VPC 외부의 서비스에 연결할 수 있지만 외부 서비스에서 이러한 인스턴스와의 연결을 시작할 수 없도록 NAT 게이트웨이를 사용할 수 있습니다.

NAT 게이트웨이는 인스턴스의 소스 IPv4 주소를 NAT 게이트웨이의 프라이빗 IP 주소로 바꿉니다. 인스턴스에 응답 트래픽을 전송할 때 NAT 디바이스는 주소를 원래 소스 IPv4 주소로 다시 변환합니다.

NAT 게이트웨이를 만들 때 다음 연결 유형 중 하나를 지정합니다.

  • Public - (기본값) Private 서브넷의 인스턴스는 퍼블릭 NAT 게이트웨이를 통해 인터넷에 연결할 수 있지만 인터넷에서 원치 않는 인바운드 연결을 수신할 수 없습니다. 퍼블릭 서브넷에서 퍼블릭 NAT 게이트웨이를 생성하고 생성 시 탄력적 IP 주소를 NAT 게이트웨이와 연결해야 합니다. 트래픽을 NAT 게이트웨이에서 VPC용 인터넷 게이트웨이로 라우팅합니다. 또는 퍼블릭 NAT 게이트웨이를 사용하여 다른 VPC 또는 온프레미스 네트워크에 연결할 수 있습니다. 이 경우 NAT 게이트웨이에서 Transit Gateway 또는 가상 프라이빗 게이트웨이를 통해 트래픽을 라우팅합니다.

  • Private - Pirvate 서브넷의 인스턴스는 프라이빗 NAT 게이트웨이를 통해 다른 VPC 또는 온프레미스 네트워크에 연결할 수 있습니다. 트래픽을 NAT 게이트웨이에서 Transit Gateway 또는 가상 프라이빗 게이트웨이를 통해 트래픽을 라우팅할 수 있습니다. 탄력적 IP 주소를 프라이빗 NAT 게이트웨이에 연결할 수 없습니다. 프라이빗 NAT 게이트웨이를 사용하여 VPC에 인터넷 게이트웨이를 연결할 수 있지만 프라이빗 NAT 게이트웨이에서 인터넷 게이트웨이로 트래픽을 라우팅하는 경우 인터넷 게이트웨이가 트래픽을 삭제합니다.

프라이빗 서브넷 내에서 호스팅되고 있는 리소스들이 인터넷으로 접속할 수 있는 방법은 없습니다. 이에 대한 해결 방안으로 NAT가 있습니다. 하지만 VPC 밖에 있는 리소스들은 Private 서브넷 내에 있는 리소스에 접근할 수 없습니다. 이러한 문제를 해결하기 위해 NAT 인스턴스 또는 NAT 게이트웨이를 사용하는 방법이 있습니다. NAT 게이트웨이는 확장 가능한 관리형 서비스로 불필요한 인프라 관리 작업을 필요로 하지 않습니다.

Private 서브넷에서 리소스가 인터넷상의 외부 서비스와 연결되야 할 때, NAT를 통해 요청을 전송해야 합니다. NAT는 인터넷에 이 요청을 전달하고 리소스의 내부 IP 주소 대신 Elastic IP를 리턴할 주소로 대체해 놓습니다. 마찬가지로 응답을 받았을 때도, NAT는 리소스의 내부 IP에 대한 주소를 변환한 다음 응답을 해당 리소스로 전달합니다. 추가로 NAT 인스턴스는 하나의 서브넷에서 생성됩니다. 이는 곧 서브넷이 생성된 AZ가 하나라는 것을 의미합니다. 만약 여러 개의 AZ가 있고 이들 중 NAT 게이트웨이를 호스트하는 AZ에 장애가 발생했을 경우, 다른 AZ에서 호스팅되고 있는 리소스는 인터넷 연결이 끊어지게 됩니다. 따라서 NAT 인프라가 고가용성을 유지하려면, 장애 허용을 지닌 여러개의 AZ에서 생성된 NAT 인스턴스를 가지고 관리형 NAT 서비스 형태의 NAT 게이트웨이를 생성해야 합니다. - AWS 네트워킹 쿡북 -

출처 : https://yoo11052.tistory.com/60

profile
Slow and steady wins the race

0개의 댓글