정의
AWS PrivateLink은(는) VPC를 서비스에 비공개로 연결하여 서비스를 VPC에 있는 것처럼 이용할 수 있는 가용성과 확장성이 뛰어난 기술입니다. 인터넷 게이트웨이, NAT 디바이스, 퍼블릭 IP 주소, AWS Direct Connect 연결 또는 AWS Site-to-Site VPN 연결을 사용할 필요 없이 프라이빗 서브넷에서 서비스와 통신할 수 있습니다. 따라서 VPC에서 연결할 수 있는 특정 API 엔드포인트, 사이트 및 서비스를 제어할 수 있습니다.
이 문장만 보면 PrivateLink 는 서비스에 VPN은 아니지만 VPN과 유사한 방식으로 프라이빗 서브넷에서 다른 서브넷, VPC 등 다른 네트워크로 통신할 수 있는 서비스라고 생각이 든다.
PrivateLink 에서는 서비스 공급자, 서비스 소비자 등의 개념이 있다.
서비스 공급자(소유자) :
서비스 소유자로서 EC2 인스턴스와 같은 AWS 리소스를 사용하거나 온프레미스 서버를 사용해서 서비스를 호스팅할 수 있다.
서비스 공급자는 서비스를 리전에서 사용할 수 있도록 하기 위해 엔드포인트 서비스를 (VPC 엔드포인트 같은) 생성한다.
- 엔드포인트 서비스 :
- 서비스 공급자는 서비스를 리전에서 사용할 수 있도록 하기 위해 엔드포인트 서비스를 생성한다.
- 서비스 공급자는 엔드포인트 서비스를 생성할 때 로드 밸런서를 지정해야 한다.
- 로드 밸런서는 서비스 소비자의 요청을 받아 서비스로 전달한다.
- 서비스 이름 :
- 각 엔드포인트 서비스는 서비스 이름으로 식별된다.
- 서비스 소비자는 VPC 엔드포인트를 생성할 때 서비스 이름을 지정해야 한다.
- 서비스 소비자는 AWS 서비스의 서비스 이름을 쿼리할 수 있다.
- 서비스 공급자는 제공하는 서비스의 이름을 서비스 소비자와 공유해야 한다.
- 서비스 상태 :
- Available (엔드포인트 서비스를 사용할 수 있다.) 외에 나머지 상태는 특수 상태.
서비스 소비자(사용자) :
서비스 소비자는 EC2 인스턴스와 같은 AWS 리소스를 통해서나 온프레미스 서버를 통해 엔드포인트 서비스에 액세스할 수 있다.
- VPC 엔드포인트 : 서비스 소비자는 VPC 엔드포인트를 생성해 VPC를 엔드포인트 서비스에 연결합니다.
- Interface :
- TCP 트래픽을 엔드포인트로 전송하는 인터페이스 엔드포인트 생성. 엔드포인트 서비스로 전송되는 트래픽은 DNS를 사용하여 확인된다.
- GatewayLoadBalancer :
- 프라이빗 IP 주소를 사용해 가상 어플라이언스 플릿에 트래픽을 보내는 Gateway Load Balancer 엔드포인트를 생성한다. 라우팅 테이블을 사용하여 VPC의 트래픽을 Gateway Load Balancer 엔드포인트로 라우팅한다.
- Interface :
- 엔드포인트 네트워크 인터페이스 : 엔드포인트 서비스로 전달되는 트래픽의 진입점 역할을 하는 요청자가 관리하는 네트워크 인터페이스. VPC 엔드포인트를 생성할 때 지정하는 각 서브넷에 대해 엔드포인트 네트워크 인터페이스가 서브넷에 생성된다.
- 엔드포인트 정책 : VPC 엔드포인트에 연결할 수 있는 IAM 리소스 정책이다. 이 정책에 따라 VPC 엔드포인트를 사용하여 엔드포인트 서비스에 액세스할 수 있는 보안 주체가 결정된다.
AWS PrivateLink 연결 :
VPC의 트래픽은 VPC 엔드포인트와 엔드포인트 서비스 간 연결을 사용하여 엔드포인트 서비스로 전송된다. VPC 엔드포인트와 엔드포인트 서비스 간 트래픽은 공개 인터넷을 통과하지 않고 AWS 네트워크 내에 머무른다.
인터페이스 VPC 엔드포인트를 통해 서비스 소비자는 엔드포인트 정책을 사용해 VPC 엔드포인트를 사용할 수 있는 IAM 보안 주체를 제어할 수 있다.
프라이빗 호스팅 영역 :
호스팅 영역은 도메인 또는 하위 도메인에 대한 트래픽 라우팅 방식을 정의하는 DNS 레코드의 컨테이너
퍼블릭 호스팅 영역의 레코드에서는 트래픽을 인터넷에서 라우팅하는 방법을 지정한다.
프라이빗 호스팅 영역의 레코드에서는 트래픽을 VPC에서 라우팅하는 방법을 지정한다.
도메인 트래픽을 VPC 엔드포인트로 라우팅하도록 Route 53을 구성할 수 있다.
내 생각
대충 이해해보자면 PrivateLink는 퍼블릭 네트워크를 이용하지 않고 VPC내 엔드포인트 서비스를 이용해서 트래픽을 전달해주는 서비스
S3 로 예를 들으면 프라이빗 서브넷에 위치한 EC2에서 엔드포인트를 설정하지 않고 S3 로 트래픽을 전송하면 NAT 게이트웨이를 거쳐서 s3 버킷 url 을 이용해 오브젝트를 저장하겠는데, 게이트웨이 엔드포인트를 사용하게 되면 NAT 게이트웨이를 거치는 통신을 하는 것이 아니라 엔드 투 엔드로 EC2 -> Gateway Endpoint(PrivateLink) -> S3 이렇게 통신하게 된다.
[참조] :
https://docs.aws.amazon.com/ko_kr/general/latest/gr/rande.html
'Cloud > AWS' 카테고리의 다른 글
[AWS] 네트워크 전송 비용 정리 (0) | 2024.04.30 |
---|---|
STS, AssumeRole, PassRole이란? (0) | 2024.01.30 |
Reserved Instance(RI), Savings Plans 란? (1) | 2024.01.30 |
Transit Gateway란? (0) | 2023.11.15 |
ECS Fargate란? (0) | 2023.06.27 |