rds: Support RDS Multi AZ Clusters for MySql and PostgreSQL (non aurora)
- Dominant language
- TypeScript
- Stars
- 12.9k
- Forks
- 4.6k
- Avg merge
- 2d 3h
- Merged PRs (30d)
- 83
Description
### Describe the feature
The current version of [`DatabaseClusterEngine`](https://github.com/aws/aws-cdk/blob/f03f7b7ea3a5ab1b5f0f8e20f88608107f25a352/packages/aws-cdk-lib/aws-rds/lib/cluster-engine.ts#L827) only supports Aurora, Aurora Mysql, and Aurora PostgreSQL. `AWS::RDS::DBCluster` which is the base of [`DatabaseCluster` ](https://github.com/aws/aws-cdk/blob/f03f7b7ea3a5ab1b5f0f8e20f88608107f25a352/packages/aws-cdk-lib/aws-rds/lib/cluster.ts#L648) supports the engine being MySql or PostgreSQL (the non-Aurora versions) but there currently is no way to configure those engines with `DatabaseCluster`. A `MySqlClusterEngineBase` class already exists which could be extended to create a `MySqlClusterEngine` and implement a `PostgresClusterEngine` that could both be leveraged inside of `DatabaseClusterEngine`.
### Use Case
I would like to be able to use `DatabaseCluster` to be able to with the MySql or PostgreSQL engines (non aurora) to stand up a[ Multi-AZ DB cluster](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.RDS_Fea_Regions_DB-eng.Feature.MultiAZDBClusters.html)
### Proposed Solution
_No response_
### Other Information
_No response_
### Acknowledgements
- [X] I may be able to implement this feature request
- [ ] This feature might incur a breaking change
### CDK version used
2.79.0
### Environment details (OS name and version, etc.)
MacOS 13.3.1
Contributor guide
Research direction
Read packages/aws-cdk-lib/aws-rds/lib/cluster-engine.ts, especially DatabaseClusterEngine and the existing MySqlClusterEngineBase, then inspect packages/aws-cdk-lib/aws-rds/lib/cluster.ts and DatabaseCluster. Done means DatabaseCluster can be configured with non-Aurora MySQL and PostgreSQL engines for RDS Multi-AZ DB clusters.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- aws, typescript
- Domain
- cloud, databases
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100