Utilisation AWS CloudFormation pour configurer la réplication de Neptune à Neptune avec l'application Streams Consumer - 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 AWS CloudFormation pour configurer la réplication de Neptune à Neptune avec l'application Streams Consumer

Vous pouvez utiliser un AWS CloudFormation modèle pour configurer l'application grand public Neptune Streams afin de prendre en charge la réplication de Neptune à Neptune.

Choisissez un AWS CloudFormation modèle pour votre région

Pour lancer la AWS CloudFormation pile appropriée sur la AWS CloudFormation console, cliquez sur l'un des boutons Launch Stack du tableau suivant, en fonction de la AWS région que vous souhaitez utiliser.

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 (Tokyo) Afficher Afficher dans Designer
Asie-Pacifique (Hong Kong) 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-Ouest) Afficher Afficher dans Designer
AWS GovCloud (USA Est) Afficher Afficher dans Designer

Sur la page Créer une pile choisissez Suivant.

Ajout de détails sur la pile de consommateurs de flux Neptune que vous créez

La page Spécifier les détails de la pile fournit les propriétés et les paramètres que vous pouvez utiliser pour contrôler la configuration de l'application :

Nom de la pile : nom de la nouvelle AWS CloudFormation pile que vous créez. Vous pouvez généralement utiliser la valeur par défaut, NeptuneStreamPoller.

Sous Paramètres, indiquez ce qui suit :

Configuration réseau du VPC sur lequel le consommateur de flux est exécuté
  • VPC : indiquez le nom du VPC où la fonction Lambda d'interrogation sera exécutée.

  • SubnetIDs : sous-réseaux avec lesquels une interface réseau est établie. Ajoutez des sous-réseaux correspondant à votre cluster Neptune.

  • SecurityGroupIds : fournissez les ID des groupes de sécurité qui accordent un accès entrant en écriture à votre cluster de bases de données Neptune source.

  • RouteTableIds : nécessaire pour créer un point de terminaison Amazon DynamoDB dans votre VPC Neptune, si vous n'en avez pas déjà un. Vous devez fournir une liste séparée par des virgules des ID de table de routage associés aux sous-réseaux.

  • CreateDDBVPCEndPoint : valeur booléenne qui est true par défaut et qui indique s'il est nécessaire ou non de créer un point de terminaison de VPC Dynamo DB. Vous n'avez besoin de la remplacer par false que si vous avez déjà créé un point de terminaison DynamoDB dans votre VPC.

  • CreateMonitoringEndPoint : valeur booléenne qui est true par défaut et qui indique s'il est nécessaire ou non de créer un point de terminaison de VPC de surveillance. Vous n'avez besoin de la modifier en false que si vous avez déjà créé un point de terminaison de surveillance dans votre VPC.

Interrogateur de flux
  • ApplicationName : vous pouvez généralement conserver la valeur par défaut (NeptuneStream). Si vous utilisez un nom différent, il doit être unique.

  • LambdaMemorySize : utilisé pour définir la taille de mémoire disponible pour la fonction d'interrogateur Lambda. La valeur par défaut est 2 048 mégaoctets.

  • LambdaRuntime : langage utilisé dans la fonction Lambda qui extrait les éléments du flux Neptune. Vous pouvez définir ce paramètre sur python3.9 ou sur java8.

  • LambdaS3Bucket : compartiment Amazon S3 qui contient les artefacts de code Lambda. Laissez cette case vide, sauf si vous utilisez une fonction d'interrogation Lambda personnalisée qui se charge à partir d'un compartiment Amazon S3 différent.

  • LambdaS3Key : clé Amazon S3 qui correspond aux artefacts de code Lambda. Laissez ce champ vide, sauf si vous utilisez une fonction d'interrogation Lambda personnalisée.

  • LambdaLoggingLevel : en général, conservez la valeur par défaut, qui est INFO.

  • ManagedPolicies : répertorie les politiques gérées à utiliser pour exécuter la fonction Lambda. En général, laissez ce champ vide, sauf si vous utilisez une fonction d'interrogation Lambda personnalisée.

  • StreamRecordsHandler : en général, laissez ce champ vide, sauf si vous utilisez un gestionnaire personnalisé pour les enregistrements dans les flux Neptune.

  • StreamRecordsBatchSize : nombre maximal d'enregistrements à extraire du flux. Vous pouvez utiliser ce paramètre pour régler les performances. La valeur par défaut (5000) est un bon endroit pour commencer. Le maximum autorisé est de 10 000. Plus le nombre est élevé, moins les appels réseau sont nécessaires pour lire les enregistrements du flux, mais plus la mémoire est nécessaire pour traiter les enregistrements. Des valeurs plus faibles pour ce paramètre se traduisent par une baisse du débit.

  • MaxPollingWaitTime : temps d'attente maximal entre deux interrogations (en secondes). Détermine la fréquence à laquelle l'interrogateur Lambda est appelé pour interroger les flux Neptune. Définissez cette valeur sur 0 pour l'interrogation continue. La valeur maximale est de 3 600 secondes (1 heure). La valeur par défaut (60 secondes) est un bon point de départ, en fonction de la vitesse à laquelle vos données de graphe changent.

  • MaxPollingInterval : période d'interrogation continue maximale (en secondes). Utilisez ce paramètre afin de définir un délai d'expiration pour la fonction d'interrogation Lambda. Cette valeur doit être comprise entre 5 et 900 secondes. La valeur par défaut (600 secondes) est un bon point de départ.

  • StepFunctionFallbackPeriod— Le nombre d'unités step-function-fallback-period à attendre pour le sondeur, après quoi la fonction step est appelée via Amazon CloudWatch Events pour se remettre d'une panne. La valeur par défaut (5 minutes) est un bon point de départ.

  • StepFunctionFallbackPeriodUnit : unités de temps utilisées pour mesurer l'élément StepFunctionFallbackPeriodUnit précédent (minutes, hours ou days). La valeur par défaut (minutes) est généralement suffisante.

Flux Neptune
  • NeptuneStreamEndpoint : (obligatoire) point de terminaison du flux source Neptune. Ce paramètre prend l'une des deux formes suivantes :

    • https://your DB cluster:port/propertygraph/stream (ou son alias, https://your DB cluster:port/pg/stream).

    • https://your DB cluster:port/sparql/stream.

  • Neptune Query Engine : choisissez Gremlin, openCypher ou SPARQL.

  • IAMAuthEnabledOnSourceStream : si votre cluster de bases de données Neptune utilise l'authentification IAM, définissez ce paramètre sur true.

  • StreamDBClusterResourceId : si votre cluster de bases de données Neptune utilise l'authentification IAM, définissez ce paramètre sur l'ID de ressource du cluster. L'ID de ressource n'est pas le même que l'ID de cluster. Elle prend plutôt la forme : cluster- suivi de 28 caractères alphanumériques. Vous pouvez le trouver sous Détails du cluster dans la console Neptune.

Cluster de bases de données Neptune cible
  • TargetNeptuneClusterEndpoint : point de terminaison (nom d'hôte uniquement) du cluster de sauvegarde cible.

    Notez que si vous spécifiez TargetNeptuneClusterEndpoint, vous ne pouvez pas renseigner aussi TargetSPARQLUpdateEndpoint.

  • TargetNeptuneClusterPort : numéro de port du cluster cible.

    Notez que si vous spécifiez TargetSPARQLUpdateEndpoint, le paramètre correspondant à TargetNeptuneClusterPort est ignoré.

  • IAMAuthEnabledOnTargetCluster : défini sur true si l'authentification IAM doit être activée sur le cluster cible.

  • TargetAWSRegion— La AWS région du cluster de sauvegarde cible, telle queus-east-1). Vous devez fournir ce paramètre uniquement lorsque la AWS région du cluster de sauvegarde cible est différente de celle du cluster source Neptune, comme dans le cas d'une réplication entre régions. Si les régions source et cible sont identiques, ce paramètre est facultatif.

    Notez que si la TargetAWSRegion valeur n'est pas une AWS région valide prise en charge par Neptune, le processus échoue.

  • TargetNeptuneDBClusterResourceId : facultatif : nécessaire uniquement lorsque l'authentification IAM est activée sur le cluster de bases de données cible. Défini sur l'ID de ressource du cluster cible.

  • SPARQLTripleOnlyMode : indicateur booléen qui détermine si le mode triple uniquement est activé. En mode triple uniquement, il n'y a pas de réplication de graphes nommés. La valeur par défaut est false.

  • TargetSPARQLUpdateEndpoint : URL du point de terminaison cible pour la mise à jour SPARQL, telle que https://abc.com/xyz. Ce point de terminaison peut être n'importe quel magasin SPARQL qui prend en charge les quadruplets ou les triplets.

    Notez que si vous spécifiez TargetSPARQLUpdateEndpoint, vous ne pouvez pas renseigner aussi TargetNeptuneClusterEndpoint, et le paramètre TargetNeptuneClusterPort est ignoré.

  • BlockSparqlReplicationOnBlankNode — Indicateur booléen qui, s'il est défini surtrue, arrête la réplication des données BlankNode dans SPARQL (RDF). La valeur par défaut est false.

alerte
  • Required to create Cloud watch Alarm— Réglez ce true paramètre sur si vous souhaitez créer une CloudWatch alarme pour la nouvelle pile.

  • SNS Topic ARN for Cloudwatch Alarm Notifications— L'ARN de la rubrique SNS où les notifications CloudWatch d'alarme doivent être envoyées (uniquement nécessaire si les alarmes sont activées).

  • Email for Alarm Notifications : adresse e-mail à laquelle les notifications d'alarme doivent être envoyées (uniquement si les alarmes sont activées).

Pour la destination de la notification d'alarme, vous pouvez ajouter la rubrique SNS uniquement, l'adresse e-mail uniquement ou les deux.

Exécuter le AWS CloudFormation modèle

Vous pouvez maintenant terminer le processus de provisionnement d'une instance d'application grand public de flux Neptune comme suit :

  1. Dans AWS CloudFormation, sur la page Spécifier les détails de la pile, choisissez Next.

  2. Dans la page Options, choisissez Suivant.

  3. 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' AWS CloudFormation CreateStackAPI dans le Guide de référence des AWS CloudFormation API.

    Ensuite, choisissez Créer.

Pour mettre à jour l'interrogateur de flux avec les derniers artefacts Lambda

Pour mettre à jour l'interrogateur de flux avec les derniers artefacts Lambda, procédez comme suit :

  1. Dans le AWS Management Console, naviguez jusqu'à la AWS CloudFormation pile parent principale AWS CloudFormation et sélectionnez-la.

  2. Sélectionnez l'option Mettre à jour correspondant à la pile.

  3. Sélectionnez Remplacer le modèle actuel.

  4. Pour la source du modèle, choisissez URL Amazon S3 et indiquez l'URL S3 suivante :

    https://aws-neptune-customer-samples.s3.amazonaws.com/neptune-stream/neptune_to_neptune.json
  5. Sélectionnez Next sans modifier aucun AWS CloudFormation paramètre.

  6. Choisissez Mettre à jour la pile.

La pile met à jour les artefacts Lambda avec les artefacts les plus récents.