Utilisation du service d'exportation Neptune pour exporter des données Neptune - 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.

Utilisation du service d'exportation Neptune pour exporter des données Neptune

Vous pouvez suivre les étapes ci-dessous pour exporter les données du cluster de bases de données Neptune vers Amazon S3 à l'aide du service d'exportation Neptune :

Installation du service d'exportation Neptune

Utilisez un modèle AWS CloudFormation pour créer la pile :

Installation du service d'exportation Neptune
  1. Pour lancer la pile AWS CloudFormation dans la console AWS CloudFormation, choisissez l'un des boutons Lancer la pile dans le tableau suivant :

    Région Vue Afficher dans Designer Lancer
    USA Est (Virginie du Nord) Afficher Afficher dans Designer
    USA Est (Ohio) Afficher Afficher dans Designer
    USA Ouest (Californie du Nord) Afficher Afficher dans Designer
    USA Ouest (Oregon) Afficher Afficher dans Designer
    Canada (Centre) Afficher Afficher dans Designer
    Amérique du Sud (São Paulo) Afficher Afficher dans Designer
    Europe (Stockholm) Afficher Afficher dans Designer
    Europe (Irlande) Afficher Afficher dans Designer
    Europe (Londres) Afficher Afficher dans Designer
    Europe (Paris) Afficher Afficher dans Designer
    Europe (Francfort) Afficher Afficher dans Designer
    Moyen-Orient (Bahreïn) Afficher Afficher dans Designer
    Moyen-Orient (EAU) Afficher Afficher dans Designer
    Israël (Tel Aviv) Afficher Afficher dans Designer
    Afrique (Le Cap) Afficher Afficher dans Designer
    Asie-Pacifique (Hong Kong) Afficher Afficher dans Designer
    Asie Pacifique (Tokyo) Afficher Afficher dans Designer
    Asie-Pacifique (Séoul) Afficher Afficher dans Designer
    Asie-Pacifique (Singapour) Afficher Afficher dans Designer
    Asie-Pacifique (Sydney) Afficher Afficher dans Designer
    Asie-Pacifique (Mumbai) Afficher Afficher dans Designer
    Chine (Beijing) Afficher Afficher dans Designer
    Chine (Ningxia) Afficher Afficher dans Designer
    AWS GovCloud (US, côte ouest) Afficher Afficher dans Designer
    AWS GovCloud (US, côte est) Afficher Afficher dans Designer
  2. Sur la page Select Template, choisissez Next.

  3. Sur la page Spécifier les détails, vérifiez les paramètres suivants :

    • VPC : le moyen le plus simple de configurer le service d'exportation Neptune est de l'installer dans le même réseau Amazon VPC que votre base de données Neptune. Si vous souhaitez l'installer dans un VPC distinct, vous pouvez utiliser l'appairage de VPC pour établir la connectivité entre le VPC du cluster de bases de données Neptune et le VPC du service d'exportation Neptune.

    • Subnet1 : le service d'exportation Neptune doit être installé dans un sous-réseau de votre VPC qui autorise le trafic HTTPS IPv4 sortant du sous-réseau vers Internet. Cela permet au service d'exportation Neptune d'appeler l'API AWS Batch pour créer et exécuter une tâche d'exportation.

      Si vous avez créé le cluster Neptune à l'aide du modèle CloudFormation de la page Créer un cluster de bases de données dans la documentation Neptune, vous pouvez utiliser les sorties PrivateSubnet1 et PrivateSubnet2 de cette pile pour renseigner ce paramètre et le suivant.

    • Subnet2 : deuxième sous-réseau du VPC qui autorise le trafic HTTPS IPv4 sortant du sous-réseau vers Internet.

    • EnableIAM : définissez ce paramètre sur true pour sécuriser l'API Neptune-Endpoint à l'aide d'AWS Identity and Access Management (IAM). Nous vous recommandons de le faire.

      Si vous activez l'authentification IAM, vous devez signer avec Sigv4 toutes les demandes HTTPS envoyées au point de terminaison. Vous pouvez utiliser un outil comme awscurl pour signer les demandes en votre nom.

    • VPCOnly : si vous configurez ce paramètre sur true pour que le point de terminaison d'exportation n'accepte que les VPC, vous ne pouvez y accéder que depuis le VPC sur lequel le service d'exportation Neptune est installé. Cela impose l'utilisation de l'API d'exportation Neptune uniquement à partir de ce VPC.

      Nous vous recommandons de définir le VPCOnly à la valeur true.

    • NumOfFilesULimit  : spécifiez une valeur comprise entre 10 000 et 1 000 000 pour nofile dans la propriété du conteneur ulimits. La valeur par défaut est 10 000, et nous vous recommandons de la conserver, sauf si le graphe contient un grand nombre d'étiquettes uniques.

    • PrivateDnsEnabled (valeur booléenne) : indique si vous souhaitez associer une zone hébergée privée au VPC spécifié. La valeur par défaut est true.

      Lorsqu'un point de terminaison VPC est créé et que cet indicateur est activé, tout le trafic API Gateway est acheminé via le point de terminaison VPC, et les appels de point de terminaison API Gateway publics sont désactivés. Si vous définissez PrivateDnsEnabled sur false, le point de terminaison API Gateway public est activé, mais le service d'exportation Neptune ne peut pas être connecté via le point de terminaison DNS privé. Vous pouvez ainsi utiliser un point de terminaison DNS public pour que le point de terminaison VPC appelle le service d'exportation, comme indiqué ici.

  4. Choisissez Next (Suivant).

  5. Dans la page Options, choisissez Suivant.

  6. Sur la page Vérification, cochez la première case pour accepter que AWS CloudFormation créera des ressources IAM. Cochez la deuxième case pour confirmer CAPABILITY_AUTO_EXPAND comme nouvelle pile.

    Note

    CAPABILITY_AUTO_EXPAND accepte explicitement que les macros soient étendues lors de la création de la pile, sans révision préalable. Les utilisateurs créent souvent un jeu de modifications à partir d'un modèle traité, de sorte que les modifications apportées par les macros puissent être révisées avant la création de la pile. Pour plus d'informations, consultez l'API AWS CloudFormation CreateStack.

    Ensuite, choisissez Créer.

Activation de l'accès à Neptune à partir de Neptune-Export

Une fois l'installation de Neptune-Export terminée, mettez à jour le groupe de sécurité VPC Neptune pour autoriser l'accès à partir de Neptune-Export. Une fois que la pile AWS CloudFormation de Neptune-Export a été créée, l'onglet Sorties inclut un ID NeptuneExportSecurityGroup. Mettez à jour le groupe de sécurité VPC Neptune pour autoriser l'accès à partir de ce groupe de sécurité d'exportation Neptune.

Activation de l'accès au point de terminaison d'exportation Neptune à partir d'une instance EC2 basée sur un VPC

Si vous configurez le point de terminaison d'exportation Neptune pour qu'il n'accepte que les VPC, vous ne pouvez y accéder qu'à partir du VPC dans lequel le service d'exportation Neptune est installé. Pour autoriser la connectivité à partir d'une instance Amazon EC2 du VPC à partir de laquelle vous pouvez effectuer des appels d'API d'exportation Neptune, attachez le groupe NeptuneExportSecurityGroup créé par la pile AWS CloudFormation à cette instance Amazon EC2.

Exécution d'une tâche d'exportation Neptune à l'aide de l'API d'exportation Neptune

L'onglet Sorties de la pile AWS CloudFormation inclut également l'élément NeptuneExportApiUri. Utilisez cet URI chaque fois que vous envoyez une demande au point de terminaison d'exportation Neptune.

Exécuter une tâche d'exportation
  • Assurez-vous que l'utilisateur ou le rôle sous lequel l'exportation est exécutée dispose d'une autorisation execute-api:Invoke.

  • Si vous avez défini le paramètre EnableIAM sur true dans la pile AWS CloudFormation lorsque vous avez installé Neptune-Export, vous devez signer toutes les demandes à l'API d'exportation Neptune avec Sigv4. Nous vous recommandons d'utiliser awscurl pour envoyer des demandes à l'API. Tous les exemples présentés ici supposent que l'authentification IAM est activée.

  • Si vous avez défini le paramètre VPCOnly sur true dans la pile AWS CloudFormation lorsque vous avez installé Neptune-Export, vous devez appeler l'API d'exportation Neptune à partir du VPC, généralement à partir d'une instance Amazon EC2 située dans le VPC.

Pour commencer à exporter des données, envoyez une demande au point de terminaison NeptuneExportApiUri avec des paramètres de demande command et outputS3Path, ainsi qu'un paramètre d'exportation endpoint.

Le message suivant est un exemple de demande exportant les données du graphe de propriétés de Neptune et les publiant sur Amazon S3 :

curl \ (your NeptuneExportApiUri) \ -X POST \ -H 'Content-Type: application/json' \ -d '{ "command": "export-pg", "outputS3Path": "s3://(your Amazon S3 bucket)/neptune-export", "params": { "endpoint": "(your Neptune endpoint DNS name)" } }'

De même, voici un exemple de demande qui exporte des données RDF de Neptune vers Amazon S3 :

curl \ (your NeptuneExportApiUri) \ -X POST \ -H 'Content-Type: application/json' \ -d '{ "command": "export-rdf", "outputS3Path": "s3://(your Amazon S3 bucket)/neptune-export", "params": { "endpoint": "(your Neptune endpoint DNS name)" } }'

Si vous omettez le paramètre de demande command, Neptune-Export tente par défaut d'exporter les données du graphe de propriétés depuis Neptune.

Si la commande précédente a été exécutée avec succès, le résultat ressemblera à ceci :

{ "jobName": "neptune-export-abc12345-1589808577790", "jobId": "c86258f7-a9c9-4f8c-8f4c-bbfe76d51c8f" }

Surveillance de la tâche d'exportation que vous venez de commencer

Pour surveiller une tâche en cours d'exécution, ajoutez son JobID à l'élément NeptuneExportApiUri, comme ceci :

curl \ (your NeptuneExportApiUri)(the job ID)

Si le service n'a pas encore lancé la tâche d'exportation, la réponse est la suivante :

{ "jobId": "c86258f7-a9c9-4f8c-8f4c-bbfe76d51c8f", "status": "pending" }

Lorsque vous répétez cette commande après le début de la tâche d'exportation, la réponse se présente comme suit :

{ "jobId": "c86258f7-a9c9-4f8c-8f4c-bbfe76d51c8f", "status": "running", "logs": "https://us-east-1.console.aws.amazon.com/cloudwatch/home?..." }

Si vous ouvrez les journaux dans CloudWatch Logs à l'aide de l'URI fourni par l'appel du statut, vous pouvez suivre la progression de l'exportation en détail :

Capture de l'écran CloudWatch Logs.

Annulation d'une tâche d'exportation en cours d'exécution

Pour annuler une tâche d'exportation à l'aide de la AWS Management Console
  1. Ouvrez la console AWS Batch, à l'adresse https://console.aws.amazon.com/batch/.

  2. Choisissez Tâches.

  3. Localisez la tâche en cours que vous souhaitez annuler, en fonction de son jobID.

  4. Sélectionnez Annuler la tâche.

Pour annuler une tâche d'exportation en cours à l'aide de l'API d'exportation Neptune :

Envoyez une demande HTTP DELETE à NeptuneExportApiUri en y ajoutant jobID, comme ceci :

curl -X DELETE \ (your NeptuneExportApiUri) (the job ID)