Neo4j Enterprise Edition on the AWS Cloud

Quick Start deployment guide

QS

February 2022
Ben Lackey, Neo4j
Antony Prasad, AWS Data & Analytics Partner team
Suresh Veeragoni, AWS Integration & Automation team

See the GitHub repository to view source files, report bugs, submit feature ideas, and post feedback about this Quick Start. To comment on the documentation, see Feedback.

This Quick Start was created by Neo4j in collaboration with Amazon Web Services (AWS). Quick Starts are automated reference deployments that help people deploy popular technologies on AWS according to AWS best practices.

Overview

This Quick Start deploys Neo4j Enterprise Edition on the AWS Cloud. If you are unfamiliar with AWS Quick Starts, refer to the AWS Quick Start General Content Guide.

Costs and licenses

This Quick Start requires a license for Neo4j. To use the Quick Start in your production environment, sign up for a license at Neo4j Licensing. For information about the trial license, refer to the Neo4j Evaluation Agreement for Neo4j Software.

There is no cost to use this Quick Start, but you will be billed for the resources deployed. For more information, refer to the AWS Quick Start General Content Guide.

Architecture

Deploying this Quick Start with default parameters builds the following Neo4j environment in the AWS Cloud.

Architecture
Figure 1. Quick Start architecture for Neo4j on AWS

As shown in Figure 1, the Quick Start sets up the following:

  • A highly available architecture that spans three Availability Zones.

  • In the public subnets:

    • Managed network address translation (NAT) gateways in all three Availability Zones to allow outbound internet access for resources in the private subnets.

    • Amazon Elastic Compute Cloud (Amazon EC2) Linux instances in all three Availability Zones with Neo4j installed and configured in an Auto Scaling group for external access. Within this database management system (DBMS) cluster, each instance has either a leader or a follower role.

    • Amazon Elastic Block Storage (Amazon EBS) gp3 volumes in all three Availability Zones to store the Neo4j database.

This Quick Start does not support shared subnets.
By default, to give users a better experience when getting started with Neo4j, this Quick Start deploys in a public subnet. If you’re deploying this Quick Start in a production environment, consider using a private subnet. A private subnet limits how you access the Neo4j application and Neo4j Browser over the public internet. For more information, refer to Connect your VPC to remote networks.

Deployment options

This Quick Start provides one deployment option:

The Quick Start provides one template, in which you can configure various parameters.

Deployment steps

  1. Sign in to your AWS account, and launch a deployment option, as described under Deployment options. The AWS CloudFormation console opens with a prepopulated template. Each deployment option takes about 5 minutes to complete.

  2. Ensure that you are in the correct Region, and choose Next to enter parameter values.

  3. On the Create stack page, keep the default setting for the template URL, and then choose Next.

  4. On the Specify stack details page, change the stack name if needed. Review the parameters for the template. Provide values for the parameters that require input. For all other parameters, review the default settings and customize them as necessary. When you finish reviewing and customizing the parameters, choose Next.

    Unless you are customizing the Quick Start templates for your own projects, don’t change the default settings for the parameters Quick Start S3 bucket name, Quick Start S3 bucket Region, and Quick Start S3 key prefix. Changing these settings automatically updates code references to point to a new Quick Start location. For more information, see the AWS Quick Start Contributor’s Guide.
  5. On the Configure stack options page, you can specify tags (key-value pairs) for resources in your stack and set advanced options. When you finish, choose Next.

  6. On the Review page, review and confirm the template settings. Under Capabilities, select the two check boxes to acknowledge that the template creates IAM resources that might require the ability to automatically expand macros.

  7. Choose Create stack to deploy the stack.

  8. Monitor the stack’s status, and when the status is CREATE_COMPLETE, the Neo4j Enterprise Edition deployment is ready.

  9. To view the created resources, choose the Outputs tab.

Test the deployment

  1. Open the Amazon EC2 console, and connect to any of the three deployed EC2 instances.

  2. In a web browser, go to http://<your server>:7474 OR https://<your server>:7473, replacing <your server> with the name of with either the public IP address or DNS name of your EC2 instance. The login page appears, as shown in Figure 2.

    neo4j-login
    Figure 2. Neo4j login page
  3. Log in to the Neo4j application with the user name neo4j and the password that you supplied during the deployment. The main page appears, as shown in Figure 3.

    neo4j-main-page
    Figure 3. Neo4j application main page
  4. Run CALL dbms.cluster.overview() to check the status of the DBMS cluster. Information appears about each member of the cluster, as shown in Figure 4.

    DBMS cluster overview
    Figure 4. DBMS cluster overview
  5. (Optional) Print the library version.

    1. Open Neo4j Browser.

    2. Run RETURN gds.version(), as shown in Figure 5.

      Return GDS version
      Figure 5. GDS version

Additional information

Troubleshooting

For troubleshooting common Quick Start issues visit the AWS Quick Start General Content Guide or the Troubleshooting CloudFormation page in the AWS documentation.

After you successfully deploy a Quick Start, confirm that your resources and services are updated and configured — including any required patches — to meet your security and other needs. For more information, see the Shared Responsibility Model.

Feedback

To submit feature ideas and report bugs, use the Issues section of the GitHub repository for this Quick Start. To submit code, see the Quick Start Contributor’s Guide. For all other feedback, use the following GitHub links:

Notices

This document is provided for informational purposes only. It represents current AWS product offerings and practices as of the date of issue of this document, which are subject to change without notice. Customers are responsible for making their own independent assessment of the information in this document and any use of AWS products or services, each of which is provided “as is” without warranty of any kind, whether expressed or implied. This document does not create any warranties, representations, contractual commitments, conditions, or assurances from AWS, its affiliates, suppliers, or licensors. The responsibilities and liabilities of AWS to its customers are controlled by AWS agreements, and this document is not part of, nor does it modify, any agreement between AWS and its customers.

The software included with this paper is licensed under the Apache License, version 2.0 (the "License"). You may not use this file except in compliance with the License. A copy of the License is located at http://aws.amazon.com/apache2.0/ or in the accompanying "license" file. This code is distributed on an "as is" basis, without warranties or conditions of any kind, either expressed or implied. See the License for specific language governing permissions and limitations.