Migração de dados entre domínios e coleções usando o Amazon OpenSearch Ingestion - Amazon OpenSearch Service

Migração de dados entre domínios e coleções usando o Amazon OpenSearch Ingestion

É possível usar pipelines do OpenSearch Ingestion para migrar dados entre domínios do Amazon OpenSearch Service ou coleções de VPC do OpenSearch sem Servidor. Para fazer isso, você define um pipeline no qual configura um domínio ou coleção como origem e outro domínio ou coleção como coletor. Isso migra efetivamente seus dados de um domínio ou coleção para outro.

Para migrar dados, você deve ter os seguintes recursos:

  • Um domínio de origem do OpenSearch Service ou uma coleção da VPC de origem do OpenSearch sem Servidor. Esse domínio ou coleção contém os dados que você deseja migrar. Se você estiver usando um domínio, ele deve estar executando o OpenSearch versão 1.0 ou posterior ou o Elasticsearch versão 7.4 ou posterior. O domínio também deve ter uma política de acesso que conceda as permissões apropriadas à sua perfil de pipeline.

  • Um domínio separado ou coleção da VPC para o qual você deseja migrar seus dados. Esse domínio ou coleção funcionará como o coletor do pipeline.

  • Um perfil do pipeline que o OpenSearch Ingestion usará para ler e gravar na coleção ou no domínio. Inclua o nome do recurso da Amazon (ARN) deste perfil na configuração do pipeline. Para obter mais informações, consulte os seguintes recursos:

Limitações

As seguintes limitações são aplicáveis ao designar domínios do OpenSearch Service ou coleções do OpenSearch sem Servidor como coletores:

  • Um pipeline não pode gravar em mais de um domínio da VPC.

  • Você só pode migrar dados de ou para coleções do OpenSearch sem Servidor que usam acesso à VPC. As coleções públicas não são compatíveis.

  • Você não pode especificar uma combinação de VPC e domínios públicos em uma única configuração de pipeline.

  • Você pode ter no máximo 20 coletores sem ser pipeline em uma única configuração de pipeline.

  • Você pode especificar coletores de no máximo três Regiões da AWS diferentes em uma única configuração de pipeline.

  • Um pipeline com vários coletores poderá sofrer uma redução na velocidade de processamento ao longo do tempo se algum dos coletores ficar inativo por muito tempo ou não for provisionado com capacidade suficiente para receber dados de entrada.

OpenSearch Service como origem

O domínio ou coleção que você especifica como origem é de onde os dados são migrados.

Criar um perfil de pipeline no IAM

Para criar seu pipeline do OpenSearch Ingestion, primeiro crie um perfil de pipeline para conceder acesso para leitura e gravação entre domínios ou coleções. Para fazer isso, execute as seguintes etapas:

  1. Crie uma nova política de permissões no IAM para anexar ao perfil do pipeline. Conceda permissões de leitura da fonte e de gravação no coletor. Para saber mais sobre como definir permissões de pipeline do IAM para domínios do OpenSearch Service, consulte Conceder aos pipelines da Ingestão do Amazon OpenSearch o acesso aos domínios e Conceder aos pipelines da Ingestão do Amazon OpenSearch o acesso às coleções.

  2. Especifique as permissões a seguir no perfil de pipeline do IAM para leitura a partir da origem:

    JSON
    { "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":"es:ESHttpGet", "Resource":[ "arn:aws:es:us-east-1:111122223333:domain/domain-name/", "arn:aws:es:us-east-1:111122223333:domain/domain-name/_cat/indices", "arn:aws:es:us-east-1:111122223333:domain/domain-name/_search", "arn:aws:es:us-east-1:111122223333:domain/domain-name/_search/scroll", "arn:aws:es:us-east-1:111122223333:domain/domain-name/*/_search" ] }, { "Effect":"Allow", "Action":"es:ESHttpPost", "Resource":[ "arn:aws:es:us-east-1:111122223333:domain/domain-name/*/_search/point_in_time", "arn:aws:es:us-east-1:111122223333:domain/domain-name/*/_search/scroll" ] }, { "Effect":"Allow", "Action":"es:ESHttpDelete", "Resource":[ "arn:aws:es:us-east-1:111122223333:domain/domain-name/_search/point_in_time", "arn:aws:es:us-east-1:111122223333:domain/domain-name/_search/scroll" ] } ] }

Criar um pipeline

Depois de anexar as permissões ao perfil do pipeline, use o esquema de migração AWSOpenSearchDataMigrationPipeline para criar o pipeline. Esse esquema inclui uma configuração padrão para migrar dados entre domínios ou coleções do OpenSearch Service. Para obter mais informações, consulte Trabalhar com esquemas.

nota

O OpenSearch Ingestion usa a versão e a distribuição do domínio de origem para determinar qual mecanismo usar na migração. Algumas versões oferecem suporte à opção point_in_time. O OpenSearch sem Servidor usa a opção search_after porque não oferece suporte a point_in_time ou scroll.

Novos índices podem estar sendo criados durante o processo de migração, ou documentos podem estar sendo atualizados enquanto a migração está em andamento. Por isso, talvez seja necessário fazer uma única ou várias verificações dos dados de índice do domínio para obter dados novos ou atualizados.

Especifique o número de verificações a serem executadas, definindo index_read_count e interval na configuração do pipeline. O exemplo a seguir mostra como fazer várias verificações:

scheduling: interval: "PT2H" index_read_count: 3 start_time: "2023-06-02T22:01:30.00Z"

O OpenSearch Ingestion usa a seguinte configuração para garantir que os dados sejam gravados no mesmo índice e mantenham o mesmo ID de documento:

index: "${getMetadata(\"opensearch-index\")}" document_id: "${getMetadata(\"opensearch-document_id\")}"

Especificar vários coletores de domínio do OpenSearch Service

É possível especificar vários domínios públicos do OpenSearch Service como destinos para dados. Esse recurso pode ser usado para fazer roteamentos condicionais ou replicar dados recebidos em vários domínios do OpenSearch Service. Até dez domínios públicos diferentes do OpenSearch Service podem ser especificados como coletores.

No exemplo abaixo, os dados recebidos são roteados condicionalmente a diferentes domínios do OpenSearch Service:

... route: - 2xx_status: "/response >= 200 and /response < 300" - 5xx_status: "/response >= 500 and /response < 600" sink: - opensearch: hosts: [ "https://search-response-2xx.region.es.amazonaws.com" ] aws: region: "us-east-1" index: "response-2xx" routes: - 2xx_status - opensearch: hosts: [ "https://search-response-5xx.region.es.amazonaws.com" ] aws: region: "us-east-1" index: "response-5xx" routes: - 5xx_status

Migrar dados para uma coleção da VPC do OpenSearch sem Servidor

É possível usar o OpenSearch Ingestion para migrar dados de um domínio de origem do Amazon OpenSearch Service ou uma coleção do OpenSearch sem Servidor a um coletor de coleções da VPC. Você deve fornecer uma política de acesso à rede na configuração do pipeline. Para obter mais informações sobre ingestão de dados em coleções de VPC do OpenSearch sem Servidor, consulte Tutorial: ingestão de dados em uma coleção usando a Ingestão do Amazon OpenSearch.

Para migrar dados para uma coleção da VPC
  1. Criar uma coleção da tecnologia sem servidor do OpenSearch. Para instruções, consulte Tutorial: ingestão de dados em uma coleção usando a Ingestão do Amazon OpenSearch.

  2. Crie uma política de rede para a coleção que especifique o acesso via VPC ao endpoint da coleção e ao endpoint do Dashboards. Para instruções, consulte Acesso de rede do Amazon OpenSearch Sem Servidor.

  3. Crie o perfil de pipeline se ainda não tiver um. Para instruções, consulte Perfis do pipeline.

  4. Criar o pipeline. Para instruções, consulte Trabalhar com esquemas.