You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: modules/ROOT/pages/cloud-deployments/neo4j-aws.adoc
+95-51Lines changed: 95 additions & 51 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,12 +1,12 @@
1
1
:description: Deploy Neo4j on Amazon Web Services (AWS) directly from the AWS Marketplace or by using the Neo4j CloudFormation templates hosted on GitHub.
2
+
:page-role: enterprise-edition
2
3
[[aws]]
3
4
= Neo4j on AWS
4
5
5
-
Neo4j can be easily deployed on EC2 instances in Amazon Web Services (AWS) by using the link:https://aws.amazon.com/marketplace/seller-profile?id=23ec694a-d2af-4641-b4d3-b7201ab2f5f9[official listings for Neo4j] on the AWS Marketplace.
6
-
7
-
The AWS Marketplace listing uses a CloudFormation template maintained by Neo4j.
8
-
The template's code is available on link:https://github.com/neo4j-partners/amazon-cloud-formation-neo4j/tree/main/marketplace[GitHub] and can be customized to meet more complex or bespoke use cases.
6
+
Neo4j can be easily deployed on EC2 instances in Amazon Web Services (AWS) by using the link:https://aws.amazon.com/marketplace/pp/prodview-akmzjikgawgn4?sr=0-2&ref_=beagle&applicationId=AWSMPContessa[official listing for Neo4j Enterprise Edition] on the AWS Marketplace.
9
7
8
+
The AWS Marketplace listing uses a CloudFormation template maintained by Neo4j, which can be customized to meet more complex or bespoke use cases.
9
+
See <<neo4j-cloudformation-template>> for more information about the Neo4j CloudFormation template.
10
10
11
11
[NOTE]
12
12
====
@@ -16,72 +16,120 @@ The Neo4j AWS Marketplace listings (and listings on GitHub) use CloudFormation t
16
16
17
17
== Supported Neo4j versions
18
18
19
-
The Neo4j link:https://aws.amazon.com/marketplace/seller-profile?id=23ec694a-d2af-4641-b4d3-b7201ab2f5f9[AWS marketplace listing] can be configured to deploy either Neo4j Enterprise Edition 5 or 4.4.
20
-
The CloudFormation template always installs the latest available minor version of each release.
21
-
For example, the latest minor release of Neo4j 5 is {neo4j-version-minor}.
19
+
The Neo4j link:https://aws.amazon.com/marketplace/seller-profile?id=23ec694a-d2af-4641-b4d3-b7201ab2f5f9[AWS marketplace listing] can be configured to deploy either Neo4j Enterprise Edition 2025.x or 5.26 LTS.
20
+
The CloudFormation template always installs the latest available version.
22
21
22
+
[[neo4j-cloudformation-template]]
23
23
== Neo4j CloudFormation template
24
24
25
25
AWS CloudFormation is a declarative Infrastructure as Code (IaC) language that is based on YAML and instructs AWS to deploy a set of cloud resources.
26
-
The Neo4j CloudFormation template repository contains code for Neo4j 5 on the `main` branch and code for Neo4j 4.4 on the `Neo4j-4.4` branch:
27
-
28
-
* link:https://github.com/neo4j-partners/amazon-cloud-formation-neo4j/tree/main/marketplace[CloudFormation template for Neo4j 5].
29
-
* link:https://github.com/neo4j-partners/amazon-cloud-formation-neo4j/tree/Neo4j-4.4/marketplace[CloudFormation template for Neo4j 4.4].
30
26
31
-
The Neo4j CloudFormation 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.
27
+
The Neo4j CloudFormation template's code is available on link:https://github.com/neo4j-partners/amazon-cloud-formation-neo4j/blob/main/marketplace/neo4j-enterprise/neo4j.template.yaml[GitHub].
28
+
It takes several parameters as inputs, deploys a set of cloud resources, and provides outputs that can be used to connect to a Neo4j DBMS.
32
29
33
30
=== Important considerations
34
31
35
-
* The deployment of cloud resources will incur costs.
36
-
** Refer to the link:https://calculator.aws[AWS pricing calculator]for more information.
32
+
* The deployment of cloud resources incurs costs.
33
+
Refer to the link:https://calculator.aws[AWS pricing calculator]for more information.
37
34
38
35
* The Neo4j CloudFormation template deploys a new VPC.
39
-
** AWS accounts are limited to an initial quota of 5 VPCs (you can view your current quota by viewing the *Limits* page of the Amazon EC2 console).
36
+
** AWS accounts are limited to an initial quota of 5 VPCs (you can view your current quota on the *Limits* page of the Amazon EC2 console).
40
37
** Your VPC quota can be increased if needed by contacting AWS support.
41
38
42
39
* The Neo4j CloudFormation template uses an Auto Scaling group (ASG) to deploy EC2 instances.
43
-
** This means that to stop or terminate EC2 instances, you must first remove them from the ASG, otherwise, the ASG will automatically replace them.
40
+
This means that to stop or terminate EC2 instances, you must first remove them from the ASG, otherwise, the ASG will automatically replace them.
44
41
45
42
* SSH Keys are not generated as part of the CloudFormation template.
46
-
** Use EC2 Instance Connect (via the EC2 console) to connect to deployed EC2 instances if needed.
43
+
Use EC2 Instance Connect (via the EC2 console) to connect to deployed EC2 instances if needed.
| The AMI that will be used to launch EC2 resources.
57
+
|
58
+
| ami-07f83a354c934b879
55
59
56
-
| Stack Name
57
-
| A name for the CloudFormation stack to be deployed, e.g., `my-neo4j-cluster`. Stack name can include letters (A-Z and a-z), numbers (0-9), and dashes (-).
60
+
| Neo4j License Type
61
+
| Select `Enterprise` if you already have a Neo4j Enterprise License, otherwise select `Evaluation`.
62
+
| `Enterprise` or `Evaluation`
63
+
| Evaluation
58
64
59
65
| Install Graph Data Science
60
-
| An option to install Graph Data Science (GDS). Accepted values are `Yes` or `No`.
66
+
| An option to install Graph Data Science (GDS).
67
+
| `Yes` or `No`
68
+
| False
61
69
62
70
| Graph Data Science License Key
63
-
| 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.
71
+
| License Key for Graph Data Science (License keys will be sent to and stored by Neo4j. This information will only be used for the purposes of product activation.)
72
+
|
73
+
| None
64
74
65
75
| Install Bloom
66
-
| Optionally install Neo4j Bloom. Accepted values are `Yes` or `No`.
76
+
| Install Neo4j Bloom.
77
+
| `Yes` or `No`
78
+
| False
67
79
68
80
| Bloom License Key
69
-
| 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.
81
+
| License Key for Bloom (License keys will be sent to and stored by Neo4j. This information will only be used for the purposes of product activation.)
82
+
|
83
+
| None
70
84
71
85
| Password
72
-
| A password for the `neo4j` user (minimum of 8 characters)
73
-
74
-
| Number of Servers
75
-
| Specify the number of desired EC2 instances to be used to form a Neo4j cluster (a minimum of 3 instances is required to form a cluster).
76
-
77
-
| Instance type
78
-
| The class of EC2 Instances to use.
86
+
| A password for the `neo4j` user (minimum of 8 characters).
87
+
|
88
+
|
89
+
90
+
| Number of nodes
91
+
| The number of desired EC2 instances to be used to form a Neo4j cluster (a minimum of 3 instances is required to form a cluster).
92
+
| Between 1 and 10
93
+
| 3
94
+
95
+
| Instance Type
96
+
| EC2 instance type.
97
+
| - `t3.medium`
98
+
- `t3.large`
99
+
- `t3.xlarge`
100
+
- `t3.2xlarge`
101
+
- `r6i.large`
102
+
- `r6i.xlarge`
103
+
- `r6i.2xlarge`
104
+
- `r6i.4xlarge`
105
+
- `r6i.8xlarge`
106
+
- `r6i.12xlarge`
107
+
- `r6i.16xlarge`
108
+
- `r6i.24xlarge`
109
+
- `r6i.32xlarge`
110
+
- `r6a.8xlarge`
111
+
- `r7a.medium`
112
+
- `r7a.large`
113
+
- `r7a.xlarge`
114
+
- `r7a.2xlarge`
115
+
- `r7a.4xlarge`
116
+
- `r7a.8xlarge`
117
+
- `r7a.12xlarge`
118
+
- `r7a.16xlarge`
119
+
- `r7a.24xlarge`
120
+
- `r7a.32xlarge`
121
+
- `r7a.48xlarge`
122
+
| t3.medium
79
123
80
124
| Disk Size
81
-
| Size (in GB) of the EBS volume on each EC2 instance. Larger EBS volumes are typically faster than smaller ones, therefore 100GB is the recommended minimum size.
125
+
| Size in GB of the EBS volume on each EC2 instance. Larger EBS volumes are typically faster than smaller ones, therefore 100GB is the recommended minimum size.
126
+
| Minimum: 100
127
+
| 100
82
128
83
129
| SSH CIDR
84
-
| Specify an address range from which EC2 instances are accessible on port `22`, via SSH. You can use `0.0.0.0/0` to allow access from any IP address. This field must also be correctly populated to allow the use of EC2 instance-connect.
130
+
| Specify an address range from which EC2 instances are accessible on port `22`, via SSH. You can use `0.0.0.0/0` to allow access from any IP address. This field must also be correctly populated to allow the use of EC2 instance-connect. Must be a valid CIDR range of the form x.x.x.x/x.
131
+
| Minimum length: 9, Maximum length: 18, AllowedPattern: `1(\\d{1,3})\\.(\\d{1,3})\\.(\\d{1,3})\\.(\\d{1,3})/(\\d{1,2})`
132
+
|
85
133
86
134
|===
87
135
@@ -90,19 +138,18 @@ The Neo4j CloudFormation template takes several parameters as inputs, deploys a
90
138
The environment created by the CloudFormation template consists of the following AWS resources:
91
139
92
140
* 1 VPC, with a CIDR range (address space) of `10.0.0.0/16`.
93
-
** 3 Subnets (if a cluster has been selected), distributed evenly across 3 Availability zones, with the following CIDR ranges:
94
-
*** `10.0.1.0/24`
95
-
*** `10.0.2.0/24`
96
-
*** `10.0.3.0/24`
97
-
** A single subnet (if a single instance has been selected) with the following CIDR range:
98
-
*** `10.0.1.0/24`
99
-
** A security group.
100
-
** An internet gateway.
101
-
** Routing tables (and associations) for all subnets.
102
-
* An auto-scaling group and launch configuration, which creates:
103
-
** 1, or between 3 and 10 EC2 instances (Depending on whether a single instance or an autonomous cluster is selected).
141
+
* 3 Subnets (if a cluster has been selected), distributed evenly across 3 Availability zones, with the following CIDR ranges:
142
+
** `10.0.1.0/24`
143
+
** `10.0.2.0/24`
144
+
** `10.0.3.0/24`
145
+
* A single subnet (if a single instance has been selected) with the CIDR range `10.0.1.0/24`.
146
+
* An internal and external security group.
147
+
* An internet gateway.
148
+
* Routing tables (and associations) for all subnets.
149
+
* Neo4j http and bolt listeners and rules in the security group to allow inbound traffic on ports `7474` and `7687`.
150
+
* An auto-scaling group and launch configuration, which creates 1, or between 3 and 10 EC2 instances (Depending on whether a single instance or an autonomous cluster is selected).
104
151
* 1 Network (Layer 4) Load Balancer.
105
-
** A target group for the EC2 instances.
152
+
* A target group for the EC2 instances.
106
153
107
154
108
155
=== Template outputs
@@ -132,15 +179,15 @@ After the installation finishes successfully, the CloudFormation template provid
132
179
133
180
=== Cluster version consistency
134
181
135
-
When the CloudFormation template creates a new Neo4j cluster, an Auto Scaling group (ASG) is created and tagged with the minor version of the installed Neo4j database.
136
-
If you add more EC2 instances to your ASG, they will be installed with the same minor version, ensuring that all Neo4j cluster servers are installed with the same version, regardless of when the EC2 instances were created.
182
+
When the CloudFormation template creates a new Neo4j cluster, an Auto Scaling group (ASG) is created and tagged with the monthly version of the installed Neo4j database.
183
+
If you add more EC2 instances to your ASG, they will be installed with the same monthly version, ensuring that all Neo4j cluster servers are installed with the same version, regardless of when the EC2 instances were created.
137
184
138
185
139
186
=== Neo4j cluster and Auto Scaling Group
140
187
141
188
The Neo4j AWS CloudFormation template deploys a cluster into an ASG.
142
189
However, managing a Neo4j cluster with ASG requires careful planning.
143
-
Starting from the 5.x series, Neo4j’s clustering relies on stable servers identities.
190
+
Neo4j’s clustering relies on stable servers identities.
144
191
In contrast, ASGs are primarily designed for stateless, interchangeable workloads, which means they can terminate and recreate servers at any time, breaking their identity.
145
192
146
193
To provide stable servers identities, it is recommended to use a persistent disk, e.g., Amazon Elastic Block Store (EBS).
0 commit comments