Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
19 commits
Select commit Hold shift + click to select a range
197a8f1
DOC-5937 trial Oracle checklist
andy-stark-redis Nov 7, 2025
223a915
Merge branch 'main' into DOC-5937-rdi-source-prep-checklists
andy-stark-redis Nov 13, 2025
a465e25
DOC-5937 made checkboxes look more 'interactive'
andy-stark-redis Nov 13, 2025
6a81fb2
DOC-5937 added hidden MongoDB checklist
andy-stark-redis Nov 13, 2025
19d555f
DOC-5937 added hidden MySQL checklist
andy-stark-redis Nov 13, 2025
c1baee5
DOC-5937 added PostgreSQL checklists and extra anchors in list
andy-stark-redis Nov 13, 2025
fd826a2
DOC-5937 added Spanner checklists plus new list item anchors
andy-stark-redis Nov 13, 2025
ab19fa0
DOC-5937 added SQL Server checklist
andy-stark-redis Nov 13, 2025
110ba74
DOC-5937 added AWS Aurora MySQL checklists and new anchors
andy-stark-redis Nov 13, 2025
1589216
DOC-5937 added AWS Aurora PostgreSQL checklists and new anchors
andy-stark-redis Nov 13, 2025
1b17ad2
DOC-5937 added AWS RDS SQL Server checklists and new anchors
andy-stark-redis Nov 13, 2025
1f3fa28
DOC-5937 made MongoDB checklist interactive
andy-stark-redis Nov 14, 2025
7b8aeb2
DOC-5937 made MySQL checklist interactive plus added sublists
andy-stark-redis Nov 14, 2025
9b306d8
DOC-5937 make PostrgreSQL checklist interactive plus add mini-lists
andy-stark-redis Nov 14, 2025
b93f69b
DOC-5937 made Spanner checklist interactive plus added mini-lists
andy-stark-redis Nov 14, 2025
e0c6dc9
DOC-5937 made SQL Server checklist interactive plus added mini-lists
andy-stark-redis Nov 14, 2025
6f6bc4c
DOC-5937 small formatting changes
andy-stark-redis Nov 14, 2025
acd0bf8
DOC-5937 fixes to AWS Aurora MySQL lists
andy-stark-redis Nov 14, 2025
ebb0e0a
DOC-5937 fixes for AWS Aurora SQL server lists
andy-stark-redis Nov 14, 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
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,12 @@ Select the steps for your database type.
tab1="AWS Aurora MySQL"
tab2="AWS RDS MySQL" >}}

```checklist {id="auroramysql" nointeractive="true" }
- [ ] [Add an Aurora reader node](#add-an-aurora-reader-node)
- [ ] [Create and apply parameter group](#aurora-create-and-apply-parameter-group)
- [ ] [Create Debezium user](#aurora-create-debezium-user)
```

## Add an Aurora reader node

RDI requires that your Aurora MySQL database has at least one replica or reader node.
Expand All @@ -33,11 +39,19 @@ To add a reader node to an existing database, select **Add reader** from the **A

You can also create one during database creation by selecting **Create an Aurora Replica or Reader node in a different AZ (recommended for scaled availability)** under **Availability & durability > Multi-AZ deployment**.

## Create and apply parameter group
## <a id="aurora-create-and-apply-parameter-group"></a>Create and apply parameter group

RDI requires some changes to database parameters. On 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.Creating.html) with the following settings:
```checklist {id="auroramysql-param-group" nointeractive="true" }
- [ ] [Create a parameter group](#aurora-create-a-parameter-group)
- [ ] [Apply the parameter group](#aurora-apply-the-parameter-group)
- [ ] [Apply the parameter group to the database](#aurora-apply-the-parameter-group-to-the-database)
- [ ] [Reboot the database instance](#aurora-reboot-the-database-instance)
```

1. <a id="aurora-create-a-parameter-group"></a>
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.Creating.html) with the following settings:

| Name | Value |
| :-- | :-- |
Expand All @@ -49,7 +63,8 @@ RDI requires some changes to database parameters. On AWS Aurora, you change thes

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:
1. <a id="aurora-apply-the-parameter-group"></a>
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 |
| :-- | :-- |
Expand All @@ -60,22 +75,38 @@ RDI requires some changes to database parameters. On AWS Aurora, you change thes

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.
1. <a id="aurora-apply-the-parameter-group-to-the-database"></a>
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.

1. Reboot your database instance. See [Rebooting a DB instance within an Aurora cluster](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-reboot-db-instance.html) for more information.
1. <a id="aurora-reboot-the-database-instance"></a>
Reboot your database instance. See [Rebooting a DB instance within an Aurora cluster](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-reboot-db-instance.html) for more information.

<a id="aurora-create-debezium-user"></a>

{{< embed-md "aur-rds-mysql-create-debezium-user.md" >}}

-tab-sep-

## Create and apply parameter group
```checklist {id="rds-mysql-list" nointeractive="true" }
- [ ] [Create and apply parameter group](#rds-create-and-apply-parameter-group)
- [ ] [Create Debezium user](#rds-create-debezium-user)
```

## <a id="rds-create-and-apply-parameter-group"></a>Create and apply parameter group

RDI requires some changes to database parameters. On AWS RDS, 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/UserGuide/USER_WorkingWithParamGroups.Creating.html) with the following settings:
```checklist {id="rds-mysql-param-group" nointeractive="true" }
- [ ] [Create a parameter group](#rds-create-a-parameter-group)
- [ ] [Apply the parameter group](#rds-apply-the-parameter-group)
- [ ] [Apply the parameter group to the database](#rds-apply-the-parameter-group-to-the-database)
- [ ] [Reboot the database instance](#rds-reboot-the-database-instance)
```

1. <a id="rds-create-a-parameter-group"></a>
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/UserGuide/USER_WorkingWithParamGroups.Creating.html) with the following settings:

| Name | Value |
| :-- | :-- |
Expand All @@ -86,7 +117,8 @@ RDI requires some changes to database parameters. On AWS RDS, you change these p

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:
1. <a id="rds-apply-the-parameter-group"></a>
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 |
| :-- | :-- |
Expand All @@ -95,11 +127,15 @@ RDI requires some changes to database parameters. On AWS RDS, you change these p

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.
1. <a id="rds-apply-the-parameter-group-to-the-database"></a>
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.

1. Reboot your database instance. See [Rebooting a DB instance](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_RebootInstance.html) for more information.
1. <a id="rds-reboot-the-database-instance"></a>
Reboot your database instance. See [Rebooting a DB instance](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_RebootInstance.html) for more information.

<a id="rds-create-debezium-user"></a>

{{< embed-md "aur-rds-mysql-create-debezium-user.md" >}}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,11 +23,24 @@ 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.

```checklist {id="aurorapostgresql" nointeractive="true" }
- [ ] [Create and apply parameter group](#create-and-apply-parameter-group)
- [ ] [Create Debezium user](#create-debezium-user)
```

## 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:
```checklist {id="aurorapostgresql-param-group" nointeractive="true" }
- [ ] [Create a parameter group](#create-a-parameter-group)
- [ ] [Apply the parameter group](#apply-the-parameter-group)
- [ ] [Apply the parameter group to the database](#apply-the-parameter-group-to-the-database)
- [ ] [Reboot the database instance](#reboot-the-database-instance)
```

1. <a id="create-a-parameter-group"></a>
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 |
| :-- | :-- |
Expand All @@ -38,43 +51,55 @@ RDI requires some changes to database parameters. On AWS RDS and AWS Aurora, you

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:
1. <a id="apply-the-parameter-group"></a>
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.
1. <a id="apply-the-parameter-group-to-the-database"></a>
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.

1. Reboot your database instance. See [Rebooting a DB instance within an Aurora cluster](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-reboot-db-instance.html) or [Rebooting a DB instance (RDS)](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_RebootInstance.html) for more information.
1. <a id="reboot-the-database-instance"></a>
Reboot your database instance. See [Rebooting a DB instance within an Aurora cluster](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-reboot-db-instance.html) or [Rebooting a DB instance (RDS)](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_RebootInstance.html) for more information.

## 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:
```checklist {id="aurorapostgresql-create-debezium-user" nointeractive="true" }
- [ ] [Connect to PostgreSQL as the `postgres` user](#connect-to-postgresql-as-the-postgres-user)
- [ ] [Grant the user the necessary replication permissions](#grant-the-user-the-necessary-replication-permissions)
- [ ] [Grant the user access to the database](#grant-the-user-access-to-the-database)
```

1. <a id="connect-to-postgresql-as-the-postgres-user"></a>
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:
1. <a id="grant-the-user-the-necessary-replication-permissions"></a>
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:
1. <a id="grant-the-user-access-to-the-database"></a>
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>;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,13 +22,24 @@ Follow the steps in the sections below to prepare a [Microsoft SQL Server on AWS
Change Data Capture (CDC) is not supported on SQL Server Express Edition. Only the Standard, Enterprise, and Developer editions support CDC and are supported by RDI.
{{< /note >}}

```checklist {id="rds-sqlserver-list" nointeractive="true" }
- [ ] [Create the Debezium user](#create-the-debezium-user)
- [ ] [Enable CDC on the database](#enable-cdc-on-the-database)
```

## 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:
```checklist {id="rds-sqlserver-create-debezium-user" nointeractive="true" }
- [ ] [Connect to SQL Server as an admin user](#connect-to-sql-server-as-an-admin-user)
- [ ] [Grant the user the necessary permissions](#grant-the-user-the-necessary-permissions)
```

1. <a id="connect-to-sql-server-as-an-admin-user"></a>
Connect to your database as an admin user and create a new user for the connector:

```sql
USE master
Expand All @@ -43,7 +54,8 @@ to capture changes.

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:
1. <a id="grant-the-user-the-necessary-permissions"></a>
Grant the user the necessary permissions:

```sql
USE master
Expand All @@ -62,7 +74,14 @@ to capture changes.

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:
```checklist {id="rds-sqlserver-enable-cdc" nointeractive="true" }
- [ ] [Enable CDC for the database](#enable-cdc-for-the-database)
- [ ] [Enable CDC for each table you want to capture](#enable-cdc-for-each-table-you-want-to-capture)
- [ ] [Add the Debezium user to the CDC role](#add-the-debezium-user-to-the-cdc-role)
```

1. <a id="enable-cdc-for-the-database"></a>
Enable CDC for the database by running the following command:

```sql
EXEC msdb.dbo.rds_cdc_enable_db '<database>'
Expand All @@ -71,7 +90,8 @@ Change Data Capture (CDC) must be enabled for the database and for each table yo

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

1. Enable CDC for each table you want to capture by running the following commands:
1. <a id="enable-cdc-for-each-table-you-want-to-capture"></a>
Enable CDC for each table you want to capture by running the following commands:

```sql
USE <database>
Expand All @@ -92,7 +112,8 @@ Specifying a new name will create a corresponding database role that has full ac
captured change data.
{{< /note >}}

1. Add the Debezium user to the CDC role:
1. <a id="add-the-debezium-user-to-the-cdc-role"></a>
Add the Debezium user to the CDC role:

```sql
USE <database>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ This guide describes the steps required to prepare a MongoDB database as a sourc
{{< note >}}The MongoDB connector is not capable of monitoring the changes of a standalone MongoDB server, since standalone servers do not have an oplog. The connector will work if the standalone server is converted to a replica set with one member.{{< /note >}}
## Summary

The following table summarizes the steps to prepare a MongoDB database for RDI. The sections below explain the steps in more detail.
The following table summarizes the considerations to prepare a MongoDB database for RDI.

| Requirement | Description |
|---------------------|-----------------------------------------------------------------------------|
Expand All @@ -37,6 +37,20 @@ The following table summarizes the steps to prepare a MongoDB database for RDI.
| MongoDB Atlas | **[SSL required](https://debezium.io/documentation/reference/stable/connectors/mongodb.html#mongodb-property-mongodb-ssl-enabled)**, provide root CA as `SOURCE_DB_CACERT` secret in RDI |
| Network | RDI Collector must reach all MongoDB nodes on required ports |

The following checklist shows the steps to prepare a MongoDB database for RDI,
with links to the sections that explain the steps in full detail.
You may find it helpful to track your progress with the checklist as you
complete each step.

```checklist {id="mongodblist"}
- [ ] [Configure oplog size](#1-configure-oplog-size)
- [ ] [Create a MongoDB user for RDI](#2-create-a-mongodb-user-for-rdi)
- [ ] [Connection string format](#3-connection-string-format)
- [ ] [Enable change streams and pre/post images (only if using a custom key)](#4-enable-change-streams-and-prepost-images-only-if-using-a-custom-key)
- [ ] [MongoDB Atlas specific requirements](#5-mongodb-atlas-specific-requirements)
- [ ] [Network and security](#6-network-and-security)
```

## 1. Configure oplog size

The Debezium MongoDB connector relies on the [oplog](https://www.mongodb.com/docs/manual/core/replica-set-oplog/) to capture changes from a replica set. The oplog is a fixed-size, capped collection. When it reaches its maximum size, it overwrites the oldest entries. If the connector is stopped and restarted, it attempts to resume from its last recorded position in the oplog. If that position has been overwritten, the connector may fail to start and report an invalid resume token error.
Expand Down
Loading