New: Become a sponsor via GitHub Sponsors!
Migrate from v8 to v9
WARNING: Follow this guideline to avoid data loss!
state/s3
WARNING: Ensure that your current v8 version is >= 8.1.1. If you run on version 8.0.0-8.1.0 update to the latest v8 before! Otherwise, you will lose data!
WARNING: Test the migration in a non-production setup (don't forget to validate your data) before you update production!
- Update all existing
security/kms-key-legacystacks to v9. - For each
state/s3stack withEncryptionparameter set totrue:- Fetch the KMS key id from the existing stack (open the Resources tab of the stack. In the Logical ID column search for
Key. In the same row, the column Physical ID shows the KMS key id) - Create an additional stack in the same region based on the
security/kms-key-legacy.yamltemplate (ensure you use v9!). Use the existing KMS key id as theKeyIdparameter. - Update the existing
state/s3stack to v9 and set the newParentKmsKeyStackparameter to the stack name of the stack you created in step 2.2.
- Fetch the KMS key id from the existing stack (open the Resources tab of the stack. In the Logical ID column search for
state/rds-mysql, state/rds-postgres
WARNING: Ensure that your current v8 version is >= 8.1.1. If you run on version 8.0.0-8.1.0 update to the latest v8 before! Otherwise, you will lose data!
WARNING: Test the migration in a non-production setup (don't forget to validate your data) before you update production!
- Update all existing
security/kms-key-legacystacks to v9. 2.For eachstate/rds-mysqlorstate/rds-postgresstack withEncryptionparameter set totrue:- Fetch the KMS key id from the existing stack (open the Resources tab of the stack. In the Logical ID column search for
Key. In the same row, the column Physical ID shows the KMS key id) - Stop all write requests to the cluster
- Take a manual RDS snapshot
- Create an additional stack in the same region based on the
security/kms-key-legacy.yamltemplate (ensure you use v9!). Use the existing KMS key id as theKeyIdparameter. - Update the existing
state/rds-mysqlorstate/rds-postgresstack to v9 and a. Set the newParentKmsKeyStackparameter to the stack name of the stack you created in step 2.4. b. Set theDBSnapshotIdentifierparameter to the ARN of the snapshot you created in step 2.3.
- Fetch the KMS key id from the existing stack (open the Resources tab of the stack. In the Logical ID column search for
state/rds-aurora
WARNING: Ensure that your current v8 version is >= 8.1.1. If you run on version 8.0.0-8.1.0 update to the latest v8 before! Otherwise, you will lose data!
WARNING: Test the migration in a non-production setup (don't forget to validate your data) before you update production!
- Update all existing
security/kms-key-legacystacks to v9. 2.For eachstate/rds-aurorastack withEncryptionparameter set totrue:- Fetch the KMS key id from the existing stack (open the Resources tab of the stack. In the Logical ID column search for
Key. In the same row, the column Physical ID shows the KMS key id) - Stop all write requests to the cluster
- Take a manual RDS snapshot
- Create an additional stack in the same region based on the
security/kms-key-legacy.yamltemplate (ensure you use v9!). Use the existing KMS key id as theKeyIdparameter. - Update the existing
state/rds-aurorastack to v9 and a. Set the newParentKmsKeyStackparameter to the stack name of the stack you created in step 2.4. b. Set theDBSnapshotIdentifierparameter to the ARN of the snapshot you created in step 2.3.
- Fetch the KMS key id from the existing stack (open the Resources tab of the stack. In the Logical ID column search for
state/elasticsearch
WARNING: Ensure that your current v8 version is >= 8.1.1. If you run on version 8.0.0-8.1.0 update to the latest v8 before! Otherwise, you will lose data!
WARNING: Test the migration in a non-production setup (don't forget to validate your data) before you update production!
- Update all existing
security/kms-key-legacystacks to v9. - For each
state/elasticsearchstack withEncryptionparameter set totrue:- Fetch the KMS key id from the existing stack (open the Resources tab of the stack. In the Logical ID column search for
Key. In the same row, the column Physical ID shows the KMS key id) - Stop all write requests to the cluster
- Take a manual snapshot
- Create an additional stack in the same region based on the
security/kms-key-legacy.yamltemplate (ensure you use v9!). Use the existing KMS key id as theKeyIdparameter. - Update the existing
state/elasticsearchstack to v9 and set the newParentKmsKeyStackparameter to the stack name of the stack you created in step 2.4. - Restore the snapshot created in step 2.3.
- Fetch the KMS key id from the existing stack (open the Resources tab of the stack. In the Logical ID column search for
Deprecation warnings
ecs/cluser: ParameterDesiredCapacitywill be removed in v11, useMinSizeinsteadjenkins/jenkins2-ha-agents: ParameterAgentDesiredCapacitywill be removed in v11, useAgentMinSizeinstead