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.
Accès aux données entre régions et entre comptes grâce à la recherche entre clusters
À l'aide de la recherche entre clusters dans Amazon OpenSearch Serverless, vous pouvez effectuer des requêtes et des agrégations sur plusieurs domaines connectés.
La recherche entre clusters dans Amazon OpenSearch Serverless utilise les concepts de domaine source et de domaine de destination. Une demande de recherche entre clusters provient d'un domaine source. Le domaine de destination peut se trouver dans un domaine différent Compte AWS ou Région AWS (ou les deux) pour le domaine source à partir duquel effectuer la requête. À l'aide de la recherche entre clusters, vous pouvez configurer un domaine source à associer à votre OpenSearch interface utilisateur dans le même compte, puis créer des connexions aux domaines de destination. Par conséquent, vous pouvez utiliser l' OpenSearch interface utilisateur avec les données des domaines de destination, même s'ils appartiennent à un autre compte ou à une autre région.
Vous payez les frais de transfert de AWS données standard
Vous pouvez utiliser la recherche entre clusters comme mécanisme permettant d'associer votre OpenSearch interface utilisateur à des clusters d'un autre compte ou d'une autre région. Les demandes entre domaines sont cryptées en transit par défaut dans le cadre du node-to-node chiffrement.
Note
L' OpenSearch outil open source documente également la recherche entre clusters
Plus particulièrement, dans Amazon OpenSearch Serverless, vous configurez les connexions entre clusters à l'aide de requêtes au AWS Management Console lieu d'utilisercURL
. Le service géré utilise AWS Identity and Access Management (IAM) pour l'authentification entre clusters en plus d'un contrôle d'accès précis.
Par conséquent, nous vous recommandons d'utiliser le contenu de cette rubrique pour configurer la recherche entre clusters pour vos domaines plutôt que la OpenSearch documentation open source.
Différences fonctionnelles lors de l'utilisation de la recherche entre clusters
Par rapport aux domaines classiques, les domaines de destination créés à l'aide de la recherche entre clusters présentent les différences fonctionnelles et les exigences suivantes :
-
Vous ne pouvez ni écrire ni exécuter de
PUT
commandes sur le cluster distant. Votre accès au cluster distant est en lecture seule. -
Le domaine source et le domaine de destination doivent tous deux être OpenSearch des domaines. Vous ne pouvez pas connecter un domaine Elasticsearch ou des clusters OpenSearch /Elasticsearch autogérés pour l'interface utilisateur. OpenSearch
-
Un domaine peut avoir un maximum de 20 connexions à d'autres domaines. Cela inclut les connexions sortantes et entrantes.
-
Le domaine source doit se trouver sur une version identique ou supérieure à OpenSearch celle du domaine de destination. Si vous souhaitez configurer des connexions bidirectionnelles entre deux domaines, les deux domaines doivent être dans la même version. Nous vous recommandons de mettre à jour les deux domaines vers la dernière version avant d'établir la connexion. Si vous devez mettre à jour des domaines après avoir configuré la connexion bidirectionnelle, vous devez d'abord supprimer la connexion, puis la recréer par la suite.
-
Vous ne pouvez pas utiliser de dictionnaires personnalisés ou de code SQL avec les clusters distants.
-
Vous ne pouvez pas l'utiliser AWS CloudFormation pour connecter des domaines.
-
Vous ne pouvez pas utiliser la recherche inter-clusters sur des instances M3 ou les instances extensibles (T2 et T3).
-
La recherche entre clusters ne fonctionne pas pour les collections Amazon OpenSearch Serverless.
Conditions requises pour la recherche entre clusters pour l'interface utilisateur OpenSearch
Avant de configurer la recherche entre clusters avec deux OpenSearch domaines, assurez-vous que ceux-ci répondent aux exigences suivantes :
-
Le contrôle d'accès détaillé est activé pour les deux domaines
-
Node-to-node le chiffrement est activé pour les deux domaines
Rubriques
Configuration des autorisations d'accès pour l'accès aux données entre régions et entre comptes grâce à la recherche entre clusters
Lorsque vous envoyez une demande de recherche entre clusters au domaine source, le domaine évalue cette demande par rapport à sa politique d'accès au domaine. La recherche entre clusters nécessite un contrôle d'accès précis. Voici un exemple de politique de libre accès sur le domaine source.
Note
Si vous incluez des index distants dans le chemin, vous devez encoder l'URI en URL dans l'ARN du domaine.
Par exemple, utilisez le format ARN suivant :
:arn:aws:es:us-east-1:111222333444:domain/my-domain/local_index,dst%3Aremote_index
N'utilisez pas le format ARN suivant :
arn:aws:es:us-east-1:111222333444:domain/my-domain/local_index,dst:remote_index.
Si vous choisissez d'utiliser une politique d'accès restrictive en plus d'un contrôle d'accès précis, votre politique doit au moins autoriser l'accès à. es:ESHttpGet
Voici un exemple :
Le contrôle d'accès précis sur le domaine source évalue la demande afin de déterminer si elle est signée avec des informations d'identification de base IAM ou HTTP valides. Si tel est le cas, un contrôle d'accès précis évalue ensuite si l'utilisateur est autorisé à effectuer la recherche et à accéder aux données.
Les autorisations requises pour les recherches sont les suivantes :
-
Si la demande recherche uniquement des données sur le domaine de destination (par exemple
dest-alias:dest-index/_search)
, les autorisations ne sont requises que sur le domaine de destination). -
Si la demande recherche des données sur les deux domaines (par exemple
source-index,dest-alias:dest-index/_search)
, des autorisations sont requises pour les deux domaines). -
Pour utiliser un contrôle d'accès précis, l'autorisation
indices:admin/shards/search_shards
est requise en plus des autorisations de lecture ou de recherche standard pour les index concernés.
Le domaine source transmet la demande au domaine de destination. Le domaine de destination évalue cette demande en fonction de sa stratégie d'accès au domaine. Pour prendre en charge toutes les fonctionnalités de l' OpenSearch interface utilisateur, telles que l'indexation de documents et l'exécution de recherches standard, des autorisations complètes doivent être définies. Voici un exemple de notre politique recommandée pour le domaine de destination :
Si vous souhaitez effectuer uniquement des recherches de base, la politique minimale requise est que l'es:ESCrossClusterGet
autorisation soit appliquée pour le domaine de destination sans prise en charge des caractères génériques. Par exemple, dans la politique précédente, vous devez spécifier le nom de domaine comme /my-destination-domain
et non/my-destination-domain/*
.
Dans ce cas, le domaine de destination effectue la recherche et renvoie les résultats au domaine source. Le domaine source combine ses propres résultats (le cas échéant) avec ceux du domaine de destination et vous les renvoie.
Création d'une connexion entre les domaines
Une connexion de recherche entre clusters est unidirectionnelle entre le domaine source et le domaine de destination. Cela signifie que les domaines de destination (dans un autre compte ou une autre région) ne peuvent pas interroger le domaine source, qui est local dans l' OpenSearch interface utilisateur. Le domaine source crée une connexion sortante vers le domaine de destination. Le domaine de destination reçoit une demande de connexion entrante en provenance du domaine source.

Pour créer une connexion entre des domaines
-
Connectez-vous à la console Amazon OpenSearch Service à la https://console.aws.amazon.com/aos/maison
. -
Dans le volet de navigation de gauche, sélectionnez Domaines.
-
Choisissez le nom du domaine à utiliser comme domaine source, puis cliquez sur l'onglet Connexions.
-
Dans la zone Connexions sortantes, sélectionnez Request.
-
Dans Alias de la connexion, saisissez un nom pour votre connexion. L'alias de connexion est utilisé dans l' OpenSearch interface utilisateur pour sélectionner les domaines de destination.
-
Pour le mode de connexion, choisissez Direct pour les recherches entre clusters ou la réplication.
-
Pour spécifier que la connexion doit ignorer les clusters non disponibles lors d'une recherche, cochez la case Ignorer les clusters non disponibles. Le choix de cette option garantit que vos requêtes inter-clusters renvoient des résultats partiels, indépendamment des défaillances survenant sur un ou plusieurs clusters distants.
-
Pour le cluster de destination, choisissez entre Se connecter à un cluster dans ce cas Compte AWS et Se connecter à un cluster dans un autre Compte AWS.
-
Pour l'ARN du domaine distant, entrez le nom de ressource Amazon (ARN) du cluster. L'ARN du domaine se trouve dans la zone Informations générales de la page détaillée du domaine.
Le domaine doit répondre aux exigences suivantes :
-
L'ARN doit être au format
arn:
. Par exemple :partition
:es:region
account-id
:type
/domain-id
arn:aws:es:us-east-2:111222333444:domain/my-domain
-
Le domaine doit être configuré pour utiliser la OpenSearch version 1.0 (ou ultérieure) ou la version 6.7 (ou ultérieure) d'Elasticsearch.
-
Le contrôle d'accès détaillé doit être activé sur le domaine.
-
Le domaine doit être en cours d'exécution OpenSearch.
-
-
Choisissez Request (Demander).
La recherche inter-clusters valide d'abord la demande de connexion pour s'assurer que les conditions préalables sont remplies. Si les domaines sont incompatibles, la demande de connexion entre dans l'Validation failed
état.
Si la demande de connexion est validée avec succès, elle est envoyée au domaine de destination, où elle doit être approuvée. Jusqu'à ce que cette approbation soit donnée, la connexion reste en bon Pending acceptance
état. Lorsque la demande de connexion sera acceptée au niveau du domaine de destination, l'état passera à Active
et le domaine de destination deviendra disponible pour les demandes.
La page du domaine affiche l'état global du domaine et les détails de l'état de l'instance de votre domaine de destination. Seuls les propriétaires de domaines ont la possibilité de créer, de visualiser, de supprimer et de surveiller les connexions vers ou depuis leurs domaines.
Une fois la connexion établie, tout le trafic qui circule entre les nœuds des domaines connectés est chiffré. Lorsque vous connectez un domaine VPC à un domaine non VPC et que le domaine non VPC est un point de terminaison public pouvant recevoir du trafic en provenance d'Internet, le trafic inter-clusters entre les domaines reste crypté et sécurisé.
Test de votre configuration de sécurité pour l'accès aux données entre régions et entre comptes grâce à la recherche entre clusters
Après avoir configuré les autorisations d'accès pour l'accès aux données entre régions et entre comptes avec la recherche entre clusters, nous vous recommandons de tester la configuration à l'aide Postman
Pour configurer votre configuration de sécurité à l'aide de Postman
-
Dans le domaine de destination, indexez un document. Voici un exemple de demande :
POST https://dst-domain.us-east-1.es.amazonaws.com/books/_doc/1 { "Dracula": "Bram Stoker" }
-
Pour interroger cet index à partir du domaine source, incluez l'alias de connexion du domaine de destination dans la requête. Vous trouverez l'alias de connexion dans l'onglet Connexions du tableau de bord de votre domaine. Voici un exemple de demande et de réponse tronquée :
GET https://src-domain.us-east-1.es.amazonaws.com/
connection_alias
:books/_search { ... "hits": [ { "_index": "source-destination:books", "_type": "_doc", "_id": "1", "_score": 1, "_source": { "Dracula": "Bram Stoker" } } ] } -
(Facultatif) Vous pouvez créer une configuration qui inclut plusieurs domaines dans une seule recherche. Supposons, par exemple, que vous ayez configuré ce qui suit :
Une connexion entre
domain-a
àdomain-b
, avec un alias de connexion nommécluster_b
Une connexion entre
domain-a
àdomain-c
, avec un alias de connexion nommécluster_c
Dans ce cas, vos recherches incluent le contenu
domain-a
domain-b
, etdomain-c
. Voici un exemple de demande et de réponse :Demande
GET https://src-domain.us-east-1.es.amazonaws.com/local_index,cluster_b:b_index,cluster_c:c_index/_search { "query": { "match": { "user": "domino" } } }
Réponse :
{ "took": 150, "timed_out": false, "_shards": { "total": 3, "successful": 3, "failed": 0, "skipped": 0 }, "_clusters": { "total": 3, "successful": 3, "skipped": 0 }, "hits": { "total": 3, "max_score": 1, "hits": [ { "_index": "local_index", "_type": "_doc", "_id": "0", "_score": 1, "_source": { "user": "domino", "message": "This is message 1", "likes": 0 } }, { "_index": "cluster_b:b_index", "_type": "_doc", "_id": "0", "_score": 2, "_source": { "user": "domino", "message": "This is message 2", "likes": 0 } }, { "_index": "cluster_c:c_index", "_type": "_doc", "_id": "0", "_score": 3, "_source": { "user": "domino", "message": "This is message 3", "likes": 0 } } ] } }
Si vous n'avez pas choisi d'ignorer les clusters non disponibles dans la configuration de votre connexion, tous les clusters de destination que vous recherchez doivent être disponibles pour que votre demande de recherche s'exécute correctement. Sinon, la requête entière échoue. Même si l'un des domaines n'est pas disponible, aucun résultat de recherche n'est renvoyé.
Suppression d’une connexion
La suppression d'une connexion arrête toute opération de recherche entre clusters sur le domaine de destination.
Vous pouvez exécuter la procédure suivante sur le domaine source ou de destination pour supprimer la connexion. Une fois la connexion supprimée, elle reste visible avec un statut Deleted
de 15 jours.
Vous ne pouvez pas supprimer un domaine avec des connexions inter-clusters actives. Pour supprimer un domaine, commencez par supprimer toutes ses connexions entrantes et sortantes. Vous vous assurez ainsi de tenir compte des utilisateurs de domaines de clusters croisés avant de supprimer le domaine.
Pour supprimer une connexion
-
Connectez-vous à la console Amazon OpenSearch Service à la https://console.aws.amazon.com/aos/maison
. -
Dans le volet de navigation de gauche, sélectionnez Domaines.
-
Choisissez le nom du domaine à supprimer, puis cliquez sur l'onglet Connexions.
-
Sélectionnez le nom de la connexion à supprimer.
-
Choisissez Supprimer, puis confirmez la suppression.