Public Cloud/AWS

VPC 엔드포인트 (게이트웨이, 인터페이스)

TTOII 2024. 3. 28. 08:22
728x90

VPC 엔드포인트란 ?

엔드포인트 유형 중 하나로 VPC의 사설 대역에서 인터넷 연결없이 퍼블릭 서비스에 연결하기 위해 사용하는 것

 

VPC 엔드포인트 종류로는 3가지가 있다.

  • 게이트웨이 엔드포인트(Gateway Endpoint)
  • 인터페이스 엔드포인트(Interface Endpoint)
  • 로드밸런서 엔드포인트(Loadbalancer Endpoint)

 

게이트웨이 엔드포인트(Gateway Endpoint)

  • NATGW 없이 VPC에 연결된 라우팅 테이블을 참조해 트래픽을 전달하기 위해 사용한다.
  • 단, S3와 DynamoDB에만 한정적으로 사용할 수 있다.
  • 다른 유형의 엔드포인트와는 다르게 AWS PrivateLink를 사용하지 않는다.

 

VPC에서 S3 또는 DynamoDB로의 트래픽은 게이트웨이 엔드포인트로 라우팅된다.

각 서브넷 라우팅 테이블에는 서비스로 전송되는 트래픽을 서비스의 접두사 목록을 사용하여 게이트웨이 엔드포인트로 보내는 라우팅이 있어야 한다.

AWS Service Prefix list name Weight
Amazon DynamoDB com.amazonaws.region.dynamodb 1
Amazon S3 com.amazonaws.region.s3 1


게이트웨이 엔드포인트를 생성할 때 활성화할 서브넷의 VPC 라우팅 테이블을 선택한다.

다음과 같은 라우팅이 자동으로 추가되며 대상 주소는 AWS에서 소유한 서비스의 접두사 목록이고 대상은 게이트웨이 엔드포인트이다.

대상 주소 대상
prefix_list_id gateway_endpoint_id
Prefix List Id란 ?
하나 이상의 CIDR 대역의 IP 그룹으로, S3 Prefix List에는 AWS에서 관리하는 S3 서비스의 IP 주소 범위가 포함된다. 이를 통해 특정 서브넷에서 S3 서비스에 대한 액세스를 제어할 수 있고 VPC 엔드포인트나 DX 연결에서 S3 서비스에 대한 허용되는 트래픽을 구체적으로 지정할 수 있다.

 

 

인터페이스 엔드포인트(Interface Endpoint)

  • AWS PrivateLink 기술을 사용해 구성되며, VPC 내부에 전용 라우팅 테이블이 생성된다.
  • 인터페이스 엔드포인트를 생성하면 AWS 서비스에 대한 ENI가 한개 생성되며, ENI는 VPC 내부에서 전용 IP 주소를 사용하여 AWS 서비스와 통신하는 인터페이스이다.

출처 : https://tech.cloud.nongshim.co.kr/2023/03/16/%EC%86%8C%EA%B0%9C-vpc-endpoint%EB%9E%80/

  1. VPC A에서 VPC B에 있는 NLB로 Private 통신할 수 있도록 인터페이스 엔드포인트를 생성한다.
  2. 해당 엔드포인트에 대한 ENI가 생성되며 보안 그룹을 설정할 수 있다.
  3. VPC A 내부에 있는 EC2 Instance는 ENI와 연결된 PrivateLink를 통해 NLB에 도달할 수 있다.

 

 

게이트웨이 엔드포인트 VS 인터페이스 엔드포인트

항목 Gateway Endpoint Interface Endpoint
Access Amazon S3 공개 IP 주소 사용 VPC의 프라이빗 IP 주소를 사용해 엑세스
DNS 동일한 DNS 이름 사용 엔드포인트별 DNS 이름 필요
온프레미스 온프레미스에서 액세스를 허용하지 않는다. 온프레미스에서 액세스 허용
리전 간 통신 다른 AWS 리전에서 액세스를 허용하지 않음 VPC 피어링 또는 AWS Transit Gateway를 사용하여 다른 AWS 리전의 VPC에서 액세스 허용
비용 미발생 발생 (PrivateLink에 대한 요금 발생)

 

 

최근에는 SaaS 서비스의 경우도 PrivateLink 엔드포인트를 만들 수 있도록 지원한다.
게이트웨이 엔드포인트는 라우팅 테이블을 건드려야 한다는 단점(?)이 있지만, 인터페이스 엔드포인트에서는 대부분 DNS로 쿼리해서 접근하게 된다. (DNS Binding은 AWS 영역)

 

 

 

참고

728x90