(Version préliminaire) Importation depuis des vecteurs Amazon S3 vers OpenSearch Serverless - Amazon OpenSearch Service

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

(Version préliminaire) Importation depuis des vecteurs Amazon S3 vers OpenSearch Serverless

Important

L'intégration d'Amazon S3 Vectors au OpenSearch service est en version préliminaire et est sujette à modification.

Amazon S3 Vectors propose le premier magasin d'objets cloud doté d'un support natif pour stocker et interroger des vecteurs. S3 Vectors fournit un stockage vectoriel économique, élastique et durable qui peut être interrogé en fonction de la signification sémantique et de la similitude. Il fournit des temps de réponse aux requêtes inférieurs à la seconde et réduit jusqu'à 90 % les coûts de téléchargement, de stockage et d'interrogation de vecteurs.

Amazon S3 Vectors introduit les compartiments vectoriels S3, que vous pouvez utiliser pour stocker, accéder et interroger des données vectorielles sans fournir d'infrastructure. Dans un bucket vectoriel, vous pouvez organiser vos données vectorielles dans des index vectoriels. Votre compartiment vectoriel peut comporter plusieurs index vectoriels, et chaque index vectoriel peut contenir des millions de vecteurs. Pour plus d'informations, consultez la section Utilisation des vecteurs et des compartiments vectoriels Amazon S3 dans le guide de l'utilisateur Amazon S3.

Chaque vecteur est composé de :

  • Une clé unique

  • Données vectorielles

  • Métadonnées facultatives au format JSON

Les index vectoriels prennent en charge les fonctions de distance euclidienne et cosinusoïdale pour les opérations de recherche de similarité.

Note

Le principal avantage des compartiments vectoriels est leur capacité à stocker des ensembles de données massifs à un coût extrêmement bas tout en fournissant un accès direct aux API pour les opérations vectorielles.

Pour plus d'informations sur les compartiments vectoriels Amazon S3, notamment sur la façon d'en créer un, consultez la section Utilisation des vecteurs et des compartiments vectoriels Amazon S3 dans le guide de l'utilisateur Amazon S3. Pour plus d'informations sur l'intégration avec OpenSearch Service au-delà de ce qui est décrit dans cette rubrique, voir Utilisation de vecteurs S3 avec OpenSearch Service

Vous pouvez utiliser S3 Vectors avec Amazon OpenSearch Service pour réduire le coût du stockage vectoriel lorsque les requêtes sont moins fréquentes, puis déplacer rapidement ces ensembles de données à OpenSearch mesure que les demandes augmentent ou pour améliorer les capacités de recherche.

OpenSearch Le service s'intègre aux vecteurs Amazon S3 pour fournir des performances et des fonctionnalités améliorées au-delà de ce que les compartiments vectoriels Amazon S3 offrent en eux-mêmes. Envisagez cette intégration lorsque vous avez besoin de :

  • Débit de requêtes supérieur

  • Latence de recherche inférieure à une seconde

  • Fonctionnalités d'analyse avancées telles que les agrégations

  • Recherche hybride combinant des données textuelles et vectorielles

Cette intégration est particulièrement utile lorsque plusieurs applications consomment les mêmes données vectorielles avec des exigences de performance différentes. Certaines applications peuvent interagir directement avec les compartiments vectoriels Amazon S3 pour les cas d'utilisation sensibles aux coûts, tandis que d'autres tirent parti de l' OpenSearch intégration pour les opérations critiques en termes de performances.

Architecture d'intégration

L'intégration utilise Amazon OpenSearch Ingestion (OSI) comme pipeline de données entre les index vectoriels Amazon S3 et les collections de vecteurs Amazon OpenSearch Serverless. OpenSearch L'ingestion exporte automatiquement les données vectorielles à partir de l'index vectoriel que vous avez spécifié et les intègre dans des collections vectorielles OpenSearch sans serveur pour des opérations de recherche performantes.

Note

Après l'exportation, vos données sont toujours présentes dans l'index vectoriel S3. Vous disposez de deux copies des données.

Chaque index vectoriel correspond à un index correspondant dans la collection OpenSearch Service. L'intégration :

  • Préserve les dimensions du vecteur

  • Conserve les métadonnées

  • Optimise la structure des données pour les OpenSearch capacités de recherche vectorielle

Après la configuration, OpenSearch Ingestion lance le processus d'exportation des données en consommant des vecteurs issus de l'index vectoriel spécifié à l'aide de l' ListVectorsAPI Amazon S3. Le service traite les vecteurs en parallèle afin d'optimiser la vitesse d'ingestion tout en respectant les limites d'échelle d' OpenSearch Ingestion et d'Amazon OpenSearch Serverless.

Pendant l'ingestion, le service :

  • Transforme les données vectorielles pour qu'elles correspondent au format attendu pour le OpenSearch service

  • Préserve les informations essentielles, notamment les valeurs vectorielles, les métadonnées et les mesures de distance

  • Gère les scénarios de défaillance grâce à des mécanismes de relance intelligents

  • Place les enregistrements problématiques dans un compartiment Amazon S3 utilisé comme file d'attente de lettres mortes pour une analyse ultérieure

L'intégration gère efficacement des ensembles de données volumineux, les performances dépendant des dimensions du vecteur, de la taille du jeu de données et des limites de mise à l'échelle configurées. L'OSI peut faire évoluer jusqu'à 16 travailleurs par pipeline, tandis que OpenSearch Serverless ajuste automatiquement la capacité en fonction des demandes d'ingestion. Par défaut, OpenSearch augmente l'unité de maxSearch OpenSearch calcul (OCU) du côté OpenSearch Serverless à 100.

Note

L'intégration donne la priorité à la rentabilité grâce à :

  • Arrêt automatique du pipeline une fois l'exportation terminée

  • OpenSearch Dimensionnement des collections sans serveur

  • Pay-per-use modèle de ressources

Autorisations IAM requises

L'intégration nécessite une configuration minutieuse des autorisations IAM afin de permettre une communication sécurisée entre les services. OpenSearch L'ingestion nécessite des autorisations pour lire des index vectoriels Amazon S3, écrire dans des collections de vecteurs de OpenSearch service et gérer les politiques de sécurité associées.

Lorsque vous activez l'intégration à l'aide de la procédure décrite plus loin dans cette rubrique, vous pouvez choisir l'une des options suivantes pour la gestion des autorisations :

  • Autoriser le système à créer automatiquement un rôle de service avec les autorisations nécessaires

  • Fournir un rôle existant qui répond aux exigences

Le rôle créé automatiquement inclut des politiques pour :

  • Accès à l'index vectoriel Amazon S3 APIs

  • Gestion des opérations OpenSearch de collecte des services

  • Gestion des opérations de file d'attente en cas d'échec des tentatives d'ingestion

Si vous choisissez de spécifier un rôle existant, vérifiez que le rôle dispose des autorisations IAM suivantes :

(Obligatoire) : autorisations de pipeline de données entre OpenSearch Ingestion et OpenSearch Serverless

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

(Obligatoire) : autorisations d'ingestion de données entre OpenSearch Ingestion et file d'attente de lettres mortes Amazon S3

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

(Obligatoire) : autorisations d'ingestion de données entre OpenSearch Ingestion et Amazon S3 Vectors

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowS3VectorIndexAccess", "Effect": "Allow", "Action": [ "s3vectors:ListVectors", "s3vectors:GetVectors" ], "Resource": [ "arn:aws:s3vectors:region:account-id:bucket/bucket-name/index/index-name" ] } ] }

(Obligatoire si AWS KMS le chiffrement est activé) : autorisations de déchiffrement pour la communication entre OpenSearch Ingestion et Amazon S3 Vectors

{ "Version": "2012-10-17", "Statement": [ { "Sid": "allowS3VectorDecryptionOfCustomManagedKey", "Effect": "Allow", "Action": [ "kms:Decrypt" ], "Resource": [ "arn:aws:kms:region:account-id:key/key-id" ], "Condition": { "StringEquals": { "kms:ViaService": "s3vectors.region.amazonaws.com", "kms:EncryptionContext:aws:s3vectors:arn": "arn:aws:s3vectors:region:account-id:bucket/bucket-name" } } } ] }

Configuration de l'intégration des vecteurs Amazon S3 avec OpenSearch

Utilisez la procédure suivante pour configurer l'intégration d'Amazon S3 Vectors avec OpenSearch Serverless.

Note

Si vous avez entamé le processus de configuration de l'intégration depuis la console Amazon S3 en choisissant l' OpenSearchoption Exporter vers sur la page des compartiments vectoriels, certaines des étapes de la procédure suivante ne sont pas applicables, comme indiqué dans la procédure.

Pour configurer l'intégration d'Amazon S3 Vectors avec OpenSearch Serverless
  1. Ouvrez la page Importer l'index OpenSearch vectoriel S3 vers le moteur vectoriel dans la console Amazon OpenSearch Service. La page s'affiche automatiquement si vous avez cliqué sur Exporter vers OpenSearch dans la console Amazon S3. Si vous démarrez dans la OpenSearch console, choisissez Integration dans le menu de navigation de gauche, puis choisissez Importer l'index vectoriel S3.

  2. Dans la section Source, si vous avez débuté dans la console Amazon S3, vérifiez que le nom de l'index vectoriel et son Amazon Resource Name (ARN) sont déjà spécifiés. Si vous avez commencé dans la OpenSearch console, entrez l'ARN de l'index dans le champ ARN de l'index vectoriel S3.

  3. Dans la section Accès au service, choisissez une option. Si vous choisissez un rôle existant, vérifiez qu'il dispose de toutes les autorisations requises pour l'intégration, comme décrit dansAutorisations IAM requises.

  4. (Facultatif) Développez Additional settings (Paramètres supplémentaires). Pour Activer la redondance (répliques actives), nous vous recommandons de laisser cette option sélectionnée pour les environnements de production. Lorsque vous créez votre première collection, OpenSearch Serverless en instancie deux, l'une pour l'indexation OCUs et l'autre pour la recherche. Afin de garantir une haute disponibilité, il lance également un ensemble de nœuds de secours dans une autre zone de disponibilité. À des fins de développement et de test, vous pouvez désactiver le paramètre Activer la redondance pour une collection, ce qui élimine les deux répliques de secours et n'en instancie que deux. OCUs Par défaut, les répliques actives redondantes sont activées, ce qui signifie qu'un total de quatre répliques OCUs sont instanciées pour la première collection d'un compte.

    Pour Ajouter une AWS KMS clé gérée par le client pour le vecteur Amazon OpenSearch Serverless, choisissez cette option pour chiffrer les données de la collection vectorielle à l'aide d'une clé gérée par le client. Par défaut, OpenSearch utilise un Clé gérée par AWS.

  5. Si vous avez lancé ce processus en cliquant sur l' OpenSearchoption Exporter vers dans la console Amazon S3, la section Détails de l'exportation répertorie OpenSearch les étapes à suivre. Lorsque vous êtes prêt, choisissez Exporter.

    Si vous avez lancé ce processus dans la console de OpenSearch service, la section Détails de l'importation répertorie OpenSearch les étapes à suivre. Lorsque vous êtes prêt, choisissez Importer.

    OpenSearch ouvre la page d'historique pour afficher tous les exports/imports index vectoriels Amazon S3 sous forme d'index OpenSearch sans serveur.

Une fois l'ingestion réussie, OSI arrête automatiquement le pipeline pour éviter des coûts inutiles tout en conservant les données exportées. OpenSearch Vous pouvez suivre la progression de l'intégration à l'aide de CloudWatch métriques et accéder à des journaux détaillés pour résoudre les problèmes.

La OpenSearch collection reste active et disponible pour les requêtes une fois l'ingestion initiale terminée. Vous pouvez effectuer :

  • Recherches de similarité

  • Agrégations

  • Opérations d'analyse