As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Acesso a dados entre regiões e contas com pesquisa entre clusters
Usando a pesquisa entre clusters no Amazon OpenSearch Serverless, você pode realizar consultas e agregações em vários domínios conectados.
A pesquisa entre clusters no Amazon OpenSearch Serverless usa os conceitos de domínio de origem e domínio de destino. Uma solicitação de pesquisa entre clusters é originada de um domínio de origem. O domínio de destino pode estar em um domínio diferente Conta da AWS ou Região da AWS (ou ambos) do domínio de origem para consulta. Usando a pesquisa entre clusters, você pode configurar um domínio de origem para associar à sua OpenSearch interface de usuário na mesma conta e, em seguida, criar conexões com os domínios de destino. Como resultado, você pode usar a OpenSearch interface do usuário com dados dos domínios de destino, mesmo se eles estiverem em uma conta ou região diferente.
Você paga taxas de transferência de AWS dados padrão
Você pode usar a pesquisa entre clusters como mecanismo para que sua OpenSearch interface de usuário seja associada a clusters em uma conta ou região diferente. As solicitações entre domínios são criptografadas em trânsito por padrão como parte da node-to-node criptografia.
nota
A OpenSearch ferramenta de código aberto também documenta a pesquisa entre clusters
Mais notavelmente, no Amazon OpenSearch Serverless, você configura conexões entre clusters usando o AWS Management Console em vez de usar solicitações. cURL
O serviço gerenciado usa AWS Identity and Access Management (IAM) para autenticação entre clusters, além do controle de acesso refinado.
Portanto, recomendamos usar o conteúdo deste tópico para configurar a pesquisa entre clusters para seus domínios em vez da documentação de código OpenSearch aberto.
Diferenças funcionais ao usar a pesquisa entre clusters
Em comparação com os domínios regulares, os domínios de destino criados usando a pesquisa entre clusters têm as seguintes diferenças e requisitos funcionais:
-
Você não pode gravar nem executar
PUT
comandos no cluster remoto. Seu acesso ao cluster remoto é somente para leitura. -
Tanto o domínio de origem quanto o de destino devem ser OpenSearch domínios. Você não pode conectar um domínio do Elasticsearch ou clusters autogerenciados do OpenSearch /Elasticsearch para interface do usuário. OpenSearch
-
Um domínio pode ter no máximo 20 conexões com outros domínios. Isso inclui conexões de saída e entrada.
-
O domínio de origem deve estar na mesma versão ou em uma versão superior à OpenSearch do domínio de destino. Se você quiser configurar conexões bidirecionais entre dois domínios, os dois domínios devem estar na mesma versão. Recomendamos atualizar os dois domínios para a versão mais recente antes de fazer a conexão. Se você precisar atualizar domínios depois de configurar a conexão bidirecional, primeiro exclua a conexão e depois recrie-a.
-
Você não pode usar dicionários personalizados ou SQL com os clusters remotos.
-
Você não pode usar AWS CloudFormation para conectar domínios.
-
Não é possível usar a pesquisa entre clusters em instâncias M3 ou expansíveis (T2 e T3).
-
A pesquisa entre clusters não funciona para coleções Amazon OpenSearch Serverless.
Pré-requisitos de pesquisa entre clusters para UI OpenSearch
Antes de configurar a pesquisa entre clusters com dois OpenSearch domínios, certifique-se de que seus domínios atendam aos seguintes requisitos:
-
O controle de acesso refinado está habilitado para ambos os domínios
-
Node-to-node a criptografia está habilitada para ambos os domínios
Tópicos
Configurando permissões de acesso para acesso a dados entre regiões e contas com pesquisa entre clusters
Quando você envia uma solicitação de pesquisa entre clusters para o domínio de origem, o domínio avalia essa solicitação em relação à sua política de acesso ao domínio. A pesquisa entre clusters exige um controle de acesso refinado. Veja a seguir um exemplo com uma política de acesso aberto no domínio de origem.
nota
Se você incluir índices remotos no caminho, deverá codificar em URL o URI no ARN do domínio.
Por exemplo, use o seguinte formato ARN:
:arn:aws:es:us-east-1:111222333444:domain/my-domain/local_index,dst%3Aremote_index
Não use o seguinte formato ARN:
arn:aws:es:us-east-1:111222333444:domain/my-domain/local_index,dst:remote_index.
Se você optar por usar uma política de acesso restritiva, além do controle de acesso refinado, sua política deverá, no mínimo, permitir o acesso a. es:ESHttpGet
Veja um exemplo a seguir:
O controle de acesso refinado no domínio de origem avalia a solicitação para determinar se ela está assinada com credenciais básicas de IAM ou HTTP válidas. Se estiver, o controle de acesso refinado avalia em seguida se o usuário tem permissão para realizar a pesquisa e acessar os dados.
A seguir estão os requisitos de permissão para pesquisas:
-
Se a solicitação pesquisar somente dados no domínio de destino (por exemplo,)
dest-alias:dest-index/_search)
, as permissões serão necessárias somente no domínio de destino. -
Se a solicitação pesquisar dados em ambos os domínios (por exemplo,
source-index,dest-alias:dest-index/_search)
, permissões em ambos os domínios). -
Para usar um controle de acesso refinado, a permissão
indices:admin/shards/search_shards
é necessária, além das permissões padrão de leitura ou pesquisa para os índices relevantes.
O domínio de origem passa a solicitação para o domínio de destino. O domínio de destino avalia essa solicitação em relação à política de acesso ao domínio. Para oferecer suporte a todos os recursos da OpenSearch interface do usuário, como indexação de documentos e realização de pesquisas padrão, é necessário definir permissões completas. Veja a seguir um exemplo de nossa política recomendada sobre o domínio de destino:
Se você quiser realizar somente pesquisas básicas, o requisito mínimo de política é que a es:ESCrossClusterGet
permissão seja aplicada ao domínio de destino sem suporte a caracteres curinga. Por exemplo, na política anterior, você especificaria o nome do domínio como /my-destination-domain
e não/my-destination-domain/*
.
Nesse caso, o domínio de destino realiza a pesquisa e retorna os resultados para o domínio de origem. O domínio de origem combina seus próprios resultados (se houver) com os resultados do domínio de destino e os retorna para você.
Criando uma conexão entre domínios
Uma conexão de pesquisa entre clusters é unidirecional do domínio de origem para o domínio de destino. Isso significa que os domínios de destino (em uma conta ou região diferente) não podem consultar o domínio de origem, que é local para a OpenSearch interface do usuário. O domínio de origem cria uma conexão de saída com o domínio de destino. O domínio de destino recebe uma solicitação de conexão de entrada do domínio de origem.

Para criar uma conexão entre domínios
-
Faça login no console do Amazon OpenSearch Service em https://console.aws.amazon.com/aos/casa
. -
No painel de navegação à esquerda, escolha Domínios.
-
Escolha o nome de um domínio para servir como domínio de origem e, em seguida, escolha a guia Conexões.
-
Na área Conexões de saída, escolha Solicitar.
-
Em Alias de conexão, insira um nome para a conexão. O alias de conexão é usado na OpenSearch interface do usuário para selecionar os domínios de destino.
-
No modo Conexão, escolha Direto para pesquisas ou replicação entre clusters.
-
Para especificar que a conexão deve ignorar clusters indisponíveis durante uma pesquisa, selecione a caixa Ignorar clusters indisponíveis. A escolha dessa opção garante que suas consultas entre clusters retornem resultados parciais, independentemente de falhas em um ou mais clusters remotos.
-
Para Cluster de destino, escolha entre Conectar a um cluster neste Conta da AWS e Conectar-se a um cluster em outro Conta da AWS.
-
Em Remote domain ARN, insira o Amazon Resource Name (ARN) para o cluster. O ARN do domínio pode estar localizado na área Informações gerais da página de detalhes do domínio.
O domínio deve atender aos seguintes requisitos:
-
O ARN deve estar no formato.
arn:
Por exemplo:partition
:es:region
account-id
:type
/domain-id
arn:aws:es:us-east-2:111222333444:domain/my-domain
-
O domínio deve ser configurado para usar a OpenSearch versão 1.0 (ou posterior) ou a versão 6.7 do Elasticsearch (ou posterior).
-
O controle de acesso refinado deve estar ativado no domínio.
-
O domínio deve estar em execução OpenSearch.
-
-
Escolha Solicitar.
A pesquisa entre clusters primeiro valida a solicitação de conexão para ter certeza de que os pré-requisitos são atendidos. Se os domínios forem incompatíveis, a solicitação de conexão entrará no Validation failed
estado.
Se a solicitação de conexão for validada com êxito, ela será enviada ao domínio de destino, onde deverá ser aprovada. Até que essa aprovação seja dada, a conexão permanece em um Pending acceptance
estado. Quando a solicitação de conexão é aceita no domínio de destino, o estado muda para Active
e o domínio de destino torna-se disponível para consultas.
A página de domínio mostra os detalhes gerais da integridade do domínio e da instância do domínio de destino. Os proprietários de domínios têm a flexibilidade de criar, visualizar, remover e monitorar conexões de saída e de entrada de seus domínios.
Depois que a conexão é estabelecida, qualquer tráfego que flua entre os nós dos domínios conectados é criptografado. Quando você conecta um domínio VPC a um domínio não VPC e o domínio não VPC é um endpoint público que pode receber tráfego da Internet, o tráfego entre clusters entre os domínios ainda é criptografado e seguro.
Testando sua configuração de segurança para acesso a dados entre regiões e contas com pesquisa entre clusters
Depois de configurar as permissões de acesso para acesso a dados entre regiões e contas com a pesquisa entre clusters, recomendamos testar a configuração usando Postman
Para definir sua configuração de segurança usando Postman
-
No domínio de destino, indexe um documento. Veja a seguir um exemplo de solicitação:
POST https://dst-domain.us-east-1.es.amazonaws.com/books/_doc/1 { "Dracula": "Bram Stoker" }
-
Para consultar esse índice do domínio de origem, inclua o alias de conexão do domínio de destino dentro da consulta. Você pode encontrar o alias de conexão na guia Conexões no painel do domínio. Veja a seguir um exemplo de solicitação e resposta truncada:
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" } } ] } -
(Opcional) Você pode criar uma configuração que inclua vários domínios em uma única pesquisa. Por exemplo, digamos que você configurou o seguinte:
Uma conexão entre
domain-a
atédomain-b
, com um alias de conexão chamadocluster_b
Uma conexão entre
domain-a
adomain-c
, com um alias de conexão chamadocluster_c
Nesse caso, suas pesquisas incluem o conteúdo
domain-a
domain-b
,domain-c
e. Veja a seguir um exemplo de solicitação e resposta:Solicitação
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" } } }
Resposta:
{ "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 } } ] } }
Se você não optou por ignorar clusters indisponíveis na sua configuração de conexão, todos os clusters de destino na sua pesquisa precisam estar disponíveis para que sua solicitação de pesquisa seja executada com êxito. Caso contrário, toda a solicitação falhará — mesmo que um dos domínios não esteja disponível, nenhum resultado da pesquisa será retornado.
Excluir uma conexão
A exclusão de uma conexão interrompe qualquer operação de pesquisa entre clusters no domínio de destino.
Você pode executar o procedimento a seguir no domínio de origem ou de destino para remover a conexão. Depois de remover a conexão, ela permanece visível com um status Deleted
de 15 dias.
Não é possível excluir um domínio com conexões ativas entre clusters. Para excluir um domínio, primeiro remova todas as conexões de entrada e saída desse domínio. Isso garante que você leve em consideração os usuários de domínio entre clusters antes de excluir o domínio.
Para excluir uma conexão
-
Faça login no console do Amazon OpenSearch Service em https://console.aws.amazon.com/aos/casa
. -
No painel de navegação à esquerda, escolha Domínios.
-
Escolha o nome de um domínio a ser excluído e, em seguida, escolha a guia Conexões.
-
Selecione o nome de uma conexão a ser excluída.
-
Escolha Excluir e confirme a exclusão.