인공지능 시대의 핵심 기술, 벡터 검색 최적화를 위한 새로운 접근
최근 생성형 AI, 에이전틱 AI 등의 다양한 인공지능 활용 사례들이 급증하면서 벡터 임베딩 기반의 유사도 검색(vector search)이 주요 인프라로 자리잡고 있습니다. 그러나 수천만 개에서 수십억 개에 이르는 대규모 벡터 데이터를 효율적으로 저장하고 실시간으로 검색하기 위해서는 성능, 비용, 유지관리 사이에서 복잡한 균형이 필요합니다. 이런 고민을 해결하기 위해 AWS에서는 Amazon S3 Vectors와 Amazon OpenSearch Service 간의 통합 기능을 발표했습니다.
이 포스팅에서는 Amazon S3 Vectors 및 OpenSearch가 어떻게 통합되어 효율적인 벡터 검색 구현이 가능한지, 실제 구축 가이드를 중심으로 소개 드립니다. 이를 통해 벡터 검색의 자동화 및 비용 최적화, 성능 비교와 활용 방안까지 명확하게 파악할 수 있습니다.
최적화된 벡터 검색을 위한 아키텍처
AWS에서는 두 가지 방식의 통합을 미리보기(preview)로 제공하고 있습니다.
- S3 Vectors 기반 OpenSearch Service 관리형 클러스터를 이용한 비용 최적화형 벡터 저장소
- S3 Vectors에서 OpenSearch Serverless 컬렉션으로의 원클릭 내보내기 기반 고성능 검색 환경
두 방식 모두 OpenSearch의 고급 검색 기능(하이브리드 검색, 필터링, KNN 검색 등)을 활용하면서도, 목적에 따라 성능 중심 또는 비용 중심으로 벡터 처리 워크로드를 배치할 수 있어 매우 유연하게 구성할 수 있습니다.
패턴 1: OpenSearch 관리 클러스터 + S3 Vectors
이 방식은 기존 OpenSearch 도메인을 활용하고 있는 환경에서 운영 비용을 절감하고 싶은 경우에 적합합니다. 주로 오프라인 쿼리나 빈도가 낮은 데이터 검색에 유리하며, OpenSearch는 S3에 저장된 벡터 데이터를 자동으로 캐싱하고 관리하여 복잡한 유지보수를 줄여줍니다. 다음은 실제 배포 가이드입니다.
- OpenSearch 도메인 생성 시 OR1 인스턴스 유형과 OpenSearch 2.19 버전 선택
- 고급 설정에서 ‘S3 Vectors 엔진 활성화’ 설정
- OpenSearch Dashboards의 Dev Tools에서 KNN 인덱스 생성
PUT my-first-s3vector-index
{
"settings": { "index": { "knn": true } },
"mappings": {
"properties": {
"my_vector1": {
"type": "knn_vector",
"dimension": 2,
"space_type": "l2",
"method": { "engine": "s3vector" }
},
"price": { "type": "float" }
}
}
}
- Bulk API로 벡터 데이터 인덱싱
POST _bulk
{ "index": { "_index": "my-first-s3vector-index", "_id": "1" } }
{ "my_vector1": [2.5, 3.5], "price": 7.1 }
...
- 일반적인 KNN 쿼리로 검색
GET my-first-s3vector-index/_search
{
"size": 2,
"query": {
"knn": {
"my_vector1": {
"vector": [2.5, 3.5],
"k": 2
}
}
}
}
패턴 2: S3 Vectors에서 OpenSearch Serverless로의 원클릭 내보내기
이 방식은 응답 속도 10ms 이하의 초고속 벡터 검색이 필요한 실시간 애플리케이션에 적합합니다. 콘솔에서 몇 번의 클릭만으로 S3에 저장된 벡터 인덱스를 OpenSearch Serverless로 내보내고 곧바로 운영할 수 있습니다.
- Amazon S3 콘솔에서 벡터 인덱스 선택 > 고급 옵션에서 ‘Export to OpenSearch’ 선택
- OpenSearch Service 콘솔에서 자동 생성된 템플릿을 따라 역할을 지정하고 Export 실행
- Serverless 컬렉션이 생성되며 새로운 knn 인덱스를 즉시 사용 가능
도입 가이드를 위한 사전 준비 및 자동화 팁
- AWS 계정 보유 및 S3, OpenSearch Service 사용 권한
- 벡터 데이터가 S3 Vectors에 저장되어 있어야 함
- IAM 역할 또는 정책 구성 필요
자동화된 파이프라인 구축이 필요하다면 OpenSearch Ingestion 또는 AWS Glue와의 연계를 통해 데이터 흐름을 효율적으로 구성하고 관리할 수 있습니다.
결론 : AI 활용을 위한 완전한 벡터 검색 생태계
Amazon S3 Vectors와 OpenSearch의 통합은 인공지능, 추천 시스템, 보안 검색 등 높은 정밀도와 실시간성을 요구하는 AI 서비스에서 핵심 기술로 자리매김할 것입니다. 초당 수천 건의 쿼리를 처리해야 하는 대규모 벡터 검색 환경에서도, 이번 통합을 통해 비용을 효과적으로 제어하면서도 성능을 확보할 수 있는 선택지가 제공되었습니다.
이제 여러분의 AI 시스템에 최적화된 벡터 검색 아키텍처를 구성해 보세요. OpenSearch의 강력한 검색 기능과 S3의 확장성과 내구성을 결합한 이 혁신적인 통합이 클라우드 기반 AI의 새로운 기준이 될 것입니다.
AI, Cloud 관련한 문의는 아래 연락처로 연락주세요!
(주)에이클라우드
이메일 : acloud@a-cloud.co.kr
회사 번호 : 02-538-3988
회사 홈페이지 : https://www.a-cloud.co.kr/
문의하기