(Versión preliminar) Importación desde Amazon S3 Vectors a OpenSearch sin servidor - Amazon OpenSearch Service

(Versión preliminar) Importación desde Amazon S3 Vectors a OpenSearch sin servidor

importante

La integración de Amazon S3 Vectors con OpenSearch Service se encuentra en versión preliminar y está sujeta a cambios.

Amazon S3 Vectors ofrece el primer almacén de objetos en la nube con compatibilidad nativa para almacenar y consultar vectores. S3 Vectors proporciona un almacenamiento vectorial rentable, elástico y duradero que se puede consultar en función del significado y la similitud semánticos. Ofrece tiempos de respuesta a las consultas inferiores a un segundo y reduce los costos de carga, almacenamiento y consulta de vectores hasta un 90 %.

Amazon S3 Vectors presenta buckets vectoriales S3, que puede utilizar para almacenar y consultar datos vectoriales, así como acceder a ellos, sin aprovisionar ninguna infraestructura. En un bucket vectorial, puede organizar los datos vectoriales en índices vectoriales. Su bucket vectorial puede tener varios índices vectoriales y cada índice vectorial puede contener millones de vectores. Para obtener más información, consulte Cómo trabajar con Amazon S3 Vectors y buckets de vectores en la Guía del usuario de Amazon S3.

Cada vector se compone de los siguientes elementos:

  • Clave única

  • Datos vectoriales

  • Metadatos opcionales en formato JSON

Los índices vectoriales admiten las funciones de distancia euclidiana y cosenoidal para las operaciones de búsqueda de similitudes.

nota

La principal ventaja de los buckets de vectores es su capacidad para almacenar conjuntos de datos masivos a un costo extremadamente bajo y, al mismo tiempo, proporcionar acceso directo a la API para las operaciones con vectores.

Para obtener más información sobre los buckets de Amazon S3 Vectors, incluido cómo crear uno, consulte Uso de vectores y buckets de Amazon S3 Vectors en la Guía del usuario de Amazon S3. Para obtener más información sobre la integración con OpenSearch Service además de lo que se describe en este tema, consulte Uso de vectores de S3 con OpenSearch Service

Puede usar S3 Vectors con Amazon OpenSearch Service para reducir el costo del almacenamiento vectorial cuando las consultas son menos frecuentes y, después, mover rápidamente esos conjuntos de datos a OpenSearch a medida que aumente la demanda o para mejorar las capacidades de búsqueda.

OpenSearch Service se integra con Amazon S3 Vectors para ofrecer un rendimiento y una funcionalidad mejorados que van más allá de lo que ofrecen los buckets Amazon S3 Vectors por sí solos. Considere esta integración cuando necesite:

  • Consultas de mayor rendimiento

  • Latencia de búsqueda de menos de un segundo

  • Capacidades de análisis avanzadas, como las agregaciones

  • Búsqueda híbrida que combina datos de texto y vectores

Esta integración es particularmente útil cuando varias aplicaciones consumen los mismos datos de vectores con diferentes requisitos de rendimiento. Puede hacer que algunas aplicaciones interactúen directamente con los buckets de Amazon S3 Vectors para casos de uso sensibles a los costos, mientras que otras aprovechan la integración de OpenSearch para operaciones de rendimiento crítico.

Arquitecturas de integración

La integración utiliza Amazon OpenSearch Ingestion (OSI) como canalización de datos entre los índices vectoriales de Amazon S3 y las colecciones vectoriales de Amazon OpenSearch sin servidor. OpenSearch Ingestion exporta automáticamente los datos vectoriales del índice vectorial especificado y los ingiere en las colecciones vectoriales de OpenSearch sin servidor para realizar operaciones de búsqueda de alto rendimiento.

nota

Tras la exportación, los datos siguen presentes en el índice vectorial S3. Tiene dos copias de los datos.

Cada índice vectorial se asigna a un índice correspondiente de la colección de OpenSearch Service. En la integración:

  • Conserva las dimensiones vectoriales

  • Conserva los metadatos

  • Optimice la estructura de datos para las capacidades de búsqueda vectorial de OpenSearch

Tras la configuración, OpenSearch Ingestion comienza el proceso de exportación de datos consumiendo los vectores del índice vectorial especificado mediante la API ListVectors de Amazon S3. El servicio procesa los vectores en paralelo para optimizar la velocidad de ingesta y, al mismo tiempo, respeta los límites de escalado de OpenSearch Ingestion y Amazon OpenSearch sin servidor.

Durante la ingesta, el servicio hace lo siguiente:

  • Transforma los datos de vectores para que coincidan con el formato esperado para OpenSearch Service

  • Conserva la información esencial, incluidos los valores de vectores, los metadatos y las métricas de distancia

  • Maneja los escenarios de fallo mediante mecanismos de reintento inteligentes

  • Coloca los registros problemáticos en un bucket de Amazon S3 que se utiliza como cola de mensajes fallidos para su posterior análisis

La integración gestiona conjuntos de datos masivos de manera eficiente y el rendimiento depende de las dimensiones de vectores, el tamaño del conjunto de datos y los límites de escalado configurados. OSI puede escalar verticalmente hasta 16 trabajadores por canalización, mientras que OpenSearch sin servidor ajusta automáticamente la capacidad en función de las demandas de ingesta. De forma predeterminada, OpenSearch aumenta a 100 la unidad computacional (OCU) maxSearch en OpenSearch sin servidor.

nota

La integración prioriza la rentabilidad mediante:

  • Cierre automático de la canalización una vez finalizada la exportación

  • Colección escalable OpenSearch sin servidor

  • Modelo de recursos de pago por uso

Permisos de IAM necesarios

La integración requiere una configuración cuidadosa de los permisos de IAM para permitir una comunicación segura entre los servicios. OpenSearch Ingestion necesita permisos para leer los índices vectoriales de Amazon S3, escribir en las colecciones vectoriales de OpenSearch Service y administrar las políticas de seguridad asociadas.

Al habilitar la integración mediante el procedimiento que se describe más adelante en este tema, puede elegir una de las siguientes opciones para la administración de permisos:

  • Permita que el sistema cree automáticamente un rol de servicio con los permisos necesarios

  • Proporcione un rol existente que cumpla con los requisitos

El rol creado automáticamente incluye políticas para:

  • Acceso a las API de índices de Amazon S3 Vectors

  • Administrar las operaciones de recopilación de OpenSearch Service

  • Administración de las operaciones de cola de mensajes fallidos en caso de intentos de ingesta fallidos

Si decide especificar un rol existente, compruebe que dicho rol tenga los siguientes permisos de IAM:

(Obligatorio): permisos de canalización de datos entre OpenSearch Ingestion y OpenSearch sin servidor

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "allowAPIs", "Effect": "Allow", "Action": [ "aoss:APIAccessAll", "aoss:BatchGetCollection" ], "Resource": [ "arn:aws:aoss:*:111122223333:collection/collection-id" ] }, { "Sid": "allowSecurityPolicy", "Effect": "Allow", "Action": [ "aoss:CreateSecurityPolicy", "aoss:UpdateSecurityPolicy", "aoss:GetSecurityPolicy" ], "Resource": "*", "Condition":{ "StringLike":{ "aoss:collection": [ "collection-name" ] }, "StringEquals": { "aws:ResourceAccount": [ "111122223333" ] } } } ] }

(Obligatorio): permisos de ingesta de datos entre OpenSearch Ingestion y Amazon S3 (cola de mensajes fallidos)

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "s3Access", "Effect": "Allow", "Action": [ "s3:PutObject" ], "Resource": [ "arn:aws:s3:::bucket/*" ] } ] }

(Obligatorio): permisos de ingesta de datos entre OpenSearch Ingestion y Amazon S3 Vectors

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "AllowS3VectorIndexAccess", "Effect": "Allow", "Action": [ "s3vectors:ListVectors", "s3vectors:GetVectors" ], "Resource": [ "arn:aws:s3vectors:us-east-1:111122223333:bucket/bucket-name/index/index-name" ] } ] }

(Obligatorio si el cifrado AWS KMS está activado): permisos de descifrado para la comunicación entre OpenSearch Ingestion y Amazon S3 Vectors

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "allowS3VectorDecryptionOfCustomManagedKey", "Effect": "Allow", "Action": [ "kms:Decrypt" ], "Resource": [ "arn:aws:kms:us-east-1:111122223333:key/key-id" ], "Condition": { "StringEquals": { "kms:ViaService": "s3vectors.us-east-1.amazonaws.com", "kms:EncryptionContext:aws:s3vectors:arn": "arn:aws:s3vectors:us-east-1:111122223333:bucket/example-bucket" } } } ] }

Configuración de la integración de Amazon S3 Vectors con OpenSearch

Utilice el siguiente procedimiento para configurar la integración de Amazon S3 Vectors con OpenSearch sin servidor.

nota

Si ha iniciado el proceso de configuración de la integración desde la consola de Amazon S3 seleccionando la opción Exportar a OpenSearch en la página de Bucket de vector, algunos de los pasos del siguiente procedimiento no son aplicables, como se indica en el procedimiento.

Para configurar la integración de Amazon S3 Vectors con OpenSearch sin servidor
  1. Abra la página Importar el índice vectorial de S3 al motor vectorial OpenSearch en la consola de Amazon OpenSearch Service. La página se muestra automáticamente si ha hecho clic en Exportar a OpenSearch en la consola de Amazon S3. Si está comenzando en la consola de OpenSearch, seleccione Integración en el menú de navegación de la izquierda y, a continuación, seleccione Importar índice vectorial de S3.

  2. En la sección Source, si comenzó en la consola de Amazon S3, compruebe que el nombre del índice vectorial y su nombre de recurso de Amazon (ARN) ya estén especificados. Si comenzó en la consola OpenSearch, introduzca el ARN del índice en el campo ARN del índice vectorial S3.

  3. En la sección Agregar cuentas elija una opción. Si elige un rol existente, verifique que tenga todos los permisos necesarios para la integración, como se describe en Permisos de IAM necesarios.

  4. (Opcional) Amplíe Configuración adicional. Para Habilitar la redundancia (réplicas activas), recomendamos dejar esta opción seleccionada para los entornos de producción. Al crear su primera colección, OpenSearch sin servidor crea una instancia de dos OCU: una para la indexación y otra para la búsqueda. Para garantizar la alta disponibilidad, también lanza un conjunto de nodos en espera en otra zona de disponibilidad. Para fines de desarrollo y pruebas, puede deshabilitar la configuración Habilitar redundancia para una colección, lo que elimina las dos réplicas en espera y solo crea una instancia de dos OCU. De forma predeterminada, las réplicas activas redundantes están habilitadas, lo que significa que se crean instancias para un total de cuatro OCU para la primera colección de una cuenta.

    En Agregar clave de AWS KMS administrada por el cliente para el vector de Amazon OpenSearch sin servidor, elija esta opción para cifrar los datos de la colección vectorial mediante una clave administrada por el cliente. De forma predeterminada, OpenSearch usa una Clave administrada de AWS.

  5. Si ha iniciado este proceso haciendo clic en la opción Exportar a OpenSearch en la consola de Amazon S3, en la sección Detalles de exportación se enumeran los pasos que OpenSearch realizará a continuación. Cuando esté listo para continuar, seleccione Exportar.

    Si inició este proceso en la consola de OpenSearch Service, en la sección Detalles de importación se enumeran los pasos que OpenSearch realizará a continuación. Cuando esté listo para continuar, elija Importar.

    OpenSearch abre la página de historial para mostrar todas las exportaciones/importaciones de índices vectoriales de Amazon S3 a índices de OpenSearch sin servidor.

Tras una ingesta correcta, OSI detiene automáticamente la canalización para evitar costos innecesarios y, al mismo tiempo, mantener los datos exportados en OpenSearch. Puede supervisar el progreso de la integración mediante las métricas de CloudWatch y acceder a registros detallados para solucionar problemas.

La colección OpenSearch permanece activa y disponible para consultas una vez completada la ingesta inicial. Puede realizar:

  • Búsqueda de similitud

  • Agregaciones

  • Análisis operativo