awslabs / awslabs/aws-solutions-constructs

feat(new construct): aws-rds-bluegreen

Open
#953 0 comments 0 reactions 0 assignees View on GitHub
feature-request needs-triage
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

![image](https://user-images.githubusercontent.com/86670002/233718794-f2c9b4f9-fdb4-4dad-9a3e-875802768548.png)

* [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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.