본문

[AWS] OpenSearch Serverless(AOSS)를 Private으로 설정했는데 공인 IP가 조회되는 이유

AWS에서 OpenSearch Serverless(AOSS)를 구축하다 보면 당황스러운 순간이 찾아옵니다.

보안을 위해 분명히 VPC와 Private Subnet 기반으로 설정했는데, 대시보드 엔드포인트를 nslookup 해보면 공인 IP(Public IP)가 조회되기 때문입니다.

 

"설정이 잘못된 건가? 내 데이터가 인터넷에 노출되는 건가?"

결론부터 말하면 설정은 정상이며, 이는 AOSS의 아키텍처 특성에 따른 지극히 자연스러운 현상입니다.

기존의 Provisioned OpenSearch와 무엇이 다른지, 그리고 보안상 안전한지 정리해 봅니다.


1. 현상: Private인데 왜 공인 IP가 보일까?

일반적으로 우리는 VPC 내부 리소스(RDS, EC2 등)의 DNS를 조회하면 10.x.x.x와 같은 사설 IP가 나올 것을 기대합니다. 하지만 AOSS의 엔드포인트를 로컬 PC나 외부 DNS(KT, Google 등)를 통해 조회하면 다음과 같이 공인 IP가 반환됩니다.

$ nslookup collection.ap-northeast-2.aoss.amazonaws.com
...
Address: 3.37.136.107 (Public IP)
Address: 54.180.11.99 (Public IP)

이 IP들은 내 VPC의 IP가 아니라, AWS가 관리하는 글로벌 서비스의 진입점입니다.

 

2. 원인: Provisioned vs Serverless 아키텍처의 차이

이 차이는 서비스가 네트워크 인터페이스를 생성하는 방식에서 기인합니다.

  • 일반 OpenSearch (Provisioned):
    • 사용자의 VPC 서브넷 안에 직접 ENI(가상 랜카드)를 생성합니다.
    • 따라서 DNS 조회 시 사용자의 사설 IP가 바로 반환됩니다.
  • OpenSearch Serverless (AOSS):
    • 사용자의 VPC 안에 노드를 직접 띄우지 않습니다.
    • 대신 VPC Endpoint(Interface)를 통해 AWS 관리 영역에 있는 AOSS와 연결합니다.
    • AOSS의 도메인은 글로벌 공용 도메인이므로, 기본적으로는 공인 IP로 분석(Resolve)됩니다.

 

3. 그렇다면 보안에 취약한가? (NO)

공인 IP로 조회된다고 해서 아무나 접속할 수 있는 것은 아닙니다. AOSS는 네트워크 액세스 정책(Network Access Policy)이라는 강력한 제어 장치를 가지고 있습니다.

  1. 접근 제어: 네트워크 정책을 'VPC'로 설정하고 특정 VPC Endpoint ID를 지정하면, 해당 VPC Endpoint를 통하지 않은 모든 트래픽(인터넷을 통한 직접 접근 포함)은 AWS 네트워크 단에서 차단됩니다.
  2. 데이터 경로: 실제 데이터 통신은 공인망을 타지 않고, AWS 백본 네트워크(PrivateLink)를 통해 안전하게 전송됩니다.

 

4. VPC 내부에서 사설 IP로 통신하려면?

VPC 내부(EC2, Lambda 등)에서 AOSS와 통신할 때도 공인 IP로 라우팅 되는 것을 막으려면, VPC Endpoint 설정에서 'Enable Private DNS Name' 옵션이 켜져 있어야 합니다.

이 옵션이 켜져 있으면, VPC 내부의 DNS(AmazonProvidedDNS)가 AOSS 도메인에 대한 쿼리를 가로채서 VPC Endpoint의 사설 IP로 매핑해줍니다.

 

[검증 방법] VPC 내부의 EC2 인스턴스에서 nslookup을 실행해 봅니다.

 
# VPC 내부에서 실행 시
$ nslookup collection.ap-northeast-2.aoss.amazonaws.com
...
Address: 10.0.1.55 (VPC Endpoint의 사설 IP)

 

요약

  1. AOSS는 일반 OpenSearch와 달리 VPC Endpoint 방식을 사용하므로 도메인 자체는 공인 IP를 가리키는 것이 정상이다.
  2. Network Access Policy를 통해 VPC 접근만 허용했다면, 외부에서 공인 IP로 접근해도 차단되므로 안전하다.
  3. VPC 내부에서는 Private DNS 기능을 통해 사설 IP로 통신하게 된다.

Tip: AOSS 설정 시 "왜 사설 IP가 안 나오지?"라며 당황하지 말고, Network Policy 설정VPC Endpoint의 Private DNS 옵션을 확인하면 됩니다.

공유

댓글