I am trying to connect to Neptune DB in AWS Instance from my local machine in office,like connecting RDS from office.Is it possible to connect Neptune db from local machine?. Is Neptune db publicly available.Is there any way developer can connect neptune db from office.
问题:
回答1:
Neptune does not support public endpoints (endpoints that are accessible from outside the VPC). However, there are few architectural options using which you can access your Neptune instance outside your VPC. All of them have the same theme: setup a proxy (EC2 machine, or ALB, or something similar, or a combination of these) that resides inside your VPC, and make that proxy accessible from outside your VPC.
It seems like you want to talk to your instance purely for development purposes. The easiest option for that would be to spin up an ALB, and create a target group that points to your instance's IP.
Brief Steps (These are intentionally not in detail, please refer to AWS Docs for detailed instructions):
dig +short <your cluster endpoint>
This would give you the current master's IP address.Create an ALB (See AWS Docs on how to do this).
- Make your ALB's target group point to the IP Address obtained for step #1. By the end of this step, you should have an ALB listening on
PORT-A
, that would forward requests toIP:PORT
, whereIP
is your database IP (from Step 1) andPORT
is your database port (default is8182
). - Create a security group that allows inbound traffic from everywhere. i.e. Inbound TCP rule for
0.0.0.0
onPORT-A
. - Attach the security group to your ALB
Now from your developer boxes, you can connect to your ALB endpoint at PORT-A, which would internally forward the request to your Neptune instance.
Do checkout ALB docs for details around how you can create it and the concepts around it. If you need me to elaborate any of the steps, feel free to ask.
NOTE: This is not a recommended solution for a production setup. IP's used by Neptune instances are bound to change with failovers and host replacements. Use this solution only for testing purposes. If you want a similar setup for production, feel free to ask a question and we can discuss options.
回答2:
Neptune doesn't allow you to connect to the db instance from your local machine. You can only connect to Neptune via an EC2 inside the same VPC as Neptune (aws documentation).
Steps to access neptune from local:
- Create an EC2 instance in the same VPC as your neptune cluster.
- Allow EC2 to be accessed by your IP.
- Download apache gremlin console in the EC2 instance.
- Unzip the console folder and open the neptune-remote.yaml file inside.
- Change the host name in yaml file to your neptune cluster endpoint.
- Run gremlin.sh file inside the bin folder of apache gremlin console.
- You are now at gremlin console. Remote connect to your neptune cluster using the following command- :remote connect tinkerpop.server conf/neptune-remote.yaml
- use command :remote console to remotely access your neptune cluster console.
All gremlin commands will now run directly on your neptune graph.
AWS documentation for steps 3-8.
回答3:
Hi you can connect NeptuneDB by using gremlin console at your local machine. USE THIS LINK to setup your local gremlin server, it works for me gremlin 3.3.2 version Only you have to update the remote.yaml as per your url and port