web-dev-qa-db-fra.com

Connectez-vous à Neptune sur AWS à partir d'une machine locale

J'essaie de me connecter à Neptune DB dans l'instance AWS à partir de ma machine locale au bureau, comme la connexion RDS à partir du bureau. Est-il possible de connecter Neptune db à partir d'une machine locale?. Neptune db est-il accessible au public? Existe-t-il un moyen pour le développeur de connecter Neptune db à partir du bureau?.

10
Sreeraju V

Neptune ne prend pas en charge les points de terminaison publics (points de terminaison accessibles depuis l'extérieur du VPC). Cependant, il existe peu d'options architecturales à l'aide desquelles vous pouvez accéder à votre instance Neptune en dehors de votre VPC. Tous ont le même thème: configurer un proxy (machine EC2, ou ALB, ou quelque chose de similaire, ou une combinaison de ceux-ci) qui réside à l'intérieur de votre VPC, et rendre ce proxy accessible de l'extérieur de votre VPC.

Il semble que vous souhaitiez parler à votre instance uniquement à des fins de développement. L'option la plus simple pour cela serait de faire tourner un ALB et de créer un groupe cible qui pointe vers l'IP de votre instance.

Brèves étapes (celles-ci ne sont pas intentionnellement détaillées, veuillez vous référer à AWS Docs pour des instructions détaillées):

  1. Dig +short <your cluster endpoint> Cela vous donnerait l'adresse IP du maître actuel.

  2. Créez un ALB (consultez AWS Docs pour savoir comment procéder).

  3. Faites pointer le groupe cible de votre ALB vers l'adresse IP obtenue pour l'étape # 1. À la fin de cette étape, vous devriez avoir une écoute ALB sur PORT-A, qui transmettrait les demandes à IP:PORT, où IP est l'adresse IP de votre base de données (à partir de l'étape 1) et PORT est le port de votre base de données (la valeur par défaut est 8182).
  4. Créez un groupe de sécurité qui autorise le trafic entrant de partout. c'est-à-dire entrant TCP pour 0.0.0.0 sur PORT-A.
  5. Attachez le groupe de sécurité à votre ALB

À partir de vos boîtes de développement, vous pouvez vous connecter à votre point de terminaison ALB sur PORT-A, qui transmettrait en interne la demande à votre instance Neptune.

Consultez les documents ALB pour plus de détails sur la façon dont vous pouvez le créer et les concepts qui l'entourent. Si vous avez besoin de moi pour élaborer l'une des étapes, n'hésitez pas à demander.

REMARQUE: ce n'est pas une solution recommandée pour une configuration de production. Les IP utilisées par les instances Neptune sont susceptibles de changer avec les basculements et les remplacements d'hôte. Utilisez cette solution uniquement à des fins de test. Si vous souhaitez une configuration similaire pour la production, n'hésitez pas à poser une question et nous pourrons discuter des options.

8
big-K

Neptune ne vous permet pas de vous connecter à l'instance db à partir de votre machine locale. Vous ne pouvez vous connecter à Neptune que via un EC2 à l'intérieur du même VPC que Neptune ( documentation aws ).

Étapes pour accéder à Neptune à partir du local:

  1. Créez une instance EC2 dans le même VPC que votre cluster Neptune.
  2. Autorisez EC2 à être accédé par votre IP.
  3. Téléchargez la console Apache gremlin dans l'instance EC2.
  4. Décompressez le dossier de la console et ouvrez le fichier Neptune-remote.yaml à l'intérieur.
  5. Modifiez le nom d'hôte dans le fichier yaml en votre point de terminaison de cluster Neptune.
  6. Exécutez le fichier gremlin.sh dans le dossier bin de la console Apache gremlin.
  7. Vous êtes maintenant sur la console Gremlin. Connectez-vous à distance à votre cluster Neptune à l'aide de la commande suivante:: connexion à distance tinkerpop.server conf/Neptune-remote.yaml
  8. utilisez la commande: console distante pour accéder à distance à votre console de cluster Neptune.

Toutes les commandes gremlin s'exécuteront désormais directement sur votre graphe Neptune.

documentation AWS pour les étapes 3 à 8.

0
Priyank Agrawal

Comme déjà mentionné, vous ne pouvez pas accéder directement à l'extérieur de votre VPC.
Ceci décrit une autre solution de tunnel SSH: connection-to-aws-Neptune-from-local-environment . Vous pouvez également créer le tunnel SSH avec PuTTY.

0
Avner Levy