(미리 보기) Amazon S3 Vectors에서 OpenSearch Serverless로 가져오기
중요
Amazon S3 Vectors와 OpenSearch Service의 통합은 평가판 릴리스이며 변경될 수 있습니다.
Amazon S3 Vectors는 벡터 저장 및 쿼리를 기본적으로 지원하는 최초의 클라우드 객체 스토어를 제공합니다. S3 Vectors는 의미와 유사성에 따라 쿼리할 수 있는 비용 효율적이고 탄력적이며 내구성이 뛰어난 벡터 스토리지를 제공합니다. 1초 미만의 쿼리 응답 시간과 최대 90% 절감된 벡터 업로드, 저장 및 쿼리 비용을 제공합니다.
인프라를 프로비저닝하지 않고도 벡터 데이터를 저장, 액세스, 쿼리하는 데 사용할 수 있는 S3 벡터 버킷이 Amazon S3 Vectors에 도입되었습니다. 벡터 버킷 내에서 벡터 인덱스 내 벡터 데이터를 구성할 수 있습니다. 벡터 버킷에는 여러 벡터 인덱스가 있을 수 있으며, 각 벡터 인덱스에는 수백만 개의 벡터가 있을 수 있습니다. 자세한 내용은 Amazon S3 사용 설명서의 Amazon S3 Vectors 및 벡터 버킷 작업을 참조하세요.
각 벡터는 다음으로 구성됩니다.
-
고유 키
-
벡터 데이터
-
JSON 형식의 메타데이터(선택 사항)
벡터 인덱스는 유사성 검색 작업을 위한 유클리드 및 코사인 거리 함수를 지원합니다.
참고
벡터 버킷의 주요 장점은 벡터 작업을 위한 직접적인 API 액세스를 제공하면서 매우 저렴한 비용으로 대규모 데이터세트를 저장할 수 있다는 것입니다.
생성 방법을 비롯하여 Amazon S3 Vectors 버킷에 대한 자세한 내용은 Amazon S3 사용 설명서의 Amazon S3 Vectors 및 벡터 버킷 작업을 참조하세요. 이 주제에 설명된 것 이상의 OpenSearch Service와의 통합에 대한 자세한 내용은 OpenSearch Service에 S3 Vectors 사용을 참조하세요.
Amazon OpenSearch Service와 함께 S3 Vectors를 사용하면 쿼리 빈도가 낮을 때 벡터 저장 비용을 절감한 다음, 수요 증가에 따라 해당 데이터 세트를 OpenSearch로 빠르게 이동하거나 검색 기능을 개선할 수 있습니다.
OpenSearch Service는 Amazon S3 Vectors와 통합되어 Amazon S3 벡터 버킷이 자체적으로 제공하는 것 이상의 향상된 성능과 기능을 제공합니다. 다음이 필요한 경우 이 통합을 고려하세요.
-
향상된 쿼리 처리량
-
1초 미만의 검색 지연 시간
-
집계와 같은 고급 분석 기능
-
텍스트 및 벡터 데이터를 결합한 하이브리드 검색
이 통합은 여러 애플리케이션이 동일한 벡터 데이터를 서로 다른 성능 요구 사항으로 사용할 때 특히 유용합니다. 일부 애플리케이션은 비용에 민감한 사용 사례를 위해 Amazon S3 Vectors 버킷과 직접 상호 작용하는 반면, 성능이 중요한 작업을 위해 OpenSearch 통합을 활용하는 애플리케이션도 있습니다.
통합 아키텍처
이 통합은 Amazon OpenSearch Ingestion(OSI)을 Amazon S3 Vectors 인덱스와 Amazon OpenSearch Serverless 벡터 컬렉션 간의 데이터 파이프라인으로 사용합니다. OpenSearch Ingestion은 지정된 벡터 인덱스에서 벡터 데이터를 자동으로 내보내고 고성능 검색 작업을 위해 이를 OpenSearch Serverless 벡터 컬렉션으로 수집합니다.
참고
내보낸 후에도 데이터는 S3 벡터 인덱스에 계속 존재합니다. 즉, 데이터 사본이 두 개 있는 셈입니다.
각 벡터 인덱스는 OpenSearch Service 컬렉션의 해당 인덱스에 매핑됩니다. 통합:
-
벡터 차원 보존
-
메타데이터 유지
-
OpenSearch의 벡터 검색 기능을 위한 데이터 구조 최적화
구성 후 OpenSearch Ingestion은 Amazon S3 ListVectors API를 통해, 지정된 벡터 인덱스의 벡터를 사용하여 데이터 내보내기 프로세스를 시작합니다. 이 서비스는 벡터를 병렬로 처리하여 OpenSearch Ingestion과 Amazon OpenSearch Serverless 모두의 규모 조정 제한을 준수하면서 수집 속도를 최적화합니다.
수집 중에 이 서비스는 다음을 수행합니다.
-
OpenSearch Service의 예상 형식과 일치하도록 벡터 데이터를 변환
-
벡터 값, 메타데이터 및 거리 지표를 포함한 필수 정보를 보존
-
지능형 재시도 메커니즘을 통해 장애 시나리오를 처리
-
나중에 분석하기 위해, 문제가 있는 레코드를 Dead Letter Queue(DLQ)로 사용되는 Amazon S3 버킷에 배치
통합은 벡터 차원, 데이터 세트 크기 및 구성된 조정 제한에 따라 고성능으로 대규모 데이터 세트를 효율적으로 처리합니다. OSI는 파이프라인당 최대 16명의 작업자로 스케일 업할 수 있으며, OpenSearch Serverless는 수집 수요에 따라 용량을 자동으로 조정합니다. 기본적으로 OpenSearch는 maxSearch OpenSearch Serverless 측의 OpenSearch 컴퓨팅 단위(OCU)를 100으로 늘립니다.
참고
이 통합은 다음을 통해 비용 효율성을 우선시합니다.
-
내보내기 완료 후 자동 파이프라인 종료
-
OpenSearch Serverless 컬렉션 규모 조정
-
종량제 리소스 모델
필수 IAM 권한
이 통합에서는 서비스 간 보안 통신을 활성화하기 위해 IAM 권한을 신중하게 구성해야 합니다. OpenSearch Ingestion에는 Amazon S3 Vectors 인덱스에서 읽고, OpenSearch Service 벡터 컬렉션에 쓰고, 관련 보안 정책을 관리할 권한이 필요합니다.
이 주제의 뒷부분에서 설명하는 절차를 사용하여 통합을 활성화하면 권한 관리를 위해 다음 옵션 중 하나를 선택할 수 있습니다.
-
시스템이 필요한 권한을 가진 서비스 역할을 자동으로 생성하도록 허용
-
요구 사항을 충족하는 기존 역할 제공
자동으로 생성된 역할에는 다음에 대한 정책이 포함됩니다.
-
Amazon S3 Vectors 인덱스 API 액세스
-
OpenSearch Service 컬렉션 작업 관리
-
실패한 수집 시도에 대한 Dead Letter Queue(DLQ) 작업 처리
기존 역할을 지정하기로 선택한 경우 역할에 다음 IAM 권한이 있는지 확인합니다.
(필수): OpenSearch Ingestion과 OpenSearch Serverless 간의 데이터 파이프라인 권한
(필수): OpenSearch Ingestion과 Amazon S3 Dead Letter Queue(DLQ) 간의 데이터 수집 권한
(필수): OpenSearch Ingestion과 Amazon S3 Vectors 간의 데이터 수집 권한
(AWS KMS 암호화가 활성화된 경우 필수): OpenSearch Ingestion과 Amazon S3 Vectors 간의 통신을 위한 복호화 권한
OpenSearch와 Amazon S3 Vectors 통합 구성
다음 절차에 따라 OpenSearch Serverless와의 Amazon S3 Vectors 통합을 구성합니다.
참고
벡터 버킷 페이지에서 OpenSearch로 내보내기 옵션을 선택하여 Amazon S3 콘솔에서 통합을 구성하는 프로세스를 시작한 경우, 다음 절차에서 설명하는 대로 일부 단계는 해당되지 않습니다.
OpenSearch Serverless와 Amazon S3 Vectors의 통합을 구성하려면
-
Amazon OpenSearch Service 콘솔에서 OpenSearch 벡터 엔진으로 S3 벡터 인덱스 가져오기 페이지를 엽니다. Amazon S3 콘솔에서 OpenSearch로 내보내기를 클릭하면 이 페이지가 자동으로 표시됩니다. OpenSearch 콘솔에서 시작하는 경우 왼쪽 탐색 메뉴에서 통합을 선택한 다음 S3 벡터 인덱스 가져오기를 선택합니다.
-
Amazon S3 콘솔에서 시작한 경우, 소스 섹션에 벡터 인덱스의 이름과 해당 Amazon 리소스 이름(ARN)이 이미 지정되어 있는지 확인합니다. OpenSearch 콘솔에서 시작한 경우 S3 벡터 인덱스 ARN 필드에 인덱스 ARN을 입력합니다.
-
서비스 액세스 섹션에서 옵션을 선택합니다. 기존 역할을 선택하는 경우, 필수 IAM 권한에서 설명하는 대로 통합에 필요한 모든 권한이 있는지 확인합니다.
-
(선택 사항) 추가 설정(Additional settings)을 확장합니다. 이중화 활성화(활성 복제본)의 경우 프로덕션 환경에 대해 이 옵션을 선택한 상태로 두는 것이 좋습니다. 첫 번째 컬렉션을 생성할 때 OpenSearch Serverless는 두 개의 OCU(하나는 인덱싱용, 다른 하나는 검색용)를 인스턴스화합니다. 또한 고가용성을 보장하기 위해 다른 가용 영역에서 예비 노드 세트를 시작합니다. 개발 및 테스트를 위해 컬렉션에 대한 중복 활성화 설정을 비활성화할 수 있습니다. 그러면 두 개의 대기 복제본이 제거되고 두 개의 OCU만 인스턴스화됩니다. 기본적으로 중복 활성 복제본이 활성화됩니다. 즉, 계정의 첫 번째 컬렉션에 대해 총 4개의 OCU가 인스턴스화됩니다.
Amazon OpenSearch Serverless 벡터에 대한 고객 관리형 AWS KMS 키 추가의 경우, 고객 관리형 키를 사용하여 벡터 컬렉션의 데이터를 암호화하려면 이 옵션을 선택합니다. 기본적으로 OpenSearch는 AWS 관리형 키를 사용합니다.
-
Amazon S3 콘솔에서 OpenSearch로 내보내기 옵션을 클릭하여 이 프로세스를 시작한 경우, OpenSearch가 다음으로 수행할 단계가 내보내기 세부 정보 섹션에 나열됩니다. 준비가 되면 내보내기를 선택합니다.
OpenSearch Service 콘솔에서이 프로세스를 시작한 경우, OpenSearch가 다음으로 수행할 단계가 가져오기 세부 정보 섹션에 나열됩니다. 준비가 되었으면 가져오기를 선택합니다.
OpenSearch가 기록 페이지를 열어 Amazon S3 Vectors 인덱스의 내보내기/OpenSearch Serverless 인덱스로 가져오기를 모두 표시합니다.
수집에 성공하면 OSI는 OpenSearch에서 내보낸 데이터를 유지하면서 불필요한 비용을 방지하기 위해 파이프라인을 자동으로 중지합니다. CloudWatch 지표를 통해 통합 진행 상황을 모니터링하고, 문제 해결을 위해 자세한 로그에 액세스할 수 있습니다.
OpenSearch 컬렉션은 활성 상태로 유지되며 초기 수집이 완료되면 쿼리에 사용할 수 있습니다. 다음을 수행할 수 있습니다.
-
유사성 검색
-
집계
-
운영 분석