Skip to content

RC: RDI In the Cloud #1066

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

Draft
wants to merge 74 commits into
base: main
Choose a base branch
from
Draft

RC: RDI In the Cloud #1066

wants to merge 74 commits into from

Conversation

cmilesb
Copy link
Contributor

@cmilesb cmilesb commented Jan 16, 2025

@cmilesb cmilesb requested a review from yaronp68 February 3, 2025 18:49
@yaronp68
Copy link
Collaborator

yaronp68 commented Feb 4, 2025

this is great! Now sure if during private preview we should publish it online but more for internal use (staging or similar)
I think we should only expose when public preview with required changes

@cmilesb
Copy link
Contributor Author

cmilesb commented Feb 4, 2025

@yaronp68 It's on staging, so that's what I've been giving people. I won't be merging this PR until we get to a public preview or something similar.

@ZdravkoDonev-redis
Copy link
Collaborator

Just for visibility - this is the Cloud Public Preview initiative - https://redislabs.atlassian.net/issues/RED-147332?filter=13199

Once it's released, we can merge this PR.
Most likely we'll be doing updates to this.

@ZdravkoDonev-redis
Copy link
Collaborator

@cmilesb Can we also create a FAQ page for the RDI Cloud somewhere? Maybe as as subsection?

The first question that we can add is:

Q: Does RDI need to have an AWS PrivateLink or it can also be configured to have VPC peering instead?
A: RDI only works with AWS private link. This is the safest way to protect your source database.

Copy link

@Copilot Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot reviewed 29 out of 29 changed files in this pull request and generated 1 comment.

- **Load balancer IP address type**: Select **IPv4**.
1. In **Network mapping**, select the VPC and availability zone associated with your source database.
1. In **Security groups**, select the security group associated with your source database.
1. In **Listeners and routing**:
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Here things start to diverge based on whether the source DB is in an EC2 instance or an RDS/Aurora.

If it's EC2, follow the written instructions.
However if it's a RDS/Aurora then the user must use RDS Proxy to ensure a stable production environment in the case of a failover. Reasoning: The Network Load Balancer target group cannot be set up to point to an Instance of an RDS database like it does for an EC2 instance. So instead, we must use a different type of Target group - "IP addresses" instead of "Instances". Then the target group will be pointing at the static IPs of the RDS Proxy service.

@cmilesb will you be able to describe this difference here or perhaps in a previous/next section?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@ZdravkoDonev-redis Could you point me to a list of steps specifically for RDS/Aurora? I don't mind writing a different section for those steps, I just need to make sure they're the right ones.

- **Protocol : Port**: Select **TCP**, and then enter the port number where your database is exposed.
- The **IP address type** and **VPC** should be selected already and match the VPC you selected earlier.
1. In **Register targets**, select the EC2 instance that runs your source database, enter the port, and select **Include as pending below**. Then, select **Create target group** to create your target group. Return **Listeners and routing** in the Network Load Balancer setup.
1. Set the following **Listener** properties:
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Interestingly, my NLB listener is TCP and the port of the source DB.

image

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

When I wrote this, I was following the steps here, which specifically says to use port 80. If the user chooses a different port, does that change anything else?


See the [RDI architecture overview]({{< relref "/integrate/redis-data-integration/architecture#overview" >}}) for more information about CDC.

## Set up connectivity
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@cmilesb Perhaps we can create/add a diagram explaining the high-level setup.

https://app.excalidraw.com/s/9b8I3h1MT42/gk9jybn9HI

image

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let me see if I can re-create these diagrams using the Technical diagram assets from Marketing.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also, I think these diagrams would be more useful on the top-level page.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
do not merge yet rc Redis Cloud docs
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants