Amazon Neptune engine updates
Amazon Neptune releases engine updates regularly. You can determine which engine release version you currently have installed using the instance-status API.
Engine releases are listed at Engine releases for Amazon Neptune, and patches are listed at Latest Updates.
You can find information about how the updates are released and how to upgrade the Neptune engine in this section. For example, engine version numbering is explained in Neptune Engine version numbering.
Before November 2019, Neptune only supported one engine version at a time,
and engine version numbers all took the form,
1.0.1.0.200
, where <xxx>
xxx
was
the patch number. New engine versions were all released as patches to earlier versions.
Starting in November 2019, Neptune supports multiple versions, allowing customers better control over their upgrade paths. As a result, engine release numbering changed.
Topics
- Upgrading your Neptune engine
- Testing a new version of the Neptune engine before you upgrade
- Neptune Engine version numbering
- Using the console to upgrade your engine to a more recent version
- Using the console to enable automatic engine updates
- Manually performing a minor upgrade of the Neptune DB Engine using the CLI
- Manually performing a major upgrade of the Neptune DB Engine using the CLI
- Using the CLI to enable automatic Neptune engine updates
Upgrading your Neptune engine
Updates are applied to all instances in a DB cluster simultaneously. An update requires a database restart on those instances, so you experience downtime ranging from 20 or 30 seconds to several minutes, after which you can resume using the DB cluster.
Patch releases (.R2
, .R3
, etc.) are always installed
automatically during your next maintenance window. This is independent of how
the AutoMinorVersionUpgrade
parameter is set.
If you want, you can choose to have minor engine updates also installed
automatically to your entire cluster. You do this by setting the
AutoMinorVersionUpgrade
parameter of your primary writer instance
to true
. An automatic minor engine update will then be installed
on every instance in your cluster during the maintenance window once the new
engine version has proven stable, 2 to 3 weeks after the release.
You can update your engine manually using the Amazon Web Services Management Console as explained in Using the console to upgrade your engine to a more recent version.
You can also use the CLI to update your engine manually.
You can use the console to set
AutoMinorVersionUpgrade
totrue
in your primary writer instance. The result is that your cluster will always be automatically upgraded to the latest minor version during a maintenance window after a stabilization window of 2 to 3 weeks following the latest release.You can also use the CLI to set AutoMinorVersionUpgrade to
true
in your primary writer instance. Setting it totrue
in a reader instance has no effect.
If you are manually upgrading using the Amazon CLI, be sure to specify the engine version to which you want to upgrade. If you do not, your engine may be upgraded to a version that is not the most recent one or the one you expect.
You can always determine what engine version your DB cluster is running by using the Instance Status API. If you are using the CreateDBCluster to create a cluster, the API returns the engine version used to create the cluster in its response.
The timing of automatic updates depends on the Amazon region and maintenance window
settings for your DB cluster. You can view or change your maintenance window settings
on the Neptune console
Major engine releases can only be installed manually.
Before performing a major upgrade, Neptune always creates a manual snapshot of your DB cluster, which lets you revert to the state of your cluster before the upgrade if you need to. This snapshot remains available until you delete it after you finish all post-upgrade testing.
Testing a new version of the Neptune engine before you upgrade
When a new major Neptune engine version is released, always test your Neptune
applications on it first, before upgrading. If you do not have
AutoMinorVersionUpgrade
set, you may also want to do that for minor
engine versions that introduce new features or behavior that could affect your code.
The best way to test a new version without upgrading your production DB cluster is to clone your cluster so that the clone is running the new engine version. You can then run queries on the clone without affecting your production DB cluster.
Neptune Engine version numbering
Neptune version numbers have 3 parts. Take version number 1.0.2.0.R2
as an example:
-
The first part (the first two numbers, namely the
1.0
in1.0.2.0.R2
) is the database major version number.This part only changes when a major incompatible change occurs, such as a change in the way data is stored that requires data migration when upgrading. Upgrading to a new major version often requires downtime proportional to the size of the cluster being upgraded, and can take much longer than other upgrades.
-
The second part (the third and fourth numbers, namely the
2.0
in1.0.2.0.R2
) is the minor version number of the engine release.You can choose to upgrade your engine to new minor versions automatically, as described below, or choose to decide for each minor version change.
-
The third part (the last number, namely the
R2
in1.0.2.0.R2
) is the patch number for the minor version of the engine.Patches involve urgent changes such as bug fixes or security changes that are deployed between minor engine releases. The first release of an engine version is implicitly
R0
, and patches to it are numberedR1
,R2
, and so forth.Patches are always automatically applied during system maintenance windows, as described below.
You can list the available engine releases using the Amazon CLI as follows:
For Linux, OS X, or Unix:
aws neptune describe-db-engine-versions \ --region
<your-region>
\ --engine neptune
For Windows:
aws neptune describe-db-engine-versions ^ --region
<your-region>
^ --engine neptune
Available engine releases include only those releases that have a version number higher than the current one and for which an upgrade path is defined.
Using the console to upgrade your engine to a more recent version
You can perform a minor version upgrade of a Neptune DB cluster using the Amazon Web Services Management Console as follows:
To upgrade the engine version of a DB cluster using the console
Sign in to the Amazon Management Console, and open the Amazon Neptune console at https://console.aws.amazon.com/neptune/home
. In the navigation pane, choose Clusters, and then choose the DB cluster that you want to modify.
Choose Actions, and then choose Modify cluster. The Modify DB cluster page appears.
For DB engine version, choose the new version.
Choose Continue and check the summary of modifications.
To apply the changes immediately, choose Apply immediately.
-
On the confirmation page, review your changes. If they are correct, choose Modify Cluster to save your changes.
Alternatively, choose Back to edit your changes, or choose Cancel to cancel your changes.
Using the console to enable automatic engine updates
If you set the AutoMinorVersionUpgrade
field to true
in
the writer instance of a DB cluster, Neptune will automatically update the
engine of the entire cluster to the latest minor version after a stabilization window
of 2 to 3 weeks.
You can use the Amazon Web Services Management Console to set this field:
To set the AutoMinorVersionUpgrade
for a DB cluster
Sign in to the Amazon Management Console, and open the Amazon Neptune console at https://console.aws.amazon.com/neptune/home
. In the list of DB instances, choose the primary instance (the writer instance) of the DB cluster.
Choose Instance actions, and then choose Modify. The Modify DB Instance page appears.
Choose Actions, and then choose Modify instance. The Modify DB instance page appears.
Set the auto minor version update field.
See Modifying an Instance for more information.
Manually performing a minor upgrade of the Neptune DB Engine using the CLI
You can manually perform a minor upgrade of the engine version of a DB cluster as follows, using the Amazon CLI and the ModifyDBCluster API:
For Linux, OS X, or Unix:
aws neptune modify-db-cluster \ --db-cluster-identifier
(your-neptune-cluster)
\ --engine-version(new-engine-version)
\ --apply-immediately
For Windows:
aws neptune modify-db-cluster ^ --db-cluster-identifier
(your-neptune-cluster)
^ --engine-version<new-engine-version>
^ --apply-immediately
Be sure to include the engine version that you want to upgrade to. If you do not, your engine may be upgraded to a version that is not the latest one.
Manually performing a major upgrade of the Neptune DB Engine using the CLI
To perform a major upgrade of the engine version of a DB cluster manually using the Amazon CLI and the ModifyDBCluster API, you need to provide more parameters than for a minor upgrade:
It is important to include the engine version that you want to upgrade to. If you do not, your engine may be upgraded to a version that is not the latest one.
For Linux, OS X, or Unix:
aws neptune modify-db-cluster \ --db-cluster-identifier
(your-neptune-cluster)
\ --engine neptune \ --engine-version(new-engine-version)
\ --apply-immediately
For Windows:
aws neptune modify-db-cluster ^ --db-cluster-identifier
<your-neptune-cluster>
^ --engine neptune ^ --engine-version<new-engine-version>
^ --apply-immediately
Instead of --apply-immediately
, you can specify
--no-apply-immediately
.
If your cluster uses a custom cluster parameter group, be sure to include this paramater to specify it:
--db-cluster-parameter-group-name
(name of the custom DB cluster parameter group)
Similarly, if any instances in the cluster use a custom DB parameter group, be sure to include this parameter to specify it:
---db-instance-parameter-group-name
(name of the custom instance parameter group)
Using the CLI to enable automatic Neptune engine updates
You can use the Amazon CLI to enable or disable automatic engine updates for a DBcluster
by setting the AutoMinorVersionUpgrade
parameter of its primary instance.
To enable automatic engine upgrading for your DB cluster:
For Linux, OS X, or Unix:
aws neptune modify-db-instance \ --db-instance-identifier
<your-cluster-write-instance>
\ --auto-minor-version-upgrade \ --apply-immediately
For Windows:
aws neptune modify-db-instance ^ --db-instance-identifier
<your-cluster-write-instance>
^ --auto-minor-version-upgrade ^ --apply-immediately
Similarly, you can also disable automatic engine updating:
For Linux, OS X, or Unix:
aws neptune modify-db-instance \ --db-instance-identifier
<your-cluster-write-instance>
\ --no-auto-minor-version-upgrade \ --apply-immediately
For Windows:
aws neptune modify-db-instance ^ --db-instance-identifier
<your-cluster-write-instance>
^ --no-auto-minor-version-upgrade ^ --apply-immediately