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 heredefault.neptune1.2
).For each
DBInstance
attached to theDBCluster
, update the customDBParameterGroup
family to the one used by the new engine version (heredefault.neptune1.2
).Set the
DBInstanceParameterGroupName
property to the parameter group in that family (heredefault.neptune1.2
).Update the
EngineVersion
property from1.1.0.0
to1.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.