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, namelyneptune1.2
.For a default cluster parameter group, update the
DBClusterParameterGroup
to the default corresponding to new engine version, namelydefault.neptune1.2
.For each
DBInstance
attached to theDBCluster
, update a defaultDBParameterGroup
to the one in the family used by new engine version (heredefault.neptune1.2
), and a custom parameter group to one that uses the family supported by the new engine version (hereneptune1.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.