AWS 네트워크 사용에 따른 비용이 갑자기 증가하여서 그 원인에 대한 분석을 진행했다.
AWS에서는 인바운드 데이터에 대해서 별도의 요금을 받지 않지만 서로 다른 가용 영역간, 서로 다른 리전 혹은 VPC 피어링을 통한 네트워크 데이터 전송에서는 송, 수신 과정에서 0.01USD/GB 의 요금이 부과된다.
따라서 초기 설계를 할 때 resource 간 데이터 전송이 많다면 같은 VPC, Subnet 으로 설정하여 전송간에 발생하는 비용을 줄이도록 해야한다.
작업하는 내용중 AWS EC2 <-> AWS S3 형태의 데이터 송수신이 있었는데 이 때 많은 양의 데이터를 batch 작업을 하여 비용이 크게 발생하는 문제가 발생했었다.
이를 해결하기 위해서 VPC 엔드포인트를 설정하기로 했다.
VPC endpoint 란?
인터넷 게이트웨이, NAT등을 타지 않고 VPC와 지원 서비스를 직접 연결하여 VPC 내에서 데이터 교환이 이루어 질 수 있도록 할 수 있는 기능이다.
s3 이외에도 다양한 aws resource 들을 연결시킬 수 있다.
서비스의 유형에는 Interface, Gateway가 존재하는데 각각 용도에 맞게 사용하면 된다.