AWS NAT Gateway

SummerToday·2024년 9월 16일
0

AWS 아키텍처 관련

목록 보기
4/7
post-custom-banner

NAT Gateway

  • VPC(Virtual Private Cloud)에서 프라이빗 서브넷에 있는 인스턴스들이 인터넷으로부터 들어오는 트래픽을 허용하지 않으면서도 외부로 트래픽을 보낼 수 있도록 해주는 서비스다.

  • 프라이빗 서브넷에 있는 리소스들이 외부 네트워크에 접근할 수 있지만, 외부에서 직접적으로 접근할 수 없게 된다.

  • VPC의 보안성을 유지하면서 외부 API 호출이나 소프트웨어 업데이트를 위한 인터넷 연결을 필요로 하는 애플리케이션을 운영하는 것에 활용 가능하다.

  • NAT 게이트웨이는 동적으로 네트워크 트래픽의 부하에 맞춰 성능을 조정하여 트래픽의 급격한 변화에도 NAT 게이트웨이는 성능 저하 없이 안정적인 서비스 제공이 가능하다.

  • 고가용성을 위해 각 AZ마다 별도의 NAT 게이트웨이를 생성하고, 이를 각각의 AZ에 맞게 라우팅 테이블에서 설정할 수 있다. 이렇게 하면 각 AZ 내에서 독립적으로 NAT 트래픽을 처리할 수 있어, AZ 단위의 장애에도 서비스 연속성이 보장된다.


NAT Gateway 생성

  • 연결 유형
    매우 특수한 경우로 다단계 NAT 설정이나 특정 보안/네트워크 설계 요구사항에 따라 NAT 게이트웨이를 프라이빗 서브넷에 배치할 수 있다.

    프라이빗 서브넷에 NAT 게이트웨이를 배치하여, 그 서브넷에서 나가는 트래픽이 반드시 특정 경로를 거치도록 강제할 수 있다. 이는 복잡한 보안 정책이나 네트워크 설계에 따라 외부와의 직접적인 통신을 피하고, 통신 경로를 엄격히 제한하기 위해 사용될 수 있다.


프라이빗 서브넷 라우팅 테이블 수정

NAT Gateway이만 생성해서는 프라이빗 서브넷의 트래픽이 외부로 나갈 수 있는 것이 아니라, 해당 프라이빗 서브넷의 라우팅 테이블을 수정해야한다.

0.0.0.0/0 대상 트래픽이 모두 NAT Gateway로 가도록 라우팅 편집을 해준다.


NAT Gateway를 통한 Network Address Translation

출처: Architecting on AWS 7.7.9 (KO): Student Guide 136p

cf. 인터넷 게이트웨이로 들어온 외부 트래픽은 퍼블릭 IP를 가지고 있지만, VPC는 사설 대역을 사용하고 있어 프라이빗 IP로 변환을 해주어야 리소스를 식별할 수 있다. 따라서 인터넷 게이트웨이에서 NAT를 수행해주어야 한다.

cf. 인터넷 게이트웨이로 들어오는 외부 트래픽은 퍼블릭 IP에서 프라이빗 IP로 변환되고, NAT Gateway에서 인터넷 게이트웨이로 전달되는 트래픽은 해당 퍼블릭 IP 그대로 외부로 나가게 된다.

  • NAT Gateway를 사용하여 프라이빗 IP 주소를 보호할 수 있다.

  • AWS VPC(Virtual Private Cloud) 내에서 NAT 게이트웨이를 통해 프라이빗 서브넷의 인스턴스가 인터넷과 통신할 수 있다.

  • NAT Gateway를 통해 프라이빗 서브넷의 인스턴스의 트래픽을 인터넷 도는 다른 AWS의 리소스로 전달할 수 있다.


인터넷에 프라이빗 서브넷 연결

출처: Architecting on AWS 7.7.9 (KO): Student Guide 138p

  • 프라이빗 서브넷의 라우팅 테이블에서 0.0.0.0/0 항목을 NAT 게이트웨이로 설정하여, 모든 외부로 나가는 트래픽은 NAT 게이트웨이를 경유하여 인터넷으로 나가게 한다.

  • 라우팅 테이블에 0.0.0.0/0 항목을 인터넷 게이트웨이(IGW)로 설정하여. 모든 외부로 나가는 트래픽이 인터넷 게이트웨이를 통해 인터넷으로 전달되게 한다.


여러 가용 영역에 VPC 배포

출처: Architecting on AWS 7.7.9 (KO): Student Guide 139p

  • 인바운드 트래픽 처리
    인터넷에서 들어오는 트래픽은 인터넷 게이트웨이를 통해 VPC로 들어가며, Elastic Load Balancer에 도달한다. ELB는 이 트래픽을 적절한 가용 영역의 앱 서버로 분배한다. 이는 주로 사용자 요청을 처리하는 트래픽이다.

  • 아웃바운드 트래픽 처리
    앱 서버들이 외부 인터넷과 통신해야 할 때, NAT 게이트웨이를 통해 아웃바운드 트래픽을 전송한다. NAT 게이트웨이는 이 트래픽의 소스 IP 주소를 자신의 퍼블릭 IP 주소로 변환한 후, 인터넷 게이트웨이를 통해 외부로 내보낸다.




해당 글은 Architecting on AWS 7.7.9 (KO): Student Guide를 참고하여 작성된 글임을 밝힙니다.
profile
IT, 개발 관련 정보들을 기록하는 장소입니다.
post-custom-banner

0개의 댓글