Tous les produits
Search
Centre de documentation

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

Dernière mise à jour :Sep 23, 2026

Si votre instance Alibaba Cloud Elasticsearch utilise le mode de déploiement cloud-native (v3), vous pouvez migrer les données d'un cluster Elasticsearch auto-géré hébergé sur une instance ECS en établissant une connexion par réseau privé et en utilisant la fonctionnalité de réindexation.

Prérequis

  • Votre cluster Elasticsearch auto-géré doit répondre aux exigences suivantes :

    • Le cluster doit être hébergé sur une instance ECS située dans le même VPC que votre instance Alibaba Cloud Elasticsearch. Les connexions établies via ClassicLink ne sont pas prises en charge.

    • Le groupe de sécurité de l'instance ECS doit autoriser l'accès depuis toutes les adresses IP des nœuds de votre instance Alibaba Cloud Elasticsearch sur le port 9200. Vous pouvez trouver les adresses IP des nœuds dans la console Kibana.

    • Vous devez pouvoir vous connecter à l'instance Alibaba Cloud Elasticsearch. Vérifiez la connectivité en exécutant la commande curl -XGET http://<host>:9200 sur une machine.

      Remarque

      Vous pouvez exécuter le script présenté dans ce guide depuis n'importe quelle machine capable d'accéder à la fois au cluster Elasticsearch auto-géré et à l'instance Alibaba Cloud Elasticsearch sur le port 9200.

    • Les données de l'index source doivent être prêtes dans votre cluster Elasticsearch auto-géré. Ce guide utilise un index nommé source à titre d'exemple.

      [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 ~]#
  • Votre instance Alibaba Cloud Elasticsearch doit répondre aux exigences suivantes :

    • Activez préalablement la fonctionnalité de création automatique d'index ou créez les mappings et les settings sur Alibaba Cloud Elasticsearch.

    • Assurez-vous qu'aucune restriction de liste blanche n'est configurée.

Limites

Alibaba Cloud ES propose deux modes de déploiement : l'architecture de gestion de base (v2) et la nouvelle architecture de gestion cloud-native (v3). Vous pouvez identifier le mode de déploiement de votre instance dans la section Informations de base.

image

Pour les clusters utilisant la nouvelle architecture de gestion cloud-native (v3), la réindexation inter-clusters nécessite PrivateLink pour établir une connexion d'appairage de réseau privé. Reportez-vous au tableau suivant et choisissez une solution adaptée à votre scénario métier.

Scénario

Architecture réseau du cluster ES

Solutions

Migration de données entre des clusters Alibaba Cloud ES

Les deux clusters ES sont créés avec l'architecture de gestion de base (v2).

API reindex. Pour plus d'informations, consultez Utiliser l'API reindex pour migrer des données entre des clusters Alibaba Cloud ES.

L'un des clusters ES est créé avec la nouvelle architecture de gestion cloud-native (v3).

Remarque

L'autre cluster ES peut être créé avec la nouvelle architecture de gestion cloud-native (v3) ou l'architecture de gestion de base (v2).

Migrer des données d'un cluster ES auto-géré sur une instance ECS vers un cluster Alibaba Cloud ES

Le cluster Alibaba Cloud ES est créé avec l'architecture de gestion de base (v2).

API reindex. Pour plus d'informations, consultez Migrer des données d'un cluster Elasticsearch auto-géré vers Alibaba Cloud Elasticsearch en utilisant reindex.

Le cluster Alibaba Cloud ES est créé avec la nouvelle architecture de gestion cloud-native (v3).

API reindex. Pour plus d'informations, consultez Migrer des données Elasticsearch auto-gérées via une connexion privée.

Procédure

  1. Étape 1 : Configurer une instance SLB compatible avec PrivateLink

    Seule une instance SLB compatible avec PrivateLink peut servir de ressource de service pour un service de point de terminaison. Avant d'établir une connexion privée entre des VPC à l'aide de PrivateLink, vous devez créer une instance SLB compatible avec PrivateLink et configurer un écouteur.

  2. Étape 2 : Créer un service de point de terminaison

    Un service de point de terminaison permet à d'autres VPC d'établir des connexions privées en créant des points de terminaison. Après avoir configuré l'instance SLB, vous devez créer un service de point de terminaison.

  3. Étape 3 : Configurer une connexion privée pour Alibaba Cloud Elasticsearch

    Dans la console Alibaba Cloud Elasticsearch, associez votre instance Alibaba Cloud Elasticsearch au service de point de terminaison que vous avez créé à l'étape 2.

  4. Étape 4 : Obtenir le nom de domaine du point de terminaison

    Une fois l'instance cible associée au service de point de terminaison, vous pouvez obtenir le nom de domaine du point de terminaison afin de configurer la liste blanche de réindexation.

  5. Étape 5 : Configurer la liste blanche de réindexation

    Dans la console Alibaba Cloud Elasticsearch, ajoutez le nom de domaine obtenu à l'étape 4 à la liste blanche de réindexation de l'instance cible pour accorder l'accès.

  6. Étape 6 : Migrer les données

    Une fois les étapes précédentes terminées, la connexion réseau entre les instances source et cible est établie et vous pouvez démarrer la migration des données.

Étape 1 : Configurer une instance SLB pour PrivateLink

  1. Créez une instance SLB.

    Assurez-vous que l'instance SLB se trouve dans la même région que l'instance ECS ajoutée en tant que serveur backend. Pour plus d'informations, consultez Créer une instance SLB compatible avec PrivateLink.

  2. Configurez le Protocol and listener. Définissez le protocole sur TCP et le port sur 9200.

    Dans la liste des instances SLB, localisez l'instance cible et cliquez sur Create Listener dans la colonne Actions.

    Pour plus d'informations, consultez Ajouter un écouteur TCP.

  3. Cliquez sur Next step. Configurez le groupe de serveurs backend en ajoutant l'instance ECS qui héberge votre cluster Elasticsearch auto-géré, et définissez le port sur 9200.

    Pour plus d'informations, consultez Configurer les serveurs backend.

  4. Cliquez sur Next step et configurez la section Configure Health Check selon vos besoins. Ce guide utilise les paramètres par défaut.

  5. Cliquez sur Next step. Vérifiez votre configuration, cliquez sur Submit, confirmez les détails de la configuration, puis cliquez sur I Understand. Vous revenez à la page Manage Cluster, où vous pouvez vérifier l'état de la vérification d'état de l'instance ECS backend.

    Un état Normal indique que l'instance ECS backend peut traiter les requêtes transférées par l'instance SLB.

Étape 2 : Créer un service de point de terminaison

  1. Connectez-vous à la console du service de point de terminaison.

  2. Dans la barre de navigation supérieure, sélectionnez la région dans laquelle vous souhaitez créer le service de point de terminaison.

    Ce guide utilise China (Hangzhou) à titre d'exemple.

  3. Cliquez sur Create Endpoint Service. Sur la page Create Endpoint Service, configurez les paramètres selon vos besoins.

    Pour des instructions détaillées, consultez Créer et gérer un service de point de terminaison. Dans la section Ressource de service, définissez Type de ressource sur Classic Load Balancer (CLB). Ce guide utilise les configurations clés suivantes. Pour les autres paramètres, utilisez les valeurs par défaut ou configurez-les selon vos besoins.

    Paramètre

    Description

    Select service resource

    Sélectionnez la zone de disponibilité qui transporte le trafic, puis sélectionnez l'instance SLB à associer au service de point de terminaison.

    L'instance SLB associée accepte le trafic réseau provenant de vos utilisateurs de service. La zone de disponibilité du service de point de terminaison est identique à la zone de disponibilité principale de la ressource de service.

    Une instance SLB ne peut servir de ressource de service que si elle remplit les conditions suivantes :

    • Le type de réseau est VPC.

    • PrivateLink est pris en charge.

    Automatically Accept Endpoint Connections

    Indiquez si vous souhaitez accepter automatiquement les demandes de connexion provenant des points de terminaison. Nous vous recommandons de sélectionner Yes. Les options sont les suivantes :

    • Yes : Le service de point de terminaison accepte automatiquement les demandes de connexion. Le point de terminaison peut alors accéder au service.

    • No : La connexion du point de terminaison reste déconnectée jusqu'à ce que l'administrateur du service traite la demande :

      • Si l'administrateur accepte la demande de connexion, le service est accessible via le point de terminaison.

      • Si l'administrateur rejette la demande de connexion, le service n'est pas accessible via le point de terminaison.

    Enable zone affinity

    Indiquez si vous souhaitez activer l'affinité de zone. Nous vous recommandons de sélectionner Yes.

  4. Cliquez sur OK.

Étape 3 : Configurer une connexion privée

  1. Connectez-vous à la console Alibaba Cloud Elasticsearch.

  2. Dans le menu de navigation de gauche, choisissez Elasticsearch Clusters.

  3. Accédez au cluster cible.

    1. Dans la barre de navigation supérieure, sélectionnez le groupe de ressources auquel appartient le cluster et la région où il réside.

    2. Sur la page Elasticsearch Clusters, trouvez le cluster et cliquez sur son ID.

  4. Cliquez sur Add Private Connection et sélectionnez le service de point de terminaison créé à l'étape précédente.

  5. Attendez que l'état de la connexion passe à Connected. Cela signifie que le VPC du cluster ES et votre VPC sont connectés.

  6. Dans le panneau Configure Private Connection, cliquez sur Add Private Connection. Sélectionnez le service de point de terminaison que vous avez créé à l'étape 2 ainsi que la zone de disponibilité cible, puis cochez la case correspondant à l'invite système.

  7. Cliquez sur OK. Le service de point de terminaison se connecte activement au point de terminaison. Une fois la connexion établie, l'état passe à Connected.

Étape 4 : Obtenir le nom de domaine du point de terminaison

Une fois les étapes précédentes terminées, vous devez obtenir le nom de domaine du point de terminaison pour configurer la liste blanche de réindexation.

  1. Dans le panneau Configure Private Connection, cliquez sur l'Endpoint ID cible.

  2. Sous l'onglet Endpoint connections, cliquez sur l'icône de développement (展开符) située à côté de l'ID du point de terminaison cible pour afficher le nom de domaine correspondant du point de terminaison.

    Après développement, vous trouverez le nom de domaine PrivateLink dans le champ Domain Name. Le format est le suivant :

Étape 5 : Configurer la liste blanche de réindexation

Important

Cette opération redémarre le cluster. Nous vous recommandons de l'effectuer pendant les heures creuses.

  1. Connectez-vous à la console Alibaba Cloud Elasticsearch.

  2. Dans le menu de navigation de gauche, choisissez Elasticsearch Clusters.

  3. Accédez au cluster cible.

    1. Dans la barre de navigation supérieure, sélectionnez le groupe de ressources auquel appartient le cluster et la région où il réside.

    2. Sur la page Elasticsearch Clusters, trouvez le cluster et cliquez sur son ID.

  4. Dans le menu de navigation de gauche, choisissez Configuration and Management > Cluster Configuration.

  5. Dans la section YML File Configuration, cliquez sur Modify Configuration à droite.

  6. Dans le panneau YML File Configuration, cliquez sur Modify Configuration et ajoutez le nom de domaine obtenu à l'étape 4.

    Exemple :

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

Étape 6 : Migrer les données

  1. Dans Dev Tools de la console Kibana, exécutez la commande suivante pour migrer les données.

    Remarque

    Pour savoir comment vous connecter à la console Kibana, consultez Se connecter à la console Kibana.

    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"
      }
    }

    Si la console Kibana n'est pas disponible, vous pouvez également exécuter une commande cURL sur une machine capable d'accéder à votre instance Alibaba Cloud Elasticsearch pour effectuer l'opération de réindexation :

    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"
      }
    }'
    Remarque

    Si la sécurité n'est pas activée pour votre cluster Elasticsearch auto-géré, supprimez les champs username et password de source.remote.

    Pour plus d'informations, consultez l'API reindex.

  2. Facultatif : Pour vérifier l'état des tâches de réindexation en cours d'exécution, exécutez la commande suivante.

    GET _tasks?detailed=true&actions=*reindex
  3. Vérifiez le résultat de la migration.

    Une fois la migration terminée, exécutez la commande suivante pour vérifier le résultat.

    GET _cat/indices?v

    Si l'état de santé de l'index de destination est normal et que la taille des données correspond à vos attentes, la migration a réussi. Exemple de sortie :

    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

FAQ

Q : Comment accélérer la synchronisation des données pour un index volumineux ?

R :

  • La fonctionnalité de réindexation utilise en interne l'API scroll. Vous pouvez augmenter la taille du scroll ou configurer le découpage du scroll (slice) pour paralléliser l'opération et améliorer les performances. Pour plus d'informations, consultez l'API reindex.

  • Si l'ensemble de données source est très volumineux, nous vous recommandons d'utiliser la méthode de snapshot OSS. Pour plus d'informations, consultez Avancé : Migrer un cluster Elasticsearch auto-géré vers Alibaba Cloud Elasticsearch à l'aide d'un snapshot OSS.

  • Pour un index volumineux, vous pouvez accélérer la synchronisation des données en définissant le nombre de réplicas de l'index de destination sur 0 et l'intervalle de rafraîchissement sur -1 avant la migration. Une fois la migration terminée, rétablissez les paramètres d'origine.

    // 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"
    }'