Sélectionner vos préférences de cookies

Nous utilisons des cookies essentiels et des outils similaires qui sont nécessaires au fonctionnement de notre site et à la fourniture de nos services. Nous utilisons des cookies de performance pour collecter des statistiques anonymes afin de comprendre comment les clients utilisent notre site et d’apporter des améliorations. Les cookies essentiels ne peuvent pas être désactivés, mais vous pouvez cliquer sur « Personnaliser » ou « Refuser » pour refuser les cookies de performance.

Si vous êtes d’accord, AWS et les tiers approuvés utiliseront également des cookies pour fournir des fonctionnalités utiles au site, mémoriser vos préférences et afficher du contenu pertinent, y compris des publicités pertinentes. Pour accepter ou refuser tous les cookies non essentiels, cliquez sur « Accepter » ou « Refuser ». Pour effectuer des choix plus détaillés, cliquez sur « Personnaliser ».

Création d'une tâche de AWS DMS réplication avec Neptune comme cible

Mode de mise au point
Création d'une tâche de AWS DMS réplication avec Neptune comme cible - Amazon Neptune

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.

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.

Une fois que vous avez créé vos configurations de mappage de tables et de mappage de graphes, procédez comme suit pour charger les données du magasin source dans Neptune. Consultez la AWS DMS documentation pour plus de détails sur le sujet APIs en question.

Création d'une instance AWS DMS de réplication

Créez une instance de AWS DMS réplication dans le VPC sur lequel votre cluster de base de données Neptune est exécuté (voir Utilisation d'une instance de réplication AWS DMS et CreateReplicationInstancedans le guide de l'utilisateur). AWS DMS Pour ce faire, vous pouvez utiliser une AWS CLI commande comme celle-ci :

aws dms create-replication-instance \ --replication-instance-identifier (the replication instance identifier) \ --replication-instance-class (the size and capacity of the instance, like 'dms.t2.medium') \ --allocated-storage (the number of gigabytes to allocate for the instance initially) \ --engine-version (the DMS engine version that the instance should use) \ --vpc-security-group-ids (the security group to be used with the instance)

Création d'un AWS DMS point de terminaison pour la base de données source

L'étape suivante consiste à créer un AWS DMS point de terminaison pour votre magasin de données source. Vous pouvez utiliser l' AWS DMS CreateEndpointAPI de la AWS CLI manière suivante :

aws dms create-endpoint \ --endpoint-identifier (source endpoint identifier) \ --endpoint-type source \ --engine-name (name of source database engine) \ --username (user name for database login) \ --password (password for login) \ --server-name (name of the server) \ --port (port number) \ --database-name (database name)

Configuration d'un compartiment Amazon S3 que Neptune utilisera pour le transfert de données

Si vous ne disposez pas d'un compartiment Amazon S3 pouvant être utilisé pour la copie intermédiaire des données, créez-en un comme expliqué dans Création d'un compartiment dans le guide de mise en route Amazon S3 ou Comment créer un compartiment S3 ? dans le Guide de l'utilisateur de la console.

Vous devrez créer une politique IAM octroyant les autorisations GetObject, PutObject, DeleteObject et ListObject au compartiment si vous n'en avez pas déjà une :

{ "Version": "2012-10-17", "Statement": [ { "Sid": "ListObjectsInBucket", "Effect": "Allow", "Action": [ "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::(bucket-name)" ] }, { "Sid": "AllObjectActions", "Effect": "Allow", "Action": [ "s3:GetObject", "s3:PutObject", "s3:DeleteObject", "s3:ListObject" ], "Resource": [ "arn:aws:s3:::(bucket-name)/*" ] } ] }

Si l'authentification IAM est activée pour votre cluster de bases de données Neptune, vous devrez également inclure la politique suivante :

{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": "neptune-db:*", "Resource": "(the ARN of your Neptune DB cluster resource)" } ] }

Créez un rôle IAM en tant que document d'approbation auquel attacher la politique :

{ "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": "dms.amazonaws.com" }, "Action": "sts:AssumeRole" }, { "Sid": "neptune", "Effect": "Allow", "Principal": { "Service": "rds.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }

Après avoir attaché la politique au rôle, attachez-le à votre cluster de bases de données Neptune. Cela permettra d' AWS DMS utiliser le bucket pour préparer les données en cours de chargement.

Création d'un point de terminaison Amazon S3 dans le VPC Neptune

Créez maintenant un point de terminaison de passerelle de VPC pour votre compartiment Amazon S3 intermédiaire dans le VPC où se trouve votre cluster Neptune. Pour ce faire, vous pouvez AWS CLI utiliser le AWS Management Console ou le, comme décrit dans Création d'un point de terminaison de passerelle.

Création d'un point de terminaison AWS DMS cible pour Neptune

Créez un AWS DMS point de terminaison pour votre cluster de base de données Neptune cible. Vous pouvez utiliser l' AWS DMS CreateEndpointAPI avec le NeptuneSettings paramètre suivant :

aws dms create-endpoint \ --endpoint-identifier (target endpoint identifier) \ --endpoint-type target \ --engine-name neptune \ --server-name (name of the server) \ --port (port number) \ --neptune-settings '{ \ "ServiceAccessRoleArn": "(ARN of the service access role)", \ "S3BucketName": "(name of S3 bucket to use for staging files when migrating)", \ "S3BucketFolder": "(name of the folder to use in that S3 bucket)", \ "ErrorRetryDuration": (number of milliseconds to wait between bulk-load retries), \ "MaxRetryCount": (the maximum number of times to retry a failing bulk-load job), \ "MaxFileSize": (maximum file size, in bytes, of the staging files written to S3), \ "IamAuthEnabled": (set to true if IAM authentication is enabled on the Neptune cluster) }'

L'objet JSON transmis à l' AWS DMS CreateEndpointAPI dans son NeptuneSettings paramètre comporte les champs suivants :

  • ServiceAccessRoleArn : (obligatoire) ARN d'un rôle IAM qui permet un accès précis au compartiment S3 utilisé comme outil intermédiaire de la migration des données vers Neptune. Ce rôle doit également avoir des autorisations d'accès à votre cluster de bases de données Neptune si l'autorisation IAM y est activée.

  • S3BucketName : (obligatoire) pour la migration à chargement complet, l'instance de réplication convertit toutes les données RDS en fichiers CSV ou quad et les charge vers ce compartiment intermédiaire dans S3, puis les charge en bloc dans Neptune.

  • S3BucketFolder : (obligatoire) dossier à utiliser dans le compartiment intermédiaire S3.

  • ErrorRetryDuration : (facultatif) nombre de millisecondes à attendre après l'échec d'une demande Neptune avant d'effectuer une nouvelle demande. La valeur par défaut est 250.

  • MaxRetryCount(facultatif) Le nombre maximum de demandes de nouvelle tentative à effectuer AWS DMS après un échec de nouvelle tentative. La valeur par défaut est 5.

  • MaxFileSize : (facultatif) taille maximale en octets de chaque fichier intermédiaire enregistré dans S3 lors de la migration. La valeur par défaut est de 1 048 576 Ko (1 Go).

  • IsIAMAuthEnabled : (facultatif) s'il est défini sur true, l'authentification IAM est activée sur le cluster de bases de données Neptune. Dans le cas contraire, sa valeur indique false. L’argument par défaut est false.

Testez les connexions aux nouveaux points de terminaison

Vous pouvez tester la connexion à chacun de ces nouveaux points de terminaison à l'aide de l' AWS DMS TestConnectionAPI comme suit :

aws dms test-connection \ --replication-instance-arn (the ARN of the replication instance) \ --endpoint-arn (the ARN of the endpoint you are testing)

Création d'une tâche AWS DMS de réplication

Une fois que vous avez effectué les étapes précédentes avec succès, créez une tâche de réplication pour migrer les données de votre banque de données source vers Neptune, à l'aide de AWS DMS CreateReplicationTaskl'API suivante :

aws dms create-replication-task \ --replication-task-identifier (name for the replication task) \ --source-endpoint-arn (ARN of the source endpoint) \ --target-endpoint-arn (ARN of the target endpoint) \ --replication-instance-arn (ARN of the replication instance) \ --migration-type full-load \ --table-mappings (table-mapping JSON object or URI like 'file:///tmp/table-mappings,json') \ --task-data (a GraphMappingConfig object or URI like 'file:///tmp/graph-mapping-config.json')

Le paramètre TaskData fournit le GraphMappingConfig qui spécifie la façon dont les données en cours de copie doivent être stockées dans Neptune.

Lancer la tâche AWS DMS de réplication

Vous pouvez maintenant démarrer la tâche de réplication :

aws dms start-replication-task --replication-task-arn (ARN of the replication task started in the previous step) --start-replication-task-type start-replication

Rubrique suivante :

Stockage

Rubrique précédente :

GraphMappingConfig
ConfidentialitéConditions d'utilisation du sitePréférences de cookies
© 2025, Amazon Web Services, Inc. ou ses affiliés. Tous droits réservés.