Cloud Infra Architecture (AWS)/AWS SAA-C03

AWS PrivateLink

seongduck 2023. 1. 22. 20:39

AWS PrivateLink란?

  • VPC와 서비스간에 프라이빗 연결을 제공하는 기술 (VPC 끼리 연결은 VPC Peering)
  • 1) VPC 엔드포인트
    • 인터넷을 통하지 않고 AWS 서비스에 프라이빗하게 연결할 수 있는 VPC의 진입점
      • 게이트웨이 엔드포인트
      • 인터페이스 엔드포인트
      • Gateway Load Balancer 엔드포인트
  • 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를 만들면 모두 연결할 수 있다.

 

  1. 벤더(Service Provider)는 VPC에 애플리케이션을 구성하고 VPC Endpoint 서비스를 구성한다.
  2. 하나 또는 여러 고객 (Cunsumer) AWS 계정의 VPC Endpoint가 벤더 (Provider) AWS 계정의 NLB 또는 GWLB에 연결
  3. 인터넷을 통하지 않고 AWS 내부 네트워크를 통한 트래픽
  4. 엔드포인트 서비스 연결시 고객과 벤더의 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