Example: Major version upgrade from 1.1.1.0 to 1.2.0.2 with custom parameter groups - Amazon Neptune

Example: Major version upgrade from 1.1.1.0 to 1.2.0.2 with 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: Name: engineupgradetestcpg Family: neptune1 Description: 'NeptuneDBClusterParameterGroup with family neptune1' Parameters: neptune_enable_audit_log: 0 NeptuneDBParameterGroup: Type: 'AWS::Neptune::DBParameterGroup' Properties: Name: engineupgradetestpg Family: neptune1 Description: 'NeptuneDBParameterGroup1 with family neptune1' Parameters: neptune_query_timeout: 20000 NeptuneDBCluster: Type: 'AWS::Neptune::DBCluster' Properties: EngineVersion: 1.1.1.0 DBClusterParameterGroupName: Ref: NeptuneDBClusterParameterGroup DependsOn: - NeptuneDBClusterParameterGroup NeptuneDBInstance: Type: 'AWS::Neptune::DBInstance' Properties: DBClusterIdentifier: Ref: NeptuneDBCluster DBInstanceClass: Ref: DbInstanceType DBParameterGroupName: Ref: NeptuneDBParameterGroup DependsOn: - NeptuneDBCluster - NeptuneDBParameterGroup Outputs: DBClusterId: Description: Neptune Cluster Identifier Value: Ref: NeptuneDBCluster
  • Update the custom DBClusterParameterGroup family to the one used by the new engine version here default.neptune1.2).

  • For each DBInstance attached to the DBCluster, update the custom DBParameterGroup family to the one used by the new engine version (here default.neptune1.2).

  • Set the DBInstanceParameterGroupName property to the parameter group in that family (here default.neptune1.2).

  • Update the EngineVersion property from 1.1.0.0 to 1.2.0.2.

The template should look like this:

Description: Template to upgrade major engine version to 1.2.0.2 by modifying existing custom parameter groups Parameters: DbInstanceType: Description: Neptune DB instance type Type: String Default: db.r5.large Resources: NeptuneDBClusterParameterGroup: Type: 'AWS::Neptune::DBClusterParameterGroup' Properties: Name: engineupgradetestcpgnew Family: neptune1.2 Description: 'NeptuneDBClusterParameterGroup with family neptune1.2' Parameters: neptune_enable_audit_log: 0 NeptuneDBParameterGroup: Type: 'AWS::Neptune::DBParameterGroup' Properties: Name: engineupgradetestpgnew 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: Ref: NeptuneDBParameterGroup DependsOn: - NeptuneDBClusterParameterGroup NeptuneDBInstance: Type: 'AWS::Neptune::DBInstance' Properties: DBClusterIdentifier: Ref: NeptuneDBCluster DBInstanceClass: Ref: DbInstanceType DBParameterGroupName: Ref: NeptuneDBParameterGroup DependsOn: - NeptuneDBCluster - NeptuneDBParameterGroup Outputs: DBClusterId: Description: Neptune Cluster Identifier Value: Ref: NeptuneDBCluster

Now use AWS CloudFormation to run the revised template.