-
Notifications
You must be signed in to change notification settings - Fork 4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat(rds): database proxy #8476
Conversation
Cool, so I'll be able to take |
@viktor-ku As for the endpoint, yes. But you still need to provide credentials to authenticate. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for submitting this PR!
I've requested some changes below, as a first round.
affected by #8686 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@civilizeddev - sorry about the delayed response to this PR.
See some of my comments below.
/** | ||
* The kinds of databases that the proxy can connect to. | ||
* This value determines which database network protocol the proxy recognizes when it interprets network traffic to | ||
* and from the database. | ||
* The engine family applies to MySQL and PostgreSQL for both RDS and Aurora. | ||
*/ | ||
readonly engineFamily: ProxyEngineFamily; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
* A Boolean parameter that specifies whether Transport Layer Security (TLS) encryption is required for connections to the proxy. | ||
* By enabling this setting, you can enforce encrypted TLS connections to the proxy. | ||
* | ||
* @default false |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Enabling TLS by default is a common security best practice. Any particular reason it should be different here?
Everything cannot be perfect at once. Is it worth weeks to make this perfect? While not perfect, it can deliver value to those who want to use the L2 Contstruct for DB Proxy at the moment. And let someone after me have a chance to fix the rest later. |
The goal of these comments is to get the public API as close to correct as possible and consistent with the rest of the CDK. The implementation can always be fixed up later, without breaking customers. I have pushed a change to adjust the API and make it a bit cleaner. I hope you don't mind. |
I think There are many cases that and I am also very familiar with it. But now you introduced Is it really for "consistent with the rest of the CDK." |
The fromXXX() methods are usually import APIs that allow importing an external resource into a CDK app. This is not what this API is doing. I've changed for it to be forXXX() instead. This way it means 'create a proxy target for "this" db instance'. Hope that's better. |
Objection, your honor! There are many counter evidences in aws-cdk.
amplify
apigateway
appsync
cloudformation
cloudfront
codebuild
ecs
route53
|
In many of these cases, 'from' is the correct preposition, probably not all. Feel free to change the API back to using |
I would like to get feedback from cdk users and follow it up. |
Thanks for your effort @civilizeddev and reviewers! I cannot wait for it to be merged, because it seems like a such enabler for lambdas! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good.
Thank you for contributing! Your pull request will be updated from master and then merged automatically (do not update manually, and be sure to allow changes to be pushed to your fork). |
AWS CodeBuild CI Report
Powered by github-codebuild-logs, available on the AWS Serverless Application Repository |
Thank you for contributing! Your pull request will be updated from master and then merged automatically (do not update manually, and be sure to allow changes to be pushed to your fork). |
As for #8896, I wonder how it passed the integration tests at that moment. |
closes #8475
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license