-
Notifications
You must be signed in to change notification settings - Fork 319
De-emphasize RDS Proxy in RDI setup documentation #2807
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
Open
dimitarseykov-redis
wants to merge
4
commits into
redis:main
Choose a base branch
from
dimitarseykov-redis:RDSC-4604-remove-RDS-Proxy-from-public-docs
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
4 commits
Select commit
Hold shift + click to select a range
cff2385
Remove RDS Proxy from docs
dimitarseykov-redis 52220ed
De-emphasize RDS Proxy in RDI setup documentation
dimitarseykov-redis b7f6578
Add detailed Terraform guide for Lambda failover module
dimitarseykov-redis a3bfef7
Move RDS Proxy instructions to separate hidden page
dimitarseykov-redis File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,112 @@ | ||
| --- | ||
| Title: RDS Proxy setup for RDI | ||
| alwaysopen: false | ||
| categories: | ||
| - docs | ||
| - operate | ||
| - rc | ||
| description: Set up RDS Proxy for Redis Data Integration (not recommended). | ||
| hidden: true | ||
| hideListLinks: true | ||
| weight: 99 | ||
| --- | ||
|
|
||
| {{<warning>}} | ||
| We do not recommend using RDS Proxy for RDI connections. The [Lambda function approach]({{< relref "/operate/rc/databases/rdi/setup#setup-lambda-function" >}}) provides better failover handling and is the recommended solution for production environments. | ||
|
|
||
| Additionally, RDS Proxy does not work with RDS PostgreSQL and Aurora PostgreSQL because it does not support PostgreSQL logical replication. | ||
|
|
||
| Only use RDS Proxy if you have specific requirements that necessitate it. | ||
| {{</warning>}} | ||
|
|
||
| ## Overview | ||
|
|
||
| RDS Proxy is a fully managed, highly available database proxy for Amazon RDS. While it can be used with RDI, we recommend the Lambda function approach instead for the following reasons: | ||
|
|
||
| - **PostgreSQL incompatibility**: RDS Proxy does not support PostgreSQL logical replication, which is required for CDC (Change Data Capture). | ||
| - **Added complexity**: RDS Proxy adds an additional layer between RDI and your database. | ||
| - **Lambda provides better failover**: The Lambda function approach handles failover scenarios more efficiently. | ||
|
|
||
| If you still need to use RDS Proxy, follow the instructions below. | ||
|
|
||
| ## Prerequisites | ||
|
|
||
| Before setting up RDS Proxy, ensure you have: | ||
|
|
||
| - An RDS or Aurora database (MySQL or SQL Server only) | ||
| - AWS Secrets Manager secret containing your database credentials | ||
| - AWS KMS encryption key for the secret | ||
| - Appropriate IAM permissions | ||
|
|
||
| ## Create RDS Proxy | ||
|
|
||
| Follow the AWS documentation to create an RDS Proxy: | ||
|
|
||
| - [Creating an RDS Proxy](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-proxy-setup.html) (AWS documentation) | ||
| - [How RDS Proxy works](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-proxy.howitworks.html) (AWS documentation) | ||
| - [RDS Proxy TLS/SSL](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-proxy.howitworks.html#rds-proxy-security.tls) (AWS documentation) | ||
|
|
||
| ### IAM permissions | ||
|
|
||
| The Proxy's IAM role must have the following permissions to access the database using the credentials secret and encryption key: | ||
|
|
||
| - `secretsmanager:GetSecretValue` | ||
| - `secretsmanager:DescribeSecret` | ||
| - `kms:Decrypt` | ||
|
|
||
| Example IAM policy: | ||
|
|
||
| ```json | ||
| { | ||
| "Version": "2012-10-17", | ||
| "Statement": [ | ||
| { | ||
| "Effect": "Allow", | ||
| "Action": [ | ||
| "secretsmanager:GetSecretValue", | ||
| "secretsmanager:DescribeSecret" | ||
| ], | ||
| "Resource": "arn:aws:secretsmanager:region:account-id:secret:secret-name" | ||
| }, | ||
| { | ||
| "Effect": "Allow", | ||
| "Action": "kms:Decrypt", | ||
| "Resource": "arn:aws:kms:region:account-id:key/key-id" | ||
| } | ||
| ] | ||
| } | ||
| ``` | ||
|
|
||
| ## Get the RDS Proxy IP address | ||
|
|
||
| After creating the RDS Proxy, you need to get its static IP address to use when configuring the Network Load Balancer. | ||
|
|
||
| To get the static IP address of your RDS Proxy, run the following command on an EC2 instance in the same VPC as the Proxy: | ||
|
|
||
| ```sh | ||
| $ nslookup <proxy-endpoint> | ||
| ``` | ||
|
|
||
| Replace `<proxy-endpoint>` with the endpoint of your RDS Proxy. Save this IP address for use in the Network Load Balancer configuration. | ||
|
|
||
| ## Configure the Network Load Balancer | ||
|
|
||
| When you [create the Network Load Balancer]({{< relref "/operate/rc/databases/rdi/setup#create-network-load-balancer-rds" >}}), use the RDS Proxy IP address instead of the database IP address: | ||
|
|
||
| 1. In **Register targets**, enter the static IP address of your RDS Proxy (obtained in the previous step). | ||
| 2. Enter the port number where your RDS Proxy is exposed. | ||
| 3. Select **Include as pending below**. | ||
| 4. Complete the remaining Network Load Balancer setup as described in the [main setup guide]({{< relref "/operate/rc/databases/rdi/setup#create-network-load-balancer-rds" >}}). | ||
|
|
||
| ## Next steps | ||
|
|
||
| After setting up RDS Proxy and the Network Load Balancer: | ||
|
|
||
| 1. [Create an endpoint service]({{< relref "/operate/rc/databases/rdi/setup#create-endpoint-service-rds" >}}) through AWS PrivateLink. | ||
| 2. [Share your source database credentials]({{< relref "/operate/rc/databases/rdi/setup#share-source-database-credentials" >}}) with Redis Cloud. | ||
| 3. Continue with the [RDI pipeline configuration]({{< relref "/operate/rc/databases/rdi/define" >}}). | ||
|
|
||
| {{<note>}} | ||
| When using RDS Proxy, you do not need to set up the Lambda function for failover handling, as the proxy provides a static endpoint. | ||
| {{</note>}} | ||
|
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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.
I'd like to write out the exact steps here if possible, especially if this is our preferred solution over the RDS proxy.
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.
added