AWS PrivateLink란?
- VPC와 서비스간에 프라이빗 연결을 제공하는 기술 (VPC 끼리 연결은 VPC Peering)
- 1) VPC 엔드포인트
- 인터넷을 통하지 않고 AWS 서비스에 프라이빗하게 연결할 수 있는 VPC의 진입점
- 게이트웨이 엔드포인트
- 인터페이스 엔드포인트
- Gateway Load Balancer 엔드포인트
- 인터넷을 통하지 않고 AWS 서비스에 프라이빗하게 연결할 수 있는 VPC의 진입점
- 2) 앤드포인트 서비스 (AWS PrivateLink) - 이름이 위와 같다.
- VPC 내에 있는 애플리케이션 또는 서비스 (EC2 내의 보안 서비스를 엔드포인트 서비스로 만든다.)
- 다른 AWS 계정의 VPC Endpoint에서 엔드포인트 서비스(AWS PrivateLink)로 연결
- 인터넷이 아니라 AWS 내부연결 방식으로 연결
1) VPC 엔드포인트 - 게이트웨이 엔드포인트
- 기존에 외부와 통신 혹은 S3에 접근하려면 노란색 선 처럼 흐름을 지나갔다.
- 하지만 VPC Endpoint를 구성하면 인스터스는 Routing table을 통해 바로 S3 및 DynamoDB에 접근가능
- 하나의 엔드포인트는 하나의 VPC에만 연결 가능
- 엔드포인트는 동일한 리전에서만 지원, VPC와 다른 리전의 서비스간에 엔드포인트를 생성할 수 없음
- 다른 VPC와는 통신할 수 없다. (VPC간에 또는 서비스간에 엔드포인트를 전송할 수 없음)
2) VPC 엔드포인트 - 인터페이스 엔드포인트
- 같은 리전안에 AWS Marketplace Service, Endpoint Service, AWS Services 등이 존재한다.
- 이 VPC에 EC2가 인터넷을 통하지 않고 이 3개의 서비스에 연결을 하려면 인터페이스 엔드포인트를 사용해야 한다.
- VPC안에 Private IP를 가진 Endpoint Network Interface를 만든다. 이를 통해서 다음 3개의 서비스와 통신한다.
- 서브넷의 IP 주소 범위에서 프라이빗 IP 주소를 사용하는 탄력적 네트워크 인터페이스
- 지원되는 AWS 서비스 또는 VPC 엔드포인트 서비스로 전달되는 트래픽에 대한 진입점 역할
- 엔드포인트는 동일한 리전에서만 지원, VPC와 다른 리전의 서비스 간에 엔드포인트를 생성할 수 없음
- VPC 간에 또는 서비스간에 엔트포인트를 전송할 수 없음
3) Gateway Endpoints VS Interface Endpoints for S3
Gateway Endpoints | Interface Endpoints |
S3 퍼블릭 IP 주소를 사용하여 액세스 | VPC의 프라이빗 IP 주소를 사용하여 액세스 |
온프레미스 액세스 허용 안함 | 온프레미스 액세스 허용 |
다른 AWS 리전에서 액세스 허용 안함 | 기본적으로는 안하지만 VPC 피어링, AWS Trasnit Gateway를 사용하여 다른 AWS 리전의 VPC에서 액세스 허용 |
Endpoint 사용 비용 무료 | 비용 발생 |
Hosted Service (VPC Endpoint 서비스를 사용하지 않는 경우)
손님 Consumer VPC --- 제공자 Provider VPC
- 1) VPC 연결에는 인터넷 망을 통해서 연결하여 통신할 수 있다.
- 하지만 인터넷 트래픽 발생 및 보안 노출 우려가 있다.
- 2) Peering Connection을 통해 VPC간 연결 후 통신할 수 있다.
- 하지만 1:1 연결 방식이므로 다대다 연결이 불가능하다. (고객 AWS 계정이 매우 많으면 그만큼 Peering Connection을 더 만들어야 한다.)
- 고객 VPC의 IP 주소들이 중복된다면? 사용할 수 없다.
이것들의 단점을 보안한 것이 바로 VPC Endpoint Service (AWS PrivagteLink)이다.
VPC Endpoint Service (AWS PrivagteLink)
- Provider AWS VPC의 EC2 앞에 Network Load Balancer나 Gateway Load Balancer를 설치한다.
- (GLB의 경우 특정한 보안 어플리케이션에 자주 사용하며 나머지는 NLB를 사용한다.)
- NLB와 GLB를 Endpoint 서비스로 만들어주고 접속하는 고객인 Customer VPC에는 VPC Endpoint Network Interface 를 설치한다.
- 이때 Customer VPC에 Network Interface가 Private IP주소를 가지고 생긴다.
- EC2 - Network Interface - NLB를 서로 연결한다.
- 그러면 NLB 뒤에 구성되어 있는 EC2에 연결이 가능하다. (사용이 가능하다)
- 여러명의 Customer도 Interface Endpoint를 만들면 모두 연결할 수 있다.
- 벤더(Service Provider)는 VPC에 애플리케이션을 구성하고 VPC Endpoint 서비스를 구성한다.
- 하나 또는 여러 고객 (Cunsumer) AWS 계정의 VPC Endpoint가 벤더 (Provider) AWS 계정의 NLB 또는 GWLB에 연결
- 인터넷을 통하지 않고 AWS 내부 네트워크를 통한 트래픽
- 엔드포인트 서비스 연결시 고객과 벤더의 AWS의 리전이 같아야 한다.
'Cloud Infra Architecture (AWS) > AWS SAA-C03' 카테고리의 다른 글
AWS Transit Gateway 및 Data Transfer Costs (0) | 2023.01.22 |
---|---|
AWS VPN & Direct Connect (0) | 2023.01.22 |
VPC Peering이란? (0) | 2023.01.22 |
AWS NAT Instance and NAT Gateway (0) | 2023.01.22 |
AWS NACL & Security Groups란? (0) | 2023.01.22 |