AWS PrivateLink 개념
Amazon VPC를 사용하면 논리적으로 분리된 가상 네트워크인 Virtual Private Cloud(VPC)를 정의할 수 있습니다. VPC에서 AWS 리소스를 시작할 수 있습니다. 그리고 VPC의 리소스에서 해당 VPC 외부의 리소스에 연결하도록 허용할 수 있습니다. 예를 들어 VPC에 인터넷 게이트웨이를 추가하여 인터넷 액세스를 허용하거나 VPN 연결을 추가하여 온프레미스 네트워크 액세스를 허용할 수 있습니다. 또는 AWS PrivateLink를 사용하여 VPC의 리소스에서 프라이빗 IP 주소를 사용하여 다른 VPC의 서비스에 연결하고 서비스를 VPC에 직접 호스팅된 것처럼 이용하도록 할 수 있습니다.
다음은 AWS PrivateLink 사용을 시작하려면 알아야 하는 중요한 개념입니다.
아키텍처 다이어그램
다음은 AWS PrivateLink의 작동 방식의 중요한 개요를 설명하는 다이어그램입니다. 서비스 소비자는 인터페이스 VPC 엔드포인트를 생성하여 서비스 공급자가 호스팅하는 엔드포인트 서비스에 연결합니다.
서비스 공급자
서비스 소유자가 서비스 공급자입니다. 서비스 공급자에는 AWS, AWS 파트너 및 기타 AWS 계정가 포함됩니다. 서비스 공급자는 EC2 인스턴스와 같은 AWS 리소스를 사용하거나 온프레미스 서버를 사용하여 서비스를 호스팅할 수 있습니다.
엔드포인트 서비스
서비스 공급자는 서비스를 리전에서 사용할 수 있도록 하기 위해 엔드포인트 서비스를 생성합니다. 서비스 공급자는 엔드포인트 서비스를 생성할 때 로드 밸런서를 지정해야 합니다. 로드 밸런서는 서비스 소비자의 요청을 받아 서비스로 전달합니다.
기본적으로 엔드포인트 서비스는 서비스 소비자가 사용할 수 없습니다. 특정 AWS 보안 주체가 엔드포인트 서비스에 연결하도록 허용하는 권한을 추가해야 합니다.
서비스 이름
각 엔드포인트 서비스는 서비스 이름으로 식별됩니다. 서비스 소비자는 VPC 엔드포인트를 생성할 때 서비스 이름을 지정해야 합니다. 서비스 소비자는 AWS 서비스의 서비스 이름을 쿼리할 수 있습니다. 서비스 공급자는 제공하는 서비스의 이름을 서비스 소비자와 공유해야 합니다.
서비스 상태
엔드포인트 서비스의 가능한 상태는 다음과 같습니다.
-
Pending
- 엔드포인트 서비스를 생성하는 중입니다. -
Available
- 엔드포인트 서비스를 사용할 수 있습니다. -
Failed
- 엔드포인트 서비스를 생성할 수 없습니다. -
Deleting
- 서비스 공급자가 엔드포인트 서비스를 삭제했으며 삭제가 진행 중입니다. -
Deleted
- 엔드포인트 서비스가 삭제되었습니다.
서비스 소비자
서비스 사용자를 서비스 소비자라고 합니다. 서비스 소비자는 EC2 인스턴스와 같은 AWS 리소스를 통해서나 온프레미스 서버를 통해 엔드포인트 서비스에 액세스할 수 있습니다.
VPC 엔드포인트
서비스 소비자는 VPC 엔드포인트를 생성하여 VPC를 엔드포인트 서비스에 연결합니다. 서비스 소비자는 VPC 엔드포인트를 생성할 때 엔드포인트 서비스의 서비스 이름을 지정해야 합니다. VPC 엔드포인트는 여러 유형이 있습니다. 엔드포인트 서비스에서 요구하는 유형의 VPC 엔드포인트를 생성합니다.
-
Interface
- TCP 트래픽을 엔드포인트로 전송하는 인터페이스 엔드포인트를 생성합니다. 엔드포인트 서비스로 전송되는 트래픽은 DNS를 사용하여 확인됩니다. -
GatewayLoadBalancer
- 프라이빗 IP 주소를 사용하여 가상 어플라이언스 플릿에 트래픽을 보내는 Gateway Load Balancer 엔드포인트를 생성합니다. 라우팅 테이블을 사용하여 VPC의 트래픽을 Gateway Load Balancer 엔드포인트로 라우팅합니다. Gateway Load Balancer는 트래픽을 가상 어플라이언스로 분산하며 수요에 맞게 확장될 수 있습니다.
트래픽을 Amazon S3 또는 DynamoDB로 전송하는 게이트웨이 엔드포인트를 생성하는 다른 유형의 VPC 엔드포인트 Gateway
이(가) 있습니다. 게이트웨이 엔드포인트는 다른 유형의 VPC 엔드포인트와 달리 AWS PrivateLink을(를) 사용하지 않습니다. 자세한 내용은 게이트웨이 엔드포인트 단원을 참조하십시오.
엔드포인트 네트워크 인터페이스
엔드포인트 네트워크 인터페이스는 엔드포인트 서비스로 전달되는 트래픽의 진입점 역할을 하는 요청자가 관리하는 네트워크 인터페이스입니다. VPC 엔드포인트를 생성할 때 지정하는 각 서브넷에 대해 엔드포인트 네트워크 인터페이스가 서브넷에 생성됩니다.
VPC 엔드포인트가 IPv4를 지원하는 경우 해당 엔드포인트 네트워크 인터페이스에 IPv4 주소가 있습니다. VPC 엔드포인트가 IPv6를 지원하는 경우 해당 엔드포인트 네트워크 인터페이스에 IPv6 주소가 있습니다. 엔드포인트 네트워크 인터페이스의 IPv6 주소는 인터넷을 통해 연결할 수 없습니다. 엔드포인트 네트워크 인터페이스를 IPv6 주소를 사용하여 설명하는 경우 denyAllIgwTraffic
이(가) 활성화됩니다.
엔드포인트 네트워크 인터페이스의 IP 주소는 VPC 엔드포인트의 수명 기간 동안 변경되지 않습니다.
엔드포인트 정책
VPC 엔드포인트 정책은 VPC 엔드포인트에 연결할 수 있는 IAM 리소스 정책입니다. 이 정책에 따라 VPC 엔드포인트를 사용하여 엔드포인트 서비스에 액세스할 수 있는 보안 주체가 결정됩니다. 기본 VPC 엔드포인트 정책을 사용하면 VPC 엔드포인트를 통해 모든 리소스에 대해 모든 보안 주체의 모든 작업이 허용됩니다.
엔드포인트 상태
VPC 엔드포인트를 생성할 때 엔드포인트 서비스는 연결 요청을 수신합니다. 서비스 공급자는 이 요청을 수락하거나 거부할 수 있습니다. 서비스 공급자가 요청을 수락하면 서비스 소비자는 VPC 엔드포인트를 Available
상태가 된 후 사용할 수 있습니다.
VPC 엔드포인트의 가능한 상태는 다음과 같습니다.
-
PendingAcceptance
- 연결 요청이 보류 중입니다. 요청을 수동으로 수락하는 경우의 초기 상태입니다. -
Pending
- 서비스 공급자가 연결 요청을 수락했습니다. 요청이 자동으로 수락되는 경우의 초기 상태입니다. 서비스 소비자가 VPC 엔드포인트를 수정하면 VPC 엔드포인트가 이 상태로 돌아갑니다. -
Available
- VPC 엔드포인트를 사용할 수 있습니다. -
Rejected
- 서비스 공급자가 연결 요청을 거부했습니다. 서비스 공급자는 서비스를 사용할 수 있게 된 후 연결을 거부할 수도 있습니다. -
Expired
- 연결 요청이 만료되었습니다. -
Failed
- VPC 엔드포인트를 사용하도록 설정할 수 없습니다. -
Deleting
- 서비스 소비자가 VPC 엔드포인트를 삭제했으며 삭제가 진행 중입니다. -
Deleted
- VPC 엔드포인트가 삭제되었습니다.
AWS PrivateLink 연결
VPC의 트래픽은 VPC 엔드포인트와 엔드포인트 서비스 간 연결을 사용하여 엔드포인트 서비스로 전송됩니다. VPC 엔드포인트와 엔드포인트 서비스 간 트래픽은 공개 인터넷을 통과하지 않고 AWS 네트워크 내에 머무릅니다.
서비스 공급자는 서비스 소비자가 엔드포인트 서비스에 액세스할 수 있도록 권한을 추가합니다. 서비스 소비자가 연결을 시작하고 서비스 공급자는 연결 요청을 수락하거나 거부합니다.
인터페이스 VPC 엔드포인트를 통해 서비스 소비자는 엔드포인트 정책을 사용하여 엔드포인트 서비스에 액세스하기 위해 VPC 엔드포인트를 사용할 수 있는 IAM 보안 주체를 제어할 수 있습니다.
프라이빗 호스팅 영역
호스팅 영역은 도메인 또는 하위 도메인에 대한 트래픽 라우팅 방식을 정의하는 DNS 레코드의 컨테이너입니다. 퍼블릭 호스팅 영역의 레코드에서는 트래픽을 인터넷에서 라우팅하는 방법을 지정합니다. 프라이빗 호스팅 영역의 레코드에서는 트래픽을 VPC에서 라우팅하는 방법을 지정합니다.
도메인 트래픽을 VPC 엔드포인트로 라우팅하도록 Amazon Route 53을 구성할 수 있습니다. 자세한 내용은 도메인 이름을 사용하여 VPC 엔드포인트로 트래픽 라우팅을 참조하세요.
Route 53을 사용하여 분할-수평 DNS을 구성할 수 있습니다. 이 경우 퍼블릭 웹 사이트와 AWS PrivateLink 기반 엔드포인트 서비스 모두에 동일한 도메인 이름을 사용할 수 있습니다. 소비자 VPC의 퍼블릭 호스트 이름에 대한 DNS 요청은 엔드포인트 네트워크 인터페이스의 프라이빗 IP 주소로 확인되지만, VPC 외부에서 들어오는 요청은 계속해서 퍼블릭 엔드포인트로 확인됩니다. 자세한 내용은 AWS PrivateLink 배포를 위한 트래픽 라우팅 및 페일오버 활성화에 대한 DNS 메커니즘