VPC 엔드포인트
1. VPC 엔드포인트 정의
1.1 VPC 엔드포인트 정의
사용자가 생성한 VPC에서 AWS 퍼블릭 서비스와 통신
을 하거나 다른 VPC로 통신이 필요할 경우 일반적으로 외부 인터넷 구간인 퍼블릭 네트워크를 통해 통신이 이루어 진다.

[그림 1-1-1]과 같이 외부 인터넷 구간을 넘어서 퍼블릭 구간으로 통신한다는 것은 아무래도 보안 상의 위협이 노출 될 것이고, AWS의 과금 정책 상 비용이 발생할 가능성이 높아지는 것은 사실이다. 이에 따라 AWS에서는 프라이빗 네트워크 통신 을 위한 기술이 지속적으로 출시되고 있다. 이 중에서 VPC 엔드포인트 기능에 대하여 알아보자
VPC 엔드포인트 는 AWS의 퍼블릭 서비스나 직접적으로 생성한 AWS 서비스에 대해 외부 인터넷 구간을 통한 접근이 아닌 직접적으로 접근할 수 있는 프라이빗 엑세스 기능이다.
예를 들어, S3라는 AWS 스토리지 서버에 대해 우리가 생성한 VPC에서 접근을 하려고 할 때, 인터넷 게이트웨이나 NAT 게이트웨이를 통해 외부 인터넷으로 접근하는 방식에서 VPC 엔드포인트 기능을 통해 AWS 내부의 프라이빗 연결이 가능해진다.
1.2 VPC 엔드포인트 유형
VPC 엔드포인트는 연결 대상 서비스에 따라 엔드포인트와 엔드포인트 서비스로 구분 지을 수 있다. 엔트포인트는 AWS 퍼블릭 서비스를 대상으로 연결을 하고, 엔드포인트 서비스는 사용자가 직접 생성한 서비스에 대한 연결을 한다는 차이 이다.
이 중에 엔드포인트는 연결 대상 서비스 종류에 따라 게이트웨이 엔드포인트와 인터페이스 엔드포인트 유형으로 나뉘어 진다.

*참고 : 인터페이스 엔드포인트에 대한 연결 대상이 S3와 DynamoDB를 제외한 모든 AWS 서비스를 지칭하는 것은 아니다. 지원 대상 서비스는 AWS 공식 홈페이지에서 확인해 볼 수 있다.
(https://docs.aws.amazon.com/ko_kr/vpc/latest/userguide/vpc-endpoints.html)

[그림 1-1-3]를 통해 VPC 엔드포인트 종류 별 (게이트웨이 엔드포인트, 인터페이스 엔드포인트, 엔드포인트 서비스) 차이를 확인할 수 있다.
물론 VPC 엔드포인트 유형 별 차이는 연결 대상이 무엇이냐 만이 아니며, 동작 방식이 조금씩 다르다.
* 참고 : VPC 엔드포인트 유형 중에 인터페이스 엔드포인트와 엔드포인트 서비스를 통한 연결을 AWS에서는 프라이빗 링크(PrivateLink)라고 부른다.
1.3 VPC 엔드포인트 특징

[그림 1-3-1]은 VPC 엔드포인트 적용과 미적용에 따른 통신 흐름의 차이를 보여주고 있다. 대표적인 특징은 외부 인터넷 구간을 통한 퍼블릭 통신에서 프라이빗 링크를 통한 프라이빗 통신으로 볼 수 있다.
이에 따른 VPC 엔드포인트는 아래와 같은 특징을 가지고 있다.
- 보안적인 측면 강화 : 프라이빗 연결을 통해 외부 구간으로 노출이 되지 않는다.
- 비용 절감 효과 : 외부 인터넷 구간을 넘어가지 않아 과금에 대한 절약을 할 수 있다.
- 서비스 제약 : 연결 대상 서비스는 동일 리전에 속한 서비스만 가능하다.
- VPC 종속 : 오직 VPC 하나에만 연결할 수 있다. (다수의 VPC에 종속 불가)
- 권한 제어 : AWS IAM이라는 기능을 통해 정책을 수립하여 VPC 엔드포인트에 대한 권한 부여 가능하다.