AWS SAM local invocation of lambda to access AWS Neptune over VPC

0

I need to be able to invoke a lambda locally which accesses AWS Neptune. I have setup SSH local forwarding via an EC2. How do I make this work inside lambda with sam local invoke?

Vivek
demandé il y a 2 ans433 vues
1 réponse
0
Réponse acceptée

The solution here may depend on what OS you're using for your desktop and where you are running the SAM CLI. Docker behaves a bit differently in each OS. Running on MacOS, I can reach the SSH tunnel if I use 'wss://docker.for.mac.localhost:8182/gremlin' as my Neptune endpoint (just change gremlin to oc or sparql for the other languages). I believe this also works with host.docker.internal as a more generic host name that forwards back to localhost on your desktop OS.

The other thing you'll need to consider is SSL verification. Neptune no longer allows you to disable SSL on the cluster side. If you're just doing this for test/development, you can ignore SSL verification. For Gremlin specifically, you can do this by adding a verify_ssl=False parameter when creating the DriverRemoteConnection:

conn = DriverRemoteConnection(neptune_endpoint, 'g', pool_size=1, message_serializer=serializer.GraphSONSerializersV2d0(), verify_ssl=False)
g = traversal().withRemote(conn)
profile pictureAWS
répondu il y a 2 ans
  • Thank you so much Taylor! That verify_ssl flag was super useful.

Vous n'êtes pas connecté. Se connecter pour publier une réponse.

Une bonne réponse répond clairement à la question, contient des commentaires constructifs et encourage le développement professionnel de la personne qui pose la question.

Instructions pour répondre aux questions