Todos os produtos
Search
Central de documentação

Elasticsearch:Migrate self-managed Elasticsearch data to Alibaba Cloud over an instance private network

Última atualização: Sep 23, 2026

Se a sua instância do Alibaba Cloud Elasticsearch utiliza o modo de implantação cloud-native (v3), você pode migrar dados de um cluster Elasticsearch autogerenciado em uma instância ECS estabelecendo uma conexão de rede privada e usando o recurso de reindex.

Pré-requisitos

  • O cluster Elasticsearch autogerenciado deve atender aos seguintes requisitos:

    • O cluster deve estar hospedado em uma instância ECS na mesma VPC da instância do Alibaba Cloud Elasticsearch. Conexões estabelecidas por meio de ClassicLink não são compatíveis.

    • O grupo de segurança da instância ECS deve permitir o acesso a partir de todos os endereços ip dos nós da instância do Alibaba Cloud Elasticsearch pela porta 9200. Os endereços ip dos nós podem ser encontrados no console do Kibana.

    • É necessário conseguir se conectar à instância do Alibaba Cloud Elasticsearch. verifique a conexão executando o comando curl -XGET http://<host>:9200 em uma máquina.

      Nota

      Você pode executar o script deste guia em qualquer máquina que consiga acessar tanto o cluster Elasticsearch autogerenciado quanto a instância do Alibaba Cloud Elasticsearch pela porta 9200.

    • Os dados do índice de origem devem estar prontos no cluster Elasticsearch autogerenciado. Este guia utiliza um índice chamado source como exemplo.

      [root@elasticsearch1 ~]# curl -XGET  http://172.16.xxx.xxx:9200/_cat/indices?v
      health status index  uuid                   pri rep docs.count docs.deleted store.size pri.store.size
      green  open   source lGFcaUIgT1-Nsj9b_EezAQ   1   1          6            0     28.2kb         19.1kb
      green  open   dest   Kn3Tu9TmT62J4ouMHi_37w   1   1          6            0     23.3kb          9.1kb
      [root@elasticsearch1 ~]#
  • A instância do Alibaba Cloud Elasticsearch deve atender aos seguintes requisitos:

    • Ative o recurso de criação automática de índices com antecedência ou crie os mappings e settings do índice no Alibaba Cloud Elasticsearch.

    • Certifique-se de que nenhuma restrição de lista de permissões esteja configurada.

Limitações

O Alibaba Cloud ES oferece dois modos de implantação: arquitetura de gerenciamento básico (v2) e arquitetura cloud-native de novo gerenciamento (v3). Identifique o modo de implantação da sua instância na seção Basic Information.

image

Para clusters com a arquitetura cloud-native de novo gerenciamento (v3), a reindexação entre clusters requer o PrivateLink para estabelecer uma conexão de rede privada entre pares. consulte a tabela a seguir e escolha uma solução com base no seu cenário de negócio.

Cenário

Arquitetura de rede do cluster ES

Soluções

Migração de dados entre clusters do Alibaba Cloud ES

Ambos os clusters ES foram criados com a arquitetura de gerenciamento básico (v2).

api de reindex. Para mais informações, consulte Use the reindex API to migrate data between Alibaba Cloud ES clusters.

Um dos clusters ES foi criado com a arquitetura cloud-native de novo gerenciamento (v3).

Nota

O outro cluster ES pode ter sido criado com a arquitetura cloud-native de novo gerenciamento (v3) ou com a arquitetura de gerenciamento básico (v2).

Migrar dados de um cluster ES autogerenciado em uma instância ECS para um cluster do Alibaba Cloud ES

O cluster do Alibaba Cloud ES foi criado com a arquitetura de gerenciamento básico (v2).

api de reindex. Para mais informações, consulte Migrate data from a self-managed Elasticsearch cluster to Alibaba Cloud Elasticsearch using reindex.

O cluster do Alibaba Cloud ES foi criado com a arquitetura cloud-native de novo gerenciamento (v3).

api de reindex. Para mais informações, consulte Migrate self-managed Elasticsearch data via a private connection.

Procedimento

  1. Step 1: configure an SLB instance that supports PrivateLink

    Apenas instâncias SLB compatíveis com PrivateLink podem ser usadas como recurso de serviço para um endpoint service. Antes de estabelecer uma conexão privada entre VPCs por meio do PrivateLink, crie uma instância SLB compatível com PrivateLink e configure um listener.

  2. Step 2: crie an endpoint service

    Um endpoint service permite que outras VPCs estabeleçam conexões privadas por meio da criação de endpoints. Após configure a instância SLB, crie um endpoint service.

  3. Step 3: configure a private connection for Alibaba Cloud Elasticsearch

    No console do Alibaba Cloud Elasticsearch, associe a instância do Alibaba Cloud Elasticsearch ao endpoint service criado na Step 2.

  4. Step 4: Get the endpoint domain name

    Após associar a instância de destino ao endpoint service, obtenha o nome de domínio do endpoint para configure a lista de permissões de reindex.

  5. Step 5: configure the reindex whitelist

    No console do Alibaba Cloud Elasticsearch, adicione o nome de domínio obtido na Step 4 à lista de permissões de reindex da instância de destino para conceder acesso.

  6. Step 6: Migrate data

    Após concluir as etapas anteriores, a conexão de rede entre as instâncias de source e destino estará estabelecida, e você poderá iniciar a migração dos dados.

Etapa 1: configure uma instância SLB para o PrivateLink

  1. crie uma instância SLB.

    Certifique-se de que a instância SLB esteja na mesma região da instância ECS adicionada como servidor de backend. Para mais informações, consulte Create an SLB instance that supports PrivateLink.

  2. configure o Protocol and listener. defina o protocolo como TCP e a porta como 9200.

    Na lista de instâncias SLB, localize a instância de destino e clique em Create Listener na coluna Actions.

    Para mais informações, consulte Add a TCP listener.

  3. clique em Next step. configure o grupo de servidores de backend adicionando a instância ECS que hospeda o cluster Elasticsearch autogerenciado e defina a porta como 9200.

    Para mais informações, consulte configure backend servers.

  4. clique em Next step e configure o Configure Health Check conforme necessário. Este guia utiliza as configurações padrão.

  5. clique em Next step. Revise a configuração, clique em Submit, confirme os detalhes da configuração e clique em I Understand. Você retornará à página Manage Cluster, onde é possível verifique o status da verificação de integridade da instância ECS de backend.

    O status Normal indica que a instância ECS de backend consegue processar as solicitações encaminhadas pela instância SLB.

Etapa 2: crie um endpoint service

  1. Faça login no console do endpoint service.

  2. Na barra de navegação superior, selecione a região onde deseja criar o endpoint service.

    Este guia utiliza China (Hangzhou) como exemplo.

  3. clique em Create Endpoint Service. Na página Create Endpoint Service, configure os parâmetros conforme necessário.

    Para instruções detalhadas, consulte crie and gerencie an endpoint service. Na seção Service resource, defina Resource type como Classic Load Balancer (CLB). Este guia utiliza as seguintes configurações principais. Para os demais parâmetros, use os valores padrão ou configure conforme necessário.

    Parâmetro

    Descrição

    Select service resource

    Selecione a zona de disponibilidade que receberá o tráfego e, em seguida, selecione a instância SLB a ser associada ao endpoint service.

    A instância SLB associada aceita tráfego de rede dos seus usuários de serviço. A zona de disponibilidade do endpoint service corresponde à zona de disponibilidade principal do recurso de serviço.

    Uma instância SLB só pode ser usada como recurso de serviço se atender às seguintes condições:

    • O tipo de rede é VPC.

    • O PrivateLink é compatível.

    Automatically Accept Endpoint Connections

    Indique se as solicitações de conexão de endpoints devem ser aceitas automaticamente. Recomendamos selecionar Yes. As opções são:

    • Yes: O endpoint service aceita as solicitações de conexão automaticamente. Assim, o endpoint pode acessar o serviço.

    • No: A conexão do endpoint permanece em estado desconectado até que o administrador do serviço trate a solicitação:

      • Se o administrador aceitar a solicitação de conexão, o serviço poderá ser acessado por meio do endpoint.

      • Se o administrador rejeitar a solicitação de conexão, o serviço não poderá ser acessado por meio do endpoint.

    Enable zone affinity

    Indique se deseja ativar a afinidade de zona. Recomendamos selecionar Yes.

  4. clique em OK.

Etapa 3: configure uma conexão privada

  1. Faça login no console do Alibaba Cloud Elasticsearch.

  2. No menu de navegação à esquerda, escolha Elasticsearch Clusters.

  3. acesse o cluster de destino.

    1. Na barra de navegação superior, selecione o grupo de recursos ao qual o cluster pertence e a região onde ele está localizado.

    2. Na página Elasticsearch Clusters, localize o cluster e clique em seu ID.

  4. clique em Add Private Connection e selecione o endpoint service criado na etapa anterior.

  5. Aguarde até que o status da conexão seja Connected. Isso indica que a VPC do cluster ES e a sua VPC estão conectadas.

  6. No painel Configure Private Connection, clique em Add Private Connection. Selecione o endpoint service criado na Step 2 e a zona de disponibilidade de destino, e marque a caixa de seleção referente ao aviso do sistema.

  7. clique em OK. O endpoint service conecta-se ativamente ao endpoint. Após o estabelecimento da conexão, o status muda para Connected.

Etapa 4: Obter o nome de domínio do endpoint

Após concluir as etapas anteriores, obtenha o nome de domínio do endpoint para configure a lista de permissões de reindex.

  1. No painel Configure Private Connection, clique em o Endpoint ID de destino.

  2. Na aba Endpoint connections, clique em o ícone de expansão (展开符) ao lado do ID do endpoint de destino para visualize o nome de domínio correspondente.

    Após expandir, você encontrará o nome de domínio do PrivateLink no campo Domain Name. O formato é:

Etapa 5: configure a lista de permissões de reindex

Importante

Esta operação reinicia o cluster. Recomendamos executá-la fora dos horários de pico.

  1. Faça login no console do Alibaba Cloud Elasticsearch.

  2. No menu de navegação à esquerda, escolha Elasticsearch Clusters.

  3. acesse o cluster de destino.

    1. Na barra de navegação superior, selecione o grupo de recursos ao qual o cluster pertence e a região onde ele está localizado.

    2. Na página Elasticsearch Clusters, localize o cluster e clique em seu ID.

  4. No menu de navegação à esquerda, escolha Configuration and Management > Cluster Configuration.

  5. Na seção YML File Configuration, clique em Modify Configuration à direita.

  6. No painel YML File Configuration, clique em Modify Configuration e adicione o nome de domínio obtido na Step 4.

    Exemplo:

    reindex.remote.whitelist: 'ep-bp1nitq0krp8yhcf****-cn-hangzhou-i.epsrv-bp1zczi0fgoc5qtv****.cn-hangzhou.privatelink.aliyuncs.com:9200'
  7. clique em OK.

Etapa 6: Migrar os dados

  1. No Dev Tools do console do Kibana, execute o comando a seguir para migrar os dados.

    Nota

    Para informações sobre como fazer login no console do Kibana, consulte Log on to the Kibana console.

    POST /_reindex?pretty
    {
      "source": {
        "remote": {
          "host": "http://ep-bp1nitq0krp8yhcf****-cn-hangzhou-i.epsrv-bp1zczi0fgoc5qtv****.cn-hangzhou.privatelink.aliyuncs.com:9200",
          "username": "elastic",
          "password": "Elastic@123***"
        },
        "index": "source",
        "size": 5000
      },
      "dest": {
        "index": "dest"
      }
    }

    Se o console do Kibana não estiver disponível, você também pode execute um comando cURL em uma máquina com acesso à instância do Alibaba Cloud Elasticsearch para realizar a operação de reindex:

    curl -u <username>:<password> -XPOST "http://<Alibaba Cloud Elasticsearch domain name>:9200/_reindex?pretty" -H "Content-Type: application/json" -d '{
      "source": {
        "remote": {
          "host": "http://<endpoint domain name>:9200",
          "username": "<self-managed Elasticsearch username>",
          "password": "<self-managed Elasticsearch password>"
        },
        "index": "source",
        "size": 5000
      },
      "dest": {
        "index": "dest"
      }
    }'
    Nota

    Se a segurança não estiver habilitada no cluster Elasticsearch autogerenciado, remova os campos username e password de source.remote.

    Para mais informações, consulte api de reindex.

  2. Opcional: Para verifique o status das tarefas de reindex em execução, execute o comando a seguir.

    GET _tasks?detailed=true&actions=*reindex
  3. verifique o resultado da migração.

    Após a conclusão da migração, execute o comando a seguir para verifique o resultado.

    GET _cat/indices?v

    Se o status de integridade do índice de destino estiver normal e o tamanho dos dados corresponder ao esperado, a migração foi bem-sucedida. Exemplo de saída:

    health status index                             uuid                   pri rep docs.count docs.deleted store.size pri.store.size
    green  open   .security-7                      WzCXGepRRou3e2qE_NXg6g   1   1       55            0    424.1kb        212.1kb
    green  open   .monitoring-kibana-7-2021.08.18   G_D3fb8jRfiC72PwmIn-vg   1   1     9560            0      3.1mb          1.5mb
    green  open   test                              RHVpvC30RnO3lE2O2xPx0w   1   1        6            0     29.3kb          9.2kb
    green  open   .apm-custom-link                  Sav0grXzTe2xA1tmgOQOUl   1   1        0            0       522b           261b
    green  open   .monitoring-kibana-7-2021.08.19   iF8kyaZCtdSU8z_MIHsj-Q   1   1     2688            1      1.3mb        497.8kb
    green  open   .kibana_task_manager_1            ILArbgzRR7KjOQd9SH8BoA   1   1        6         1524    637.3kb        326.7kb
    green  open   .apm-agent-configuration          VXCcFRjYQU21A_sSPiVGXA   1   1        0            0       522b           261b
    green  open   .kibana-event-log-7.10.0-000001   _A3SURUwThakLepdebZt5A   1   1        1            0     11.4kb          5.7kb
    green  open   .monitoring-es-7-2021.08.19       RP2xbG60QaqakDvuF972LQ   1   1    28337        34918       37mb         18.4mb
    green  open   .kibana_1                         o5MX39bZRTeMma4HjT0fog   1   1       22            4     20.8mb         10.4mb
    green  open   .monitoring-es-7-2021.08.18       TGyPtE1bTXCaYHq4i7F5nQ   1   1    90546        60040    103.4mb         55.5mb

Perguntas frequentes

P: Como acelerar a sincronização de dados para um índice grande?

R:

  • O recurso de reindex utiliza a api de scroll internamente. Você pode aumentar o tamanho do scroll ou configure o fatiamento de scroll para paralelizar a operação e melhorar o desempenho. Para mais informações, consulte api de reindex.

  • Se o conjunto de dados de source for muito grande, recomendamos o método de snapshot via OSS. Para mais informações, consulte Advanced: Migrate a self-managed Elasticsearch cluster to Alibaba Cloud Elasticsearch by using an OSS snapshot.

  • Para índices grandes, é possível acelerar a sincronização de dados definindo o número de réplicas do índice de destino como 0 e o intervalo de atualização como -1 antes da migração. Após a conclusão, restaure as configurações originais.

    // Before migrating index data, set the number of replicas to 0 and disable the refresh interval to speed up the migration.
    curl -u user:password -XPUT 'http://<host:port>/indexName/_settings' -d' {
            "number_of_replicas" : 0,
            "refresh_interval" : "-1"
    }'
    // After the index data is migrated, reset the number of replicas to 1 and the refresh interval to "1s" (the default value).
    curl -u user:password -XPUT 'http://<host:port>/indexName/_settings' -d' {
            "number_of_replicas" : 1,
            "refresh_interval" : "1s"
    }'