Neo4j Community 3.4.1 has recently been released on Amazon Web Services. There are a lot of options for running Neo4j; I’ll provide a list below, but this article is going to focus on launching a Community Edition VM, licensed under the GNU GPL, so it’s free (except for the EC2 charges), quick, and easy.
Community edition is really cool because people all over the internet pick it up and do fun things with it that we at Neo4j never would have anticipated. So availability of community on the biggest cloud was a no brainer. We want to see all of those cool applications of Neo4j, from doing cell biology to tracking murder investigations, to building a dating site.
Before we get started, just a note that Neo4j now has several options on AWS depending on what you need:
- Neo4j Community AWS Marketplace, which permits launching instances into VPCs easily
- Neo4j Enterprise Causal Cluster, which deploys multi-node clusters for license holders, those in our startup program, and evaluators.
Go to your AWS EC2 Dashboard, and select “Images > AMIs” on the left-hand side. Select “Public Images” in the drop down, and simply search for “neo4j-community”. You’ll see that several results come up, but you’ll know you have the right one (highlighted) when you see that the source field includes “aws-marketplace”.
Right click on that image, and select “Launch”.
AWS is going to step us through a configuration process next. We’re going to choose a very small machine (t2.micro) which has very little hardware, but it’s good enough to get a proof of concept going, and it’s cheap.
We can then click “Review and Launch” which gets us to a summary screen and allows us to skip a lot of other steps which we don’t need right now.
Configuring Network Access Rules
Make sure to do this next step carefully; probably the most common way users get frustrated launching cloud instances is that they forget to specify network access rules, the public clouds let almost nothing in by default.
In the screenshot above, click “Edit Security Groups” and fill out the form as follows. This is going to permit us to send traffic to our instance on three different ports as indicated. 0.0.0.0/0 just means “allow from all IPs on the internet”, which you can tailor to be more specific if you know your IP range.
Finally, after clicking “Review and Launch”, we get back to the screen that asks us to confirm everything. Simply click “Launch”. One last step — choosing an SSH keypair. This is an important step, without which you can’t SSH into your new machine. If you need help creating a new one, consult the AWS documentation here. For now, I’ll choose a key I use frequently, and hit “Launch Instance”.
That’s Really It!
Your instance will take a few minutes to come up. In the EC2 console, once you see that your instance is running like so, then you’re good to go.
Accessing Your New Graph
Accessing your instance just requires that you look up the public IP of the instance, and then go to https://MY_PUBLIC_IP:7473
Your username will be “neo4j” and your password will be the Instance ID from the EC2 console above.
Your browser may warn you about the untrusted SSL, because we haven’t set up a certificate, but you can accept this new certificate and move on.
If connecting to this IP address times out, by far the usual case is an error with the security groups listed above. Remember that AWS firewalls everything out (and I mean everything) unless you explicitly unblock it. So if you run into trouble, make sure TCP traffic on port 7473 is permitted.
If this is your first time with Neo4j, drop by the Neo4j user slack and say hello to us. Even better, build a cool GRAND Stack app, or your own experiment and let us know about it, we really love hearing about new applications.
Happy Graph Hacking!