[AWS 실습] AWS NatGateWay 와 비용 절감 (w. VPC Endpoint)

Jaewoong2·2025년 5월 17일
1

aws

목록 보기
11/12

NAT 란? (Network Address Translation)

💡 NAT 설정 및 NAT 에 대해서 자세히 알고 싶은 분은 이전글을 확인 해주세요.

[AWS 시리즈] 배스천 호스트 구성 실습 + NAT - Private Subnet, Public Subnet, bastion host (2)

NAT Gateway는 AWS에서 제공하는 관리형 네트워크 주소 변환(Network Address Translation, NAT) 서비스 입니다.

프라이빗 서브넷(인터넷 접근이 차단된 내부 네트워크)에 있는 인스턴스들이 인터넷에 아웃바운드(Outbound)로 접속할 수 있도록 해 줍니다.

왜 NAT가 필요한가요?

  • 프라이빗 서브넷의 인스턴스들이 OS 업데이트, 패치 다운로드, 외부 API 호출 등 아웃바운드 인터넷 접근이 필요할 때, 퍼블릭 IP를 갖지 않으므로 중간에 주소 변환 기능을 통해서 인터넷 접근을 하기 위해서 입니다.

프라이빗 서브넷 인스턴스에서 나가는 패킷이 NAT Gateway로 전달 됩니다.

  • 발신자의 사설 IP → NAT Gateway의 퍼블릭 IP로 변환
  • 응답 패킷 도착 시 반대로 내부 인스턴스에 전달

NAT 비용 분석

NAT 비용은 크게 2개로 나눠져 있습니다. 시간 당 사용 요금 과 데이터 전달 요금을 통해 비용이 나갑니다.

시간 단위 프로비저닝 요금

  • NAT Gateway가 프로비저닝되어 가용(available) 상태인 시간만큼 부과됩니다.
  • 예) 서울(ap-northeast-2) 리전은 $0.045/hour입니다.

데이터 처리(Data Processing) 요금

  • NAT Gateway를 통해 전송된 데이터(아웃바운드+인바운드) 양을 기준으로 부과됩니다.
  • 예) 1GB당 $0.045가 적용됩니다.

NAT 비용 절감 (VPC Endpoint 사용)

여기서, 데이터 처리 요금이 만약 많이 나가게 된다면, AWS 서비스를 이용 하는것을 의심 해봐야 합니다. 보통 AWS를 쓰고 있으면, 크기가 큰 파일의 경우 AWS S3 (Simple Storage Service) 를 통해 업로드 및 다운로드를 하실 겁니다.

S3 With NAT

위의 이미지를 보시면, NAT Gateway는 Internet Gateway 와 연결 되며, 트래픽에 따른 비용을 내고 있습니다.

하지만, 같은 AWS 를 사용 하는데, AWS 내에서 다시 밖으로 나갔다가 AWS로 다시 들어가는 비용을 내고 있는게 조금 이상하다고 생각 하실 수 있습니다.

따라서, VPC Endpoint Gateway 라는 것을 사용 하면, Internet Gateway로 트래픽이 나가는 것이 아니라, VPC Endpoint Gateway를 통해 AWS 서비스 리소스에 트래픽 들어오고 나가게 됩니다.

또한, AWS 서비스 리소스 대상 VPC Endpoint Gateway는 트래픽 이용료 가 무료 입니다. 따라서, 비용을 줄이기 위해서는 VPC Endpoint 를 무조건 설정해서, NAT 트래픽 비용을 0원으로 만들어 버리는 것이 중요 합니다.

VPC Endpoint 설정하기

NAT Gateway 설정 하기

  1. VPC > NAT 게이트웨이 설정

  1. NAT 게이트 웨이 생성
    1. 여기서, 서브넷은 인터넷 게이트웨이가 있는 Public Subnet 에 NAT Gateway를 위치 시켜야 합니다.
    2. 탄력적 IP 할당을 받아, Public IP가 고정이 되도록 합시다.

  1. 라우팅 테이블 편집
    1. 라우팅 테이블에 인터넷 게이트웨이가 없는 Private Subnet0.0.0.0/0 대상인 트래픽을 NAT Gateway로 가도록 라우팅 테이블을 편집 해줍시다.

이렇게 함으로써, Private Zone 에서 나가는 트래픽을 NAT 를 통해 나갈 수 있도록 하여 통신 할 수 있게 만들 수 있습니다.

VPC Endpoint 만들기

  1. VPC > 엔드포인트 탭에 들어가, 엔드포인트 생성을 클릭 합니다. 해당 엔드포인트 탭에서 VPC에서 들어오고 나가고 할 때 네트워크시 사용 되는 게이트웨이나 인터페이스를 생성 할 수 있습니다.

  1. AWS 서비스(S3) 를 대상으로 하는 엔드포인트를 만들 것이기 때문에, AWS 서비스를 클릭하고 서비스 검색에 s3 를 입력해 줍니다.

  1. s3 를 검색 하면, 유형이 Gateway 인 서비스가 나오는데, 해당 서비스를 입력하고, 설정할 Routing TablePrivate Subnet에 연결된 Routing Table 로 선택 해 줍니다.

Routing Table 설정하기

  1. 엔드포인트를 생성 하면, 자동으로 대상이 pl-78a54011(엔트포인트 게이트웨이) 로 되어 있는 라우팅 정책 이 설정 되어 있음 을 확인 할 수 있습니다.

실제 사례

AWS 비용 금액을 산출해보면, 10,000GB 사용시 $590 정도 사용 되는 것을 볼 수 있습니다. 서비스를 하다보면, S3에 파일 저장 하는 경우가 많은데 NAT를 통해 파일 업로드를 하게 되면 돈이 흐르니,

꼭! VPC Endpoint를 설정하여 S3로 향하는 트래픽이 NAT가 아닌 VPC Endpoint로 설정 하는 것이 바람직 하다고 생각 합니다.

profile
DFF (Development For Fun)

0개의 댓글