Migration de données à partir de OpenSearch clusters autogérés à l'aide d'Amazon Ingestion OpenSearch - Amazon OpenSearch Service

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.

Migration de données à partir de OpenSearch clusters autogérés à l'aide d'Amazon Ingestion OpenSearch

Vous pouvez utiliser un pipeline Amazon OpenSearch Ingestion autogéré OpenSearch ou Elasticsearch pour migrer des données vers des domaines Amazon OpenSearch Service et OpenSearch des collections sans serveur. OpenSearch Ingestion prend en charge les configurations de réseau public et privé pour la migration des données depuis Elasticsearch OpenSearch et autogéré.

Migration depuis des clusters publics OpenSearch

Vous pouvez utiliser des pipelines d' OpenSearch ingestion pour migrer des données depuis un cluster autogéré OpenSearch ou Elasticsearch avec une configuration publique, ce qui signifie que le nom DNS du domaine peut être résolu publiquement. Pour ce faire, configurez un pipeline d' OpenSearch ingestion avec Elasticsearch OpenSearch ou autogéré comme source et OpenSearch Service ou OpenSearch Serverless comme destination. Cela permet de migrer efficacement vos données d'un cluster source autogéré vers un domaine ou une AWS collection de destination géré.

Prérequis

Avant de créer votre pipeline OpenSearch d'ingestion, effectuez les étapes suivantes :

  1. Créez un cluster autogéré OpenSearch ou Elastisearch contenant les données que vous souhaitez migrer et configurez un nom DNS public. Pour obtenir des instructions, consultez la section Création d'un cluster dans la OpenSearch documentation.

  2. Créez un domaine OpenSearch de service ou une collection OpenSearch sans serveur vers lequel vous souhaitez migrer les données. Pour plus d’informations, consultez Création de domaines OpenSearch de service et Créer des collections.

  3. Configurez l'authentification sur votre cluster autogéré avec AWS Secrets Manager. Activez la rotation des secrets en suivant les étapes de la section Rotation AWS Secrets Manager des secrets.

  4. Associez une politique basée sur les ressources à votre domaine ou une politique d'accès aux données à votre collection. Ces politiques d'accès permettent à OpenSearch Ingestion d'écrire des données de votre cluster autogéré vers votre domaine ou votre collection.

    L'exemple de politique d'accès au domaine suivant permet au rôle de pipeline, que vous créez à l'étape suivante, d'écrire des données dans un domaine. Assurez-vous de le mettre à jour resource avec votre propre ARN.

    JSON
    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::pipeline-account-id:role/pipeline-role" }, "Action": [ "es:DescribeDomain", "es:ESHttp*" ], "Resource": [ "arn:aws:es:region:account-id:domain/domain-name" ] } ] }

    Pour créer un rôle IAM doté des autorisations appropriées pour accéder aux données d'écriture de la collection ou du domaine, consultezConfiguration des rôles et des utilisateurs dans Amazon OpenSearch Ingestion.

Étape 1 : configurer le rôle du pipeline

Une fois les prérequis de votre OpenSearch pipeline définis, configurez le rôle de pipeline que vous souhaitez utiliser dans la configuration de votre pipeline et ajoutez l'autorisation d'écrire dans un domaine de OpenSearch service ou une collection OpenSearch sans serveur, ainsi que l'autorisation de lire les secrets depuis Secrets Manager.

Étape 2 : Création du pipeline

Vous pouvez ensuite configurer un pipeline d' OpenSearch ingestion comme le suivant, qui indique OpenSearch comme source.

Vous pouvez spécifier plusieurs domaines OpenSearch de service comme destinations pour vos données. Cette fonctionnalité permet le routage conditionnel ou la réplication des données entrantes dans plusieurs domaines OpenSearch de service.

Vous pouvez également migrer les données d'une source OpenSearch ou d'un cluster Elasticsearch vers une collection VPC OpenSearch sans serveur. Assurez-vous de fournir une politique d'accès au réseau dans la configuration du pipeline.

version: "2" opensearch-migration-pipeline: source: opensearch: acknowledgments: true host: [ "https://my-self-managed-cluster-name:9200" ] indices: include: - index_name_regex: "include-.*" exclude: - index_name_regex: '\..*' authentication: username: ${aws_secrets:secret:username} password: ${aws_secrets:secret:password} scheduling: interval: "PT2H" index_read_count: 3 start_time: "2023-06-02T22:01:30.00Z" sink: - opensearch: hosts: ["https://search-mydomain.us-east-1.es.amazonaws.com"] aws: region: "us-east-1" #Uncomment the following lines if your destination is an OpenSearch Serverless collection #serverless: true # serverless_options: # network_policy_name: "network-policy-name" index: "${getMetadata(\"opensearch-index\")}" document_id: "${getMetadata(\"opensearch-document_id\")}" enable_request_compression: true dlq: s3: bucket: "bucket-name" key_path_prefix: "apache-log-pipeline/logs/dlq" region: "us-east-1" extension: aws: secrets: secret: secret_id: "my-opensearch-secret" region: "us-east-1" refresh_interval: PT1H

Vous pouvez utiliser un plan préconfiguré pour créer ce pipeline. Pour de plus amples informations, veuillez consulter Travailler avec des plans.

Migration de données depuis des OpenSearch clusters dans un VPC

Vous pouvez également utiliser des pipelines d' OpenSearch ingestion pour migrer des données depuis un cluster autogéré OpenSearch ou Elasticsearch exécuté dans un VPC. Pour ce faire, configurez un pipeline d' OpenSearch ingestion avec Elasticsearch OpenSearch ou autogéré comme source et OpenSearch Service ou OpenSearch Serverless comme destination. Cela permet de migrer efficacement vos données d'un cluster source autogéré vers un domaine ou une AWS collection de destination géré.

Prérequis

Avant de créer votre pipeline OpenSearch d'ingestion, effectuez les étapes suivantes :

  1. Créez un cluster autogéré OpenSearch ou Elastisearch avec une configuration réseau VPC contenant les données que vous souhaitez migrer.

  2. Créez un domaine OpenSearch de service ou une collection OpenSearch sans serveur vers lequel vous souhaitez migrer les données. Pour plus d'informations, consultez les sections Création OpenSearch de domaines de service et Création de collections.

  3. Configurez l'authentification sur votre cluster autogéré avec AWS Secrets Manager. Activez la rotation des secrets en suivant les étapes de la section Rotation AWS Secrets Manager des secrets.

  4. Obtenez l'ID du VPC ayant accès à Elasticsearch ou autogéré OpenSearch . Choisissez le VPC CIDR à utiliser par Ingestion. OpenSearch

    Note

    Si vous utilisez le AWS Management Console pour créer votre pipeline, vous devez également associer votre pipeline d' OpenSearch ingestion à votre VPC afin d'utiliser Elasticsearch ou autogéré OpenSearch . Pour ce faire, recherchez la section Options du réseau source, cochez la case Attacher au VPC et choisissez votre CIDR parmi l'une des options par défaut fournies. Vous pouvez utiliser n'importe quel CIDR à partir d'un espace d'adressage privé tel que défini dans la RFC 1918 Best Current Practice.

    Pour fournir un CIDR personnalisé, sélectionnez Autre dans le menu déroulant. Pour éviter une collision d'adresses IP entre OpenSearch l'ingestion et l'adresse autogérée OpenSearch, assurez-vous que le CIDR OpenSearch VPC autogéré est différent du CIDR pour l'ingestion. OpenSearch

  5. Associez une politique basée sur les ressources à votre domaine ou une politique d'accès aux données à votre collection. Ces politiques d'accès permettent à OpenSearch Ingestion d'écrire des données de votre cluster autogéré vers votre domaine ou votre collection.

    L'exemple de politique d'accès au domaine suivant permet au rôle de pipeline, que vous créez à l'étape suivante, d'écrire des données dans un domaine. Assurez-vous de le mettre à jour resource avec votre propre ARN.

    JSON
    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::pipeline-account-id:role/pipeline-role" }, "Action": [ "es:DescribeDomain", "es:ESHttp*" ], "Resource": [ "arn:aws:es:region:account-id:domain/domain-name" ] } ] }

    Pour créer un rôle IAM doté des autorisations appropriées pour accéder aux données d'écriture de la collection ou du domaine, consultezConfiguration des rôles et des utilisateurs dans Amazon OpenSearch Ingestion.

Étape 1 : configurer le rôle du pipeline

Une fois les prérequis de votre pipeline configurés, configurez le rôle de pipeline que vous souhaitez utiliser dans la configuration de votre pipeline et ajoutez-y les autorisations suivantes :

JSON
{ "Version": "2012-10-17", "Statement": [ { "Sid": "SecretsManagerReadAccess", "Effect": "Allow", "Action": [ "secretsmanager:GetSecretValue" ], "Resource": ["arn:aws:secretsmanager:region:account-id:secret:secret-name"] }, { "Effect": "Allow", "Action": [ "ec2:AttachNetworkInterface", "ec2:CreateNetworkInterface", "ec2:CreateNetworkInterfacePermission", "ec2:DeleteNetworkInterface", "ec2:DeleteNetworkInterfacePermission", "ec2:DetachNetworkInterface", "ec2:DescribeNetworkInterfaces" ], "Resource": [ "arn:aws:ec2:*:account-id:network-interface/*", "arn:aws:ec2:*:account-id:subnet/*", "arn:aws:ec2:*:account-id:security-group/*" ] }, { "Effect": "Allow", "Action": [ "ec2:DescribeDhcpOptions", "ec2:DescribeRouteTables", "ec2:DescribeSecurityGroups", "ec2:DescribeSubnets", "ec2:DescribeVpcs", "ec2:Describe*" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ec2:CreateTags" ], "Resource": "arn:aws:ec2:*:*:network-interface/*", "Condition": { "StringEquals": { "aws:RequestTag/OSISManaged": "true" } } } ] }

Vous devez fournir les EC2 autorisations Amazon ci-dessus sur le rôle IAM que vous utilisez pour créer le pipeline d' OpenSearch ingestion, car le pipeline utilise ces autorisations pour créer et supprimer une interface réseau dans votre VPC. Le pipeline ne peut accéder au OpenSearch cluster que via cette interface réseau.

Étape 2 : Création du pipeline

Vous pouvez ensuite configurer un pipeline d' OpenSearch ingestion comme le suivant, qui indique OpenSearch comme source.

Vous pouvez spécifier plusieurs domaines OpenSearch de service comme destinations pour vos données. Cette fonctionnalité permet le routage conditionnel ou la réplication des données entrantes dans plusieurs domaines OpenSearch de service.

Vous pouvez également migrer les données d'une source OpenSearch ou d'un cluster Elasticsearch vers une collection VPC OpenSearch sans serveur. Assurez-vous de fournir une politique d'accès au réseau dans la configuration du pipeline.

version: "2" opensearch-migration-pipeline: source: opensearch: acknowledgments: true host: [ "https://my-self-managed-cluster-name:9200" ] indices: include: - index_name_regex: "include-.*" exclude: - index_name_regex: '\..*' authentication: username: ${aws_secrets:secret:username} password: ${aws_secrets:secret:password} scheduling: interval: "PT2H" index_read_count: 3 start_time: "2023-06-02T22:01:30.00Z" sink: - opensearch: hosts: ["https://search-mydomain.us-east-1.es.amazonaws.com"] aws: region: "us-east-1" #Uncomment the following lines if your destination is an OpenSearch Serverless collection #serverless: true # serverless_options: # network_policy_name: "network-policy-name" index: "${getMetadata(\"opensearch-index\")}" document_id: "${getMetadata(\"opensearch-document_id\")}" enable_request_compression: true dlq: s3: bucket: "bucket-name" key_path_prefix: "apache-log-pipeline/logs/dlq" region: "us-east-1" extension: aws: secrets: secret: secret_id: "my-opensearch-secret" region: "us-east-1" refresh_interval: PT1H

Vous pouvez utiliser un plan préconfiguré pour créer ce pipeline. Pour de plus amples informations, veuillez consulter Travailler avec des plans.