[AWS] VPC endpoint 설정

김지환·2023년 1월 30일
0

TL:DR;

AWS 네트워크 사용에 따른 비용이 갑자기 증가하여서 그 원인에 대한 분석을 진행했다.

AWS에서는 인바운드 데이터에 대해서 별도의 요금을 받지 않지만 서로 다른 가용 영역간, 서로 다른 리전 혹은 VPC 피어링을 통한 네트워크 데이터 전송에서는 송, 수신 과정에서 0.01USD/GB 의 요금이 부과된다.

따라서 초기 설계를 할 때 resource 간 데이터 전송이 많다면 같은 VPC, Subnet 으로 설정하여 전송간에 발생하는 비용을 줄이도록 해야한다.

S3 데이터 가져오기에 따른 네트워크 비용

작업하는 내용중 AWS EC2 <-> AWS S3 형태의 데이터 송수신이 있었는데 이 때 많은 양의 데이터를 batch 작업을 하여 비용이 크게 발생하는 문제가 발생했었다.

이를 해결하기 위해서 VPC 엔드포인트를 설정하기로 했다.

VPC endpoint 란?

인터넷 게이트웨이, NAT등을 타지 않고 VPC와 지원 서비스를 직접 연결하여 VPC 내에서 데이터 교환이 이루어 질 수 있도록 할 수 있는 기능이다.

s3 이외에도 다양한 aws resource 들을 연결시킬 수 있다.

서비스의 유형에는 Interface, Gateway가 존재하는데 각각 용도에 맞게 사용하면 된다.

Gateway, Interface 유형의 차이점

Gateway Endpoints

  • S3, Dynamo DB 만을 지원한다.
  • VPC 내에서만 사용 가능
  • S3 public IP 를 사용한다.
  • S3 DNS name을 사용
  • on-premis 에서 접근이 불가능.
  • Cross region은 지원하지 않는다.
  • 요금 청구 x
  • VPC level

Interface Endpoints

  • 대부분의 AWS Services를 지원한다.
  • ENI 의 일종으로 security group 설정이 필요
  • Private IP address를 사용한다. ( s3 접근을 할 때 ) 따라서 Private link 서비스 요금 청구
  • DNS 네임을 따로 지정
  • on-premis에서의 접근이 가능하다.
  • Cross region 이 가능하다. ( VPC peering 을 통해서 )
  • 요금 청구
  • subnet level 이다.

profile
Developer

0개의 댓글