era7 bioinformatics R&D group

Neo4j Server and AWS become good friends!

Hi everyone!

Christmas Eve is almost here and there’s still time for a last-minute present. Thanks to CloudFormation and this template I’m about to show you, Neo4j Server is now friends with AWS (Amazon Web Services) and together they bring you the opportunity of getting your own fresh Neo4j Server machine running in just a few clicks!

I created the github repository Neo4jAWS where you can find all the files needed for this, (which are actually not many but probably I’ll be adding more tools for Neo4j and AWS integration soon).

Ok, so what does this CloudFormation template actually do?

  1. It launches an instance in the availability zone you decide and with a type of your choice -_ you should also provide your key-pair_
  2. Attaches the volume including your Neo4j DB to the new instance (you must provide your volume ID)
  3. Downloads the latest Neo4j stable release (1.5) and overwrites the server properties file with your own file(you have to provide a public URL where it should be available)
  4. It finally starts the Neo4j Server previously copying your DB folder under the data server folder (you have to provide the name of that folder as a parameter for the template)

And, what do you have to do?

  1. Go to the CloudFormation section of the AWS console
  2. Click on ‘Create New Stack’ button
  3. Download the template file from the github repository and then select the option ‘Upload a Template File’
  4. You should be seeing now the parameters window where you should enter the values: KeyPairName, Neo4jDBFolder, AvailabilityZone, EBSVolumeID, ServerPropertiesFile **(this should be a public URL), and **InstanceType
  5. Once you’ve reviewed that everything’s OK, just click next and wait for the stack to change to the state CREATE_COMPLETE

UPDATE –> Here you have the set of screenshots you should see in the process:

CloudFormation tab: click on Create new stack button.

Give a name to your stack and choose the option for uploading a file, browsing to the template file you previously downloaded from Neo4jAWS repository. Click ‘Continue’ then.

You should be seeing something like this by now. It’s time to provide all the parameters! When you’re done, click con ‘Continue’ after reviewing the values and just wait for it to change to state ‘CREATE_COMPLETE’ ;)

If nothing weird happens, you should be able to see the WebAdmin in your browser typing as URL the public IP given as output of the stack plus the port you specified in your neo4j-server.properties file.

Beware that the template opens by default the port 7474 for communicating with the Server, if you want to use another port number for any reason, you should change the SecurityGroup manually

As always, please don’t hesitate to give any kind of feedback or suggestion you may have, as well as pointing to possible issues/bugs (you can use github issues in the repository for that).

Happy Holidays!