awslabs / awslabs/aws-solutions-constructs
feat(new construct): aws-rds-bluegreen
- Dominant language
- TypeScript
- Stars
- 1.4k
- Forks
- 268
- Avg merge
- 5h 18m
- Merged PRs (30d)
- 5
Description
The construct I'm purposing will deploy an RDS or Aurora database configured to use AWS secrets manager for database credentials and take in a local directory containing schema migration application. An example open source schema migration application is Redgate Flyway but the user can use any application of their choice.
The construct will first upload the local schema migration directory to S3 then use Step Functions to orchestrate the pre-migration checks, performing the schema migration and the redirection of traffic to the new database. Within the Step Function, CodeBuild is used to allow customization and support of user supplied schema migration applications, optional Lambda hooks allow for the user to write custom checks to verify the migration is working as intended and the RDS blue/green deployment allows the migration to roll back in the event of errors.
### Use Case
The best practice for making modifications to a relational database is to use a schema migration tool checked into source control. This construct helps accelerate this pattern and provides a mechanism to support future database updates.
### Proposed Solution

* [X] :wave: I may be able to implement this feature request
* [ ] :warning: This feature might incur a breaking change
---
This is a :rocket: Feature Request
Contributor guide
Research direction
No implementation files, tests, or entry points are named. Start by reviewing existing repository patterns for RDS or Aurora, S3, Step Functions, CodeBuild, Secrets Manager, and Lambda constructs. Done would mean a reusable TypeScript construct that uploads migrations, orchestrates checks and migration, supports hooks and user-selected tools, and enables blue/green traffic redirection with rollback.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- aws, typescript
- Domain
- cloud, databases, devops
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100