Neo4j on Azure

Neo4j can be easily deployed on Virtual Machine instances in Microsoft Azure by using the official listing for Neo4j Enterprise or Neo4j Community Edition on the Azure Marketplace.

The Azure Marketplace listing uses an Azure Resource Manager (ARM) template maintained by Neo4j. The template’s code is available on GitHub and can be customized to meet more complex or bespoke use cases.

Neo4j does not provide Azure Marketplace Virtual Machine Images with a pre-installed version of the product. The Neo4j Azure Marketplace listings (and listings on GitHub) use Azure Resource Manager (ARM) templates that deploy and configure Neo4j dynamically with a shell script.

Supported Neo4j versions

The Neo4j Azure marketplace listing can be configured to deploy either Neo4j Enterprise Edition 5 or 4.4, or Neo4j Community Edition 5. The ARM template always installs the latest available minor version of each release. For example, the latest minor release of Neo4j 5 is 5.18.

Neo4j ARM template

Azure Resource Manager (ARM) is a declarative Infrastructure as Code (IaC) language that is based on JSON and instructs Azure to deploy a set of cloud resources.

The Neo4j ARM template takes several parameters as inputs, deploys a set of cloud resources, and provides outputs that can be used to connect to a Neo4j DBMS.

Important considerations

  • The deployment of cloud resources will incur costs.

  • A resource group will need to be created.

    • You will need to choose an empty resource group or create a new one.

  • An active Azure subscription is required.

Input parameters (Instance Details)

Parameter Name Description

Region

The Azure region in which cloud resources should be deployed.

Admin password

A password for the neo4j user. The password must be between 12 and 72 characters long, and contain characters from at least 3 of the following groups: uppercase characters, lowercase characters, numbers, and special characters.

Input parameters (Neo4j Config)

Parameter Name Description

Virtual Machine Size

The class of Azure VM Instances to use.

Node Count

The number of desired Virtual Machine instances to be used to form a Neo4j cluster (a minimum of 3 instances is required to form a cluster).

Disk Size

Size (in GB) of the secondary volume on each Azure VM instance.

Graph Database Version

Select "5" for the latest minor version of Neo4j 5, or select "4.4" for the latest minor version of Neo4j 4.4.

Install Graph Data Science

An option to install Graph Data Science (GDS). Accepted values are Yes or No.

Graph Data Science License Key

A valid GDS license key can be pasted into this field. License keys will be sent to and stored by Neo4j. This information is used only for product activation purposes.

Install Bloom

Optionally install Neo4j Bloom. Accepted values are Yes or No.

Bloom License Key

A valid Bloom license key can be pasted into this field. License keys will be sent to and stored by Neo4j. This information is used only for product activation purposes.

Deployed cloud resources

The environment created by the ARM template consists of the following Azure resources:

  • 1 Virtual Network, with a CIDR range (address space) of 10.0.0.0/8.

    • A single subnet with the following CIDR range:

      • 10.0.0.0/16

    • A network security group.

  • A Virtual Machine Scale-Set (VMSS), which creates:

    • 1, or between 3 and 10 Virtual Machine instances (Depending on whether a single instance or an autonomous cluster is selected).

  • 1 Load Balancer.

Template outputs

After the deployment finishes successfully, the ARM template provides the following outputs, which can be found in the Outputs section of the deployments page in the Azure console.

At the end of the deployment process, Azure runs a validation. If the validation fails, it might be because you have chosen VMs that are too large and exceed your Azure quota.

Output Name Output Description

neo4jBrowserURL

The http URL of the Neo4j Browser.

username

The username neo4j which will be required to log into the Neo4j Browser

Cluster version consistency

When the ARM template creates a new Neo4j cluster, a Virtual Machine Scale Set (VMSS) is created and tagged with the minor version of the installed Neo4j database. If you add more VM instances to your VMSS, they will be installed using the same minor version, ensuring that all Neo4j cluster servers are installed with the same version, regardless of when the VM instances were created.

Licensing

Installing and starting Neo4j from the Azure marketplace constitutes an acceptance of the Neo4j license agreement. When deploying Neo4j, users are required to confirm that they either have an enterprise license.

If you require the Enterprise version of either Graph Data Science or Bloom, you need to provide a key issued by Neo4j as this will be required during the installation.

To obtain a valid license for either Neo4j, Bloom, or GDS, reach out to your Neo4j account representative or get in touch using the contact form.

Delete Azure deployment Stack and destroy resources

In order to completely delete the deployment, the resource group can be deleted.