VPC를 서비스와 리소스에 비공개로 연결하여 서비스와 리소스를 자신의 VPC에 있는 것처럼 이용할 수 있는 기술
▶ 인터넷 게이트웨이, NAT 디바이스, 퍼블릭 IP 주소, Direct Connect 연결 또는 AWS Site-to-Site VPN 연결 없이 프라이빗 서브넷에서 서비스 또는 리소스와 통신 가능
PrivateLink 아키텍처 다이어그램

공급자

💡 서비스 : AWS에서 제공하는 가상 서버, 데이터베이스, 네트워크 등 추상화된 기능 집합(e.g, EC2, S3)
💡 리소스 : 서비스를 통해 생성 및 관리되는 가상 머신(VM), 스토리지 등 구체적인 컴퓨팅 자원(e.g, EC2 인스턴스, S3 버킷)

  • 서비스 공급자 : 공유하고자 하는 서비스 소유자
  • 리소스 공급자 : 공유하고자 하는 리소스 소유자

공급자 ↔ 소비자 연결

  • 서비스 공급자 ↔ 서비스 소비자
    - 서비스 공급자
     1. NLB 설치 : 서비스 공급자는 제공하고자 하는 서비스 앞에 LB 설치
     2. 엔드포인트 서비스 생성 : NLB를 외부에서 접근할 수 있도록 엔드포인트 서비스 생성 ▶ 서비스 이름 생성됨
     3. 접근 제어 : 해당 엔드포인트 서비스에 접근 가능한 소비자 계정(AWS 계정 ID) 관리 + 자동 승인 옵션 활성화(서비스 소비자가 인터페이스 엔드포인트 생성 시 Acceptance required: True(default: False - 수동 승인) 통해 자동 승인)
    - 서비스 소비자
     1. 인터페이스 엔드포인트 생성 : 서비스 공급자가 제공한 엔드포인트 서비스의 서비스 이름을 기준으로 연결 가능한 인터페이스 엔드포인트 생성
     2. 보안 그룹(SG) 설정
      - 소비자 리소스 SG(Outbound) : 목적지를 인터페이스 엔드포인트의 SG ID로 허용하여 외부가 아닌 엔드포인트로 데이터를 전달
      - 인터페이스 엔드포인트(ENI) SG(Inbound) : 소스를 소비자 리소스의 SG ID로 허용하여 허가된 리소스의 데이터만 수신
     💡 동일 VPC나 Peering 시에는 SG ID 참조가 가장 깔끔하지만, TGW(Transit Gateway)를 거칠 때는 SG참조가 불가능하므로 반드시 IP 대역(CIDR)로 규칙 정의해야 함

  • 리소스 공급자 ↔ 리소스 소비자
    - 리소스 공급자
     1. 리소스 게이트웨이 생성 : 리소스 공급자는 리소스 게이트웨이 생성
      ※ 리소스 게이트웨이 : 리소스가 공유되는 VPC로 들어오는 진입 지점
     2. 리소스 구성(Configuration) 설정 : 생성한 리소스 게이트웨이와 연결
     3. 공유 초대(AWS RAM) : AWS RAM(Resource Access Manager) 통해서 리소스 공유 초대장 전송
    - 리소스 소비자
     1. 초대 수락 : RAM 콘솔에서 공유 요청 [수락]
     2. 리소스 엔드포인트 생성
     3. 보안 그룹(SG) 설정
      - 소비자 리소스 SG(Outbound) : 목적지를 리소스 엔드포인트의 SG ID로 허용하여 외부가 아닌 엔드포인트로 데이터를 전달
      - 리소스 엔드포인트 SG(Inbound) : 소스를 소비자 리소스의 SG ID로 허용하여 허가된 리소스의 데이터만 수신

0개의 댓글