Using Neo4j Browser to access Neo4j deployed on AWS EC2

(Manish Giri) #1

If I deploy Neo4j on AWS EC2, Is it possible to use Neo4j Browser to access neo4j and run Cypher queries? I ask because my code to create nodes and relationships and query them is all in Cypher. I have been using my own laptop so far, but the next dataset is huge, and might require more RAM/storage, so I need to use EC2 for this.

If it is possible, would appreciate if anyone has any links/resources that help with deploying neo4j on ec2 and access it using Neo4J Browser.

Many Thanks.

0 Likes

(Benjamin Squire) #2

Definitely possible. I run my Neo4j on EC2 all the time. Change the config file to be accessible to non-local, i.e. - 0.0.0.0 (you should see the line for it ). Change EC2 to have elastic IP and be publicly accessible. If you are behind a firewall make sure you can ssh into the EC2, should allow you to hit it from http://<my.elastic.ip.address>:7474/browser. you can either set up a neo4j service as seen by https://neo4j.com/docs/operations-manual/current/installation/linux/debian/ or just create a tmux session and run NEO4J_HOME/bin neo4j console.

You can also leave it local and if you can ssh into the instance then just run NEO4J_HOME/bin cypher-shell, although I normally change the default password via the browser. BTW, EBS-optimized instances suck for normal writing and reading, even on large machines with big IOPS. Best to use the instance storage SSD even though they are ephemeral and then back up the tar gz the graph.db and save to an EBS if you need to snapshot your data.

0 Likes

(Jgaskins) #3

Absolutely. The docs have great installation instructions for Linux. After you install it, make sure you have these lines set in your /etc/neo4j/neo4j.conf:

dbms.connectors.default_listen_address=0.0.0.0 # Listen for remote connections
dbms.connector.bolt.enabled=true
dbms.connector.https.enabled=true

I would recommend setting dbms.connector.http.enabled=false so you're not sending credentials and data over the wire in plaintext — use https on port 7473 instead. You don't need to worry about the certificate warnings, your connection is encrypted even with a self-signed cert (created by default, so you don't even need to do that yourself).

0 Likes