VPC를 서비스와 리소스에 비공개로 연결하여 서비스와 리소스를 자신의 VPC에 있는 것처럼 이용할 수 있는 기술
▶ 인터넷 게이트웨이, NAT 디바이스, 퍼블릭 IP 주소, Direct Connect 연결 또는 AWS Site-to-Site VPN 연결 없이 프라이빗 서브넷에서 서비스 또는 리소스와 통신 가능
💡 서비스 : 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로 허용하여 허가된 리소스의 데이터만 수신