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

Open
wants to merge 93 commits into
base: main
Choose a base branch
from
Open
Changes from all commits
Commits
Show all changes
93 commits
Select commit Hold shift + click to select a range
c4d39e6
begin index and setup drafts
kaitlynmichael Aug 19, 2024
d586971
overview draft
kaitlynmichael Aug 22, 2024
b5beb6a
edit desc
kaitlynmichael Aug 22, 2024
10d5de8
fix relref
kaitlynmichael Aug 22, 2024
c9e5161
get started, doc link
kaitlynmichael Aug 22, 2024
42fcff9
prepare source database with link
kaitlynmichael Aug 22, 2024
17270d8
setup connectivity
kaitlynmichael Aug 22, 2024
9e0de8e
connectivity steps
kaitlynmichael Aug 22, 2024
efc8b0b
pane > box
kaitlynmichael Aug 22, 2024
20c3050
Limitations draft
kaitlynmichael Aug 23, 2024
c3b7bca
Apply suggestions from code review
cmilesb Aug 30, 2024
85c6d08
Merge branch 'main' into DOC-4137
cmilesb Sep 3, 2024
e938762
Edits and DB credentials changes
cmilesb Sep 3, 2024
a5977a2
Add setup step and more edits
cmilesb Sep 6, 2024
289f0e4
Move last step to provision
cmilesb Sep 11, 2024
1d6fce4
Merge branch 'main' into DOC-4137
cmilesb Sep 13, 2024
272e518
Add some of Yaron's suggestions to intro
cmilesb Sep 13, 2024
9d12553
Apply suggestions from code review
cmilesb Sep 19, 2024
1551e1d
Merge branch 'main' into DOC-4137
cmilesb Sep 19, 2024
a32204e
Add define steps
cmilesb Sep 20, 2024
07bc249
Merge branch 'main' into DOC-4137
cmilesb Sep 20, 2024
bc41625
Merge branch 'main' into DOC-4137
cmilesb Sep 20, 2024
71f431c
Fix relrefs
cmilesb Sep 20, 2024
e8ea310
stash commit
cmilesb Sep 23, 2024
860944a
Add security information
cmilesb Sep 24, 2024
639fc50
Merge branch 'main' into DOC-4137
cmilesb Sep 27, 2024
697d665
Merge branch 'main' into DOC-4137
cmilesb Oct 7, 2024
fa87f86
Add View/Edit
cmilesb Oct 7, 2024
49d1f54
Incorporate Yaron's feedback, part 1
cmilesb Oct 11, 2024
4abac23
Merge branch 'main' into DOC-4137
cmilesb Oct 11, 2024
4d69274
stash commit
cmilesb Oct 15, 2024
129d6af
More suggestions from Yaron
cmilesb Oct 21, 2024
99229b1
Merge branch 'main' into DOC-4137
cmilesb Oct 21, 2024
c3e501e
Apply suggestions from code review
cmilesb Oct 22, 2024
01907d8
Merge branch 'main' into DOC-4137
cmilesb Oct 24, 2024
c9469e0
Combine define and provision and remove errors section
cmilesb Oct 25, 2024
d56188a
Merge branch 'main' into DOC-4137
cmilesb Nov 5, 2024
f817848
Add secret permissions and keys
cmilesb Nov 5, 2024
8f274f5
Update content/operate/rc/databases/rdi/define.md
cmilesb Nov 5, 2024
2d2820d
Fix note
cmilesb Nov 5, 2024
46603a6
replace account ID in resource permissions
cmilesb Nov 5, 2024
89e0c4f
DOC-4548 Setup and define screenshots
cmilesb Nov 12, 2024
962c1e9
Merge branch 'main' into DOC-4137
cmilesb Nov 12, 2024
2b110b4
stash commit
cmilesb Nov 12, 2024
a51743b
Merge branch 'main' into DOC-4137
cmilesb Nov 12, 2024
35c8dc5
Fix screenshot widths
cmilesb Nov 12, 2024
52412cc
add edit pipeline images
cmilesb Nov 12, 2024
7ef44a2
Apply suggestions from code review
cmilesb Nov 25, 2024
d0bf623
Merge branch 'main' into DOC-4137
cmilesb Nov 25, 2024
07b45a0
Merge branch 'main' into DOC-4137
cmilesb Nov 27, 2024
ff2c061
Added metrics
cmilesb Nov 27, 2024
79fee3a
Merge branch 'main' into DOC-4137
cmilesb Jan 8, 2025
40891de
DOC-4674 Addressing feedback from Georgiana, Yaron, and Cornel
cmilesb Jan 8, 2025
375cf15
Update content/operate/rc/databases/rdi/view-edit.md
cmilesb Jan 9, 2025
c8483de
Apply suggestions from code review
cmilesb Jan 16, 2025
ed0a757
Merge branch 'main' into DOC-4137
cmilesb Jan 16, 2025
5ff8b8b
Merge branch 'main' into DOC-4137
cmilesb Jan 16, 2025
c32ad98
Merge pull request #570 from redis/DOC-4137
cmilesb Jan 16, 2025
1ecaa4d
Merge branch 'main' into preview-rc-rdi
cmilesb Jan 23, 2025
892b6d4
start
cmilesb Jan 23, 2025
e0b86c1
Added NLB and Endpoint service steps
cmilesb Jan 30, 2025
42d8b6c
Merge branch 'main' into preview-rc-rdi
cmilesb Jan 30, 2025
3a464a8
Merge branch 'preview-rc-rdi' into DOC-4741
cmilesb Jan 30, 2025
e74ed1b
Update content/operate/rc/databases/rdi/setup.md
cmilesb Jan 31, 2025
5aff527
Merge pull request #1116 from redis/DOC-4741
cmilesb Feb 3, 2025
51373ca
Merge branch 'main' into preview-rc-rdi
cmilesb Feb 7, 2025
758fd25
Update content/operate/rc/databases/rdi/_index.md
cmilesb Feb 14, 2025
234cff0
Merge branch 'main' into preview-rc-rdi
cmilesb Feb 14, 2025
cfd68f7
Merge branch 'main' into preview-rc-rdi
cmilesb Mar 18, 2025
83c07da
Add supported source databases table
cmilesb Mar 18, 2025
be32bcb
Merge branch 'main' into preview-rc-rdi
cmilesb Apr 16, 2025
c8eeda6
Update content/operate/rc/databases/rdi/define.md
cmilesb Apr 29, 2025
8d14cf3
Merge branch 'main' into preview-rc-rdi
cmilesb Apr 30, 2025
319344e
Address review comments
cmilesb Apr 30, 2025
d625457
Merge branch 'main' into preview-rc-rdi
cmilesb May 1, 2025
b1eb09b
RC RDI: Update screenshots and add specific steps for RDS/Aurora
cmilesb May 2, 2025
5b7bb2d
Add Static IP step
cmilesb May 5, 2025
b149acd
Merge branch 'main' into preview-rc-rdi
cmilesb May 8, 2025
ee1bb0c
Merge branch 'preview-rc-rdi' into DOC-5166
cmilesb May 8, 2025
8dda0c9
Some fixes to steps
cmilesb May 8, 2025
f47daa9
Merge pull request #1492 from redis/DOC-5166
cmilesb May 9, 2025
b6b3688
Fix HTML comment
cmilesb May 9, 2025
ae7b8c0
Added RDS PostgreSQL and RDS MySQL
cmilesb May 9, 2025
742a58b
Update content/operate/rc/databases/rdi/define.md
cmilesb May 12, 2025
5700121
Merge branch 'main' into preview-rc-rdi
cmilesb May 12, 2025
14f2d28
Fix image
cmilesb May 12, 2025
52d2c09
Merge branch 'preview-rc-rdi' into DOC-5222
cmilesb May 12, 2025
5201c3e
Reformatted steps and added RDS SQL Server page
cmilesb May 12, 2025
48cbdd6
Update content/integrate/redis-data-integration/data-pipelines/prepar…
cmilesb May 13, 2025
fca0769
Add links to prep source databases
cmilesb May 14, 2025
668028a
Merge pull request #1544 from redis/DOC-5222
cmilesb May 14, 2025
39787b4
Merge branch 'main' into preview-rc-rdi
cmilesb May 20, 2025
91ab559
Fix images
cmilesb May 20, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
---
Title: Prepare AWS RDS and Aurora databases for RDI
aliases: /integrate/redis-data-integration/ingest/data-pipelines/prepare-dbs/aws-aurora-rds/
alwaysopen: false
categories:
- docs
- integrate
- rs
- rdi
description: Learn how to prepare AWS RDS and Aurora databases for RDI.
group: di
linkTitle: Prepare AWS RDS and Aurora
summary: Prepare AWS Aurora and AWS RDS databases to work with Redis Data Integration.
hideListLinks: false
type: integration
weight: 5
---

You can use RDI with databases on [AWS Relational Database Service (RDS)](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Welcome.html) and [AWS Aurora](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_AuroraOverview.html).

The pages in this section give detailed instructions to get your source
database ready for Debezium to use:
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
---
Title: Prepare AWS Aurora MySQL/AWS RDS MySQL for RDI
aliases: /integrate/redis-data-integration/ingest/data-pipelines/prepare-dbs/aws-aurora-rds/aws-aur-mysql/
alwaysopen: false
categories:
- docs
- integrate
- rs
- rdi
description: Enable CDC features in your source databases
group: di
hideListLinks: false
linkTitle: Prepare AWS Aurora/RDS MySQL
summary: Prepare AWS Aurora MySQL and AWS RDS MySQL databases to work with Redis Data Integration.
type: integration
weight: 2
---

Follow the steps in the sections below to prepare an [AWS Aurora MySQL](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_GettingStartedAurora.CreatingConnecting.Aurora.html) or [AWS RDS MySQL](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_GettingStarted.CreatingConnecting.MySQL.html) database.
database to work with RDI.

## Create and apply parameter group

RDI requires some changes to database parameters. On AWS RDS and AWS Aurora, you change these parameters via a parameter group.

1. In the [Relational Database Service (RDS) console](https://console.aws.amazon.com/rds/),navigate to **Parameter groups > Create parameter group**. [Create a parameter group](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_WorkingWithParamGroups.CreatingCluster.html) with the following settings:

| Name | Value |
| :-- | :-- |
| **Parameter group name** | Enter a suitable parameter group name, like `rdi-mysql` |
| **Description** | (Optional) Enter a description for the parameter group |
| **Engine Type** | Choose **Aurora MySQL** for Aurora MySQL or **MySQL Community** for AWS RDS MySQL. |
| **Parameter group family** | Choose **aurora-mysql8.0** for Aurora MySQL or **mysql8.0** for AWS RDS MySQL. |

Select **Create** to create the parameter group.

1. Navigate to **Parameter groups** in the console. Select the parameter group you have just created and then select **Edit**. Change the following parameters:

| Name | Value |
| :-- | :-- |
| `binlog_format` | `ROW` |
| `binlog_row_image` | `FULL` |

Select **Save Changes** to apply the changes to the parameter group.

1. Go back to your target database on the RDS console, select **Modify** and then scroll down to **Additional Configuration**. Set the **DB Cluster Parameter Group** to the group you just created.

Select **Save changes** to apply the parameter group to the new database.

## Create Debezium user

The Debezium connector needs a user account to connect to MySQL. This
user must have appropriate permissions on all databases where you want Debezium
to capture changes.

1. Connect to your database as an admin user and create a new user for the connector:

```sql
CREATE USER '<username>'@'%' IDENTIFIED BY '<password>';
```

Replace `<username>` and `<password>` with a username and password for the new user.

The `%` means that the user can connect from any client. If you want to restrict the user to connect only from the RDI host, replace `%` with the IP address of the RDI host.

1. Grant the user the necessary permissions:

```sql
GRANT SELECT, RELOAD, SHOW DATABASES, REPLICATION SLAVE, REPLICATION CLIENT, LOCK TABLES ON *.* TO '<username>'@'%';
```

Replace `<username>` with the username of the Debezium user.

1. Finalize the user's permissions:

```sql
FLUSH PRIVILEGES;
```
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
---
Title: Prepare AWS Aurora PostgreSQL/AWS RDS PostgreSQL for RDI
aliases:
- /integrate/redis-data-integration/ingest/data-pipelines/prepare-dbs/aws-aur-pgsql/
- /integrate/redis-data-integration/ingest/data-pipelines/prepare-dbs/aws-aurora-rds/aws-aur-pgsql/
- /integrate/redis-data-integration/data-pipelines/prepare-dbs/aws-aur-pgsql/
alwaysopen: false
categories:
- docs
- integrate
- rs
- rc
- rdi
description: Prepare AWS Aurora PostgreSQL databases to work with RDI
group: di
linkTitle: Prepare AWS Aurora PostgreSQL
summary: Prepare AWS Aurora PostgreSQL databases to work with Redis Data Integration.
type: integration
weight: 1
---

Follow the steps in the sections below to prepare an
[AWS Aurora PostgreSQL](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_GettingStartedAurora.CreatingConnecting.AuroraPostgreSQL.html) or [AWS RDS PostgreSQL](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_GettingStarted.CreatingConnecting.PostgreSQL.html)
database to work with RDI.

## Create and apply parameter group

RDI requires some changes to database parameters. On AWS RDS and AWS Aurora, you change these parameters via a parameter group.

1. In the [Relational Database Service (RDS) console](https://console.aws.amazon.com/rds/), navigate to **Parameter groups > Create parameter group**. [Create a parameter group](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_WorkingWithParamGroups.CreatingCluster.html) with the following settings:

| Name | Value |
| :-- | :-- |
| **Parameter group name** | Enter a suitable parameter group name, like `rdi-aurora-pg` or `rdi-rds-pg` |
| **Description** | (Optional) Enter a description for the parameter group |
| **Engine Type** | Choose **Aurora PostgreSQL** for Aurora PostgreSQL or **PostgreSQL** for AWS RDS PostgreSQL. |
| **Parameter group family** | Choose **aurora-postgresql15** for Aurora PostgreSQL or **postgresql13** for AWS RDS PostgreSQL. |

Select **Create** to create the parameter group.

1. Navigate to **Parameter groups** in the console. Select the group you have just created and then select **Edit**. Change the following parameters:

| Name | Value |
| :-- | :-- |
| `rds.logical_replication` | `1` |

Select **Save Changes** to apply the changes to the parameter group.

1. Go back to your database on the RDS console, select **Modify** and then scroll down to **Additional Configuration**. Set the **DB Cluster Parameter Group** to the group you just created.

Select **Save changes** to apply the parameter group to your database.

## Create Debezium user

The Debezium connector needs a user account to connect to PostgreSQL. This
user must have appropriate permissions on all databases where you want Debezium
to capture changes.

1. Connect to PostgreSQL as the `postgres` user and create a new user for the connector:

```sql
CREATE ROLE <username> WITH LOGIN PASSWORD '<password>' VALID UNTIL 'infinity';
```

Replace `<username>` and `<password>` with a username and password for the new user.

1. Grant the user the necessary replication permissions:

```sql
GRANT rds_replication TO <username>;
```

Replace `<username>` with the username of the Debezium user.

1. Connect to your database as the `postgres` user and grant the new user access to one or more schemas in the database:

```sql
GRANT SELECT ON ALL TABLES IN SCHEMA <schema> TO <username>;
```

Replace `<username>` with the username of the Debezium user and `<schema>` with the schema name.

Original file line number Diff line number Diff line change
@@ -0,0 +1,100 @@
---
Title: Prepare Microsoft SQL Server on AWS RDS for RDI
aliases: /integrate/redis-data-integration/ingest/data-pipelines/prepare-dbs/aws-aurora-rds/aws-rds-sqlserver/
alwaysopen: false
categories:
- docs
- integrate
- rs
- rdi
description: Enable CDC features in your source databases
group: di
hideListLinks: false
linkTitle: Prepare Microsoft SQL Server on AWS RDS
summary: Prepare Microsoft SQL Server on AWS RDS databases to work with Redis Data Integration.
type: integration
weight: 3
---

Follow the steps in the sections below to prepare a [Microsoft SQL Server on AWS RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_GettingStarted.CreatingConnecting.SQLServer.html) database to work with RDI.

## Create the Debezium user

The Debezium connector needs a user account to connect to SQL Server. This
user must have appropriate permissions on all databases where you want Debezium
to capture changes.

1. Connect to your database as an admin user and create a new user for the connector:

```sql
USE master
GO
CREATE LOGIN <username> WITH PASSWORD = '<password>'
GO
USE <database>
GO
CREATE USER <username> FOR LOGIN <username>
GO
```

Replace `<username>` and `<password>` with a username and password for the new user and replace `<database>` with the name of your database.

1. Grant the user the necessary permissions:

```sql
USE master
GO
GRANT VIEW SERVER STATE TO <username>
GO
USE <database>
GO
EXEC sp_addrolemember N'db_datareader', N'<username>'
GO
```

Replace `<username>` with the username of the Debezium user and replace `<database>` with the name of your database.

## Enable CDC on the database

Change Data Capture (CDC) must be enabled for the database and for each table you want to capture.

1. Enable CDC for the database by running the following command:

```sql
EXEC msdb.dbo.rds_cdc_enable_db '<database>'
GO
```

Replace `<database>` with the name of your database.

1. Enable CDC for each table you want to capture by running the following commands:

```sql
USE <database>
GO
EXEC sys.sp_cdc_enable_table
@source_schema = N'<schema>',
@source_name = N'<table>',
@role_name = N'<role>',
@supports_net_changes = 0
GO
```

Replace `<database>` with the name of your database, `<schema>` with the name of the schema containing the table, `<table>` with the name of the table, and `<role>` with the name of a new role that will be created to manage access to the CDC data.

{{< note >}}
The value for `@role_name` can’t be a fixed database role, such as `db_datareader`.
Specifying a new name will create a corresponding database role that has full access to the
captured change data.
{{< /note >}}

1. Add the Debezium user to the CDC role:

```sql
USE <database>
GO
EXEC sp_addrolemember N'<role>', N'<username>'
GO
```

Replace `<role>` with the name of the role you created in the previous step and replace `<username>` with the username of the Debezium user.
Loading