Example: Major version upgrade from 1.1.1.0 to 1.2.0.2 with a mix of default and custom parameter groups - Amazon Neptune

Example: Major version upgrade from 1.1.1.0 to 1.2.0.2 with a mix of default and custom parameter groups

Find the DBCluster that you want to upgrade, and the template you used to create it. For example:

Description: Base Template to create Neptune Stack with Engine Version 1.1.1.0 using custom Parameter Groups Parameters: DbInstanceType: Description: Neptune DB instance type Type: String Default: db.r5.large Resources: NeptuneDBClusterParameterGroup: Type: 'AWS::Neptune::DBClusterParameterGroup' Properties: Family: neptune1 Description: 'NeptuneDBClusterParameterGroup with family neptune1' Parameters: neptune_enable_audit_log: 0 NeptuneDBParameterGroup: Type: 'AWS::Neptune::DBParameterGroup' Properties: Family: neptune1 Description: 'NeptuneDBParameterGroup with family neptune1' Parameters: neptune_query_timeout: 20000 NeptuneDBCluster: Type: 'AWS::Neptune::DBCluster' Properties: EngineVersion: 1.1.1.0 DBClusterParameterGroupName: Ref: NeptuneDBClusterParameterGroup DependsOn: - NeptuneDBClusterParameterGroup CustomNeptuneDBInstance: Type: 'AWS::Neptune::DBInstance' Properties: DBClusterIdentifier: Ref: NeptuneDBCluster DBInstanceClass: Ref: DbInstanceType DBParameterGroupName: Ref: NeptuneDBParameterGroup DependsOn: - NeptuneDBCluster - NeptuneDBParameterGroup DefaultNeptuneDBInstance: Type: 'AWS::Neptune::DBInstance' Properties: DBClusterIdentifier: Ref: NeptuneDBCluster DBInstanceClass: Ref: DbInstanceType DependsOn: - NeptuneDBCluster Outputs: DBClusterId: Description: Neptune Cluster Identifier Value: Ref: NeptuneDBCluster
  • For a custom cluster parameter group, update the DBClusterParameterGroup family to the one corresponding to new engine version, namely neptune1.2.

  • For a default cluster parameter group, update the DBClusterParameterGroup to the default corresponding to new engine version, namely default.neptune1.2.

  • For each DBInstance attached to the DBCluster, update a default DBParameterGroup to the one in the family used by new engine version (here default.neptune1.2), and a custom parameter group to one that uses the family supported by the new engine version (here neptune1.2).

  • Set the DBInstanceParameterGroupName property to the parameter group in the family supported by the new engine version.

The template should look like this:

Description: Template to update Neptune Stack to Engine Version 1.2.0.1 using custom and default Parameter Groups Parameters: DbInstanceType: Description: Neptune DB instance type Type: String Default: db.r5.large Resources: NeptuneDBClusterParameterGroup: Type: 'AWS::Neptune::DBClusterParameterGroup' Properties: Family: neptune1.2 Description: 'NeptuneDBClusterParameterGroup with family neptune1.2' Parameters: neptune_enable_audit_log: 0 NeptuneDBParameterGroup: Type: 'AWS::Neptune::DBParameterGroup' Properties: Family: neptune1.2 Description: 'NeptuneDBParameterGroup1 with family neptune1.2' Parameters: neptune_query_timeout: 20000 NeptuneDBCluster: Type: 'AWS::Neptune::DBCluster' Properties: EngineVersion: 1.2.0.2 DBClusterParameterGroupName: Ref: NeptuneDBClusterParameterGroup DBInstanceParameterGroupName: default.neptune1.2 DependsOn: - NeptuneDBClusterParameterGroup CustomNeptuneDBInstance: Type: 'AWS::Neptune::DBInstance' Properties: DBClusterIdentifier: Ref: NeptuneDBCluster DBInstanceClass: Ref: DbInstanceType DBParameterGroupName: Ref: NeptuneDBParameterGroup DependsOn: - NeptuneDBCluster - NeptuneDBParameterGroup DefaultNeptuneDBInstance: Type: 'AWS::Neptune::DBInstance' Properties: DBClusterIdentifier: Ref: NeptuneDBCluster DBInstanceClass: Ref: DbInstanceType DBParameterGroupName: default.neptune1.2 DependsOn: - NeptuneDBCluster Outputs: DBClusterId: Description: Neptune Cluster Identifier Value: Ref: NeptuneDBCluster

Now use AWS CloudFormation to run the revised template.