Skip to content

Commit 0427b13

Browse files
authored
Merge pull request #2089 from redis/DOC-5648
RDI Cloud: Update user journey
2 parents fb6cd81 + 5de7c93 commit 0427b13

18 files changed

+144
-50
lines changed
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
* **Encryption key**: Select the [encryption key](#create-encryption-key) you created earlier.
2+
3+
* **Resource permissions**: Add the following permissions to your secret to allow the Redis data pipeline to access your secret. Replace `<AWS ACCOUNT ID>` with the AWS account ID for the Redis Cloud cluster that you saved earlier.
4+
5+
{{< embed-md "rc-rdi-secrets-permissions.md" >}}
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
```json
2+
{
3+
"Version" : "2012-10-17",
4+
"Statement" : [ {
5+
"Sid" : "RedisDataIntegrationRoleAccess",
6+
"Effect" : "Allow",
7+
"Principal" : "*",
8+
"Action" : [ "secretsmanager:GetSecretValue", "secretsmanager:DescribeSecret" ],
9+
"Resource" : "*",
10+
"Condition" : {
11+
"StringLike" : {
12+
"aws:PrincipalArn" : "arn:aws:iam::<AWS ACCOUNT ID>:role/redis-data-pipeline-secrets-role"
13+
}
14+
}
15+
} ]
16+
}
17+
```

content/operate/rc/databases/rdi/define.md

Lines changed: 24 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,12 @@ After you have [prepared your source database]({{<relref "/operate/rc/databases/
3030
- **Database**: Your database's name, or the root database *(PostgreSQL, Oracle only)*, or a comma-separated list of one or more databases you want to connect to *(SQL Server only)*
3131
- **Database Server ID**: Unique ID for the replication client. Enter a number that is not used by any existing replication clients *(mySQL and mariaDB only)*
3232
- **PDB**: Name of the Oracle pluggable database *(Oracle only)*
33-
1. Enter the ARN of your [database credentials secret]({{< relref "/operate/rc/databases/rdi/setup#share-source-database-credentials" >}}) in the **Source database secrets ARN** field.
33+
1. Enter the ARN of your [database credentials secret]({{< relref "/operate/rc/databases/rdi/setup#create-database-credentials-secrets" >}}) in the **Source database secrets ARN** field.
34+
1. If your database requires TLS, select **Use TLS**. Enter the ARN of your [CA certificate secret]({{< relref "/operate/rc/databases/rdi/setup#create-database-credentials-secrets" >}}) in the **CA Cert Secret ARN** field.
35+
{{<image filename="images/rc/rdi/rdi-define-tls.png" alt="The Source database connectivity section, with Use TLS selected and the CA Cert Secret ARN field." >}}
36+
1. If your database requires mTLS, select **Use mTLS**. Enter the ARN of your [Client certificate secret]({{< relref "/operate/rc/databases/rdi/setup#create-database-credentials-secrets" >}}) in the **Client Certificate Secret ARN** field and the ARN of your [Client key secret]({{< relref "/operate/rc/databases/rdi/setup#create-database-credentials-secrets" >}}) in the **Client Key Secret ARN** field.
37+
{{<image filename="images/rc/rdi/rdi-define-mtls.png" alt="The Source database connectivity section, with Use TLS selected and the Client Certificate Secret ARN and Client Key Secret ARN fields." >}}
38+
1. If your database requires mTLS with a client key passphrase, enter the ARN of your [Client key passphrase secret]({{< relref "/operate/rc/databases/rdi/setup#create-database-credentials-secrets" >}}) in the **Please add a secret ARN for the password to use with the secret store** field.
3439
1. Select **Start pipeline setup**.
3540
{{<image filename="images/rc/rdi/rdi-start-pipeline-setup.png" alt="The start pipeline setup button." width=200px >}}
3641
1. Redis Cloud will attempt to connect to PrivateLink. If your PrivateLink does not allow automatic acceptance of incoming connections, accept the incoming connection on AWS PrivateLink to proceed. See [Accept or Reject PrivateLink connection requests](https://docs.aws.amazon.com/vpc/latest/privatelink/configure-endpoint-service.html#accept-reject-connection-requests).
@@ -53,21 +58,29 @@ After your pipeline is provisioned, you will be able to define your pipeline. Yo
5358

5459
### Configure a new pipeline
5560

56-
1. In the [Redis Cloud console](https://cloud.redis.io/), go to your target database and select the **Data Pipeline** tab. If your pipeline is already provisioned, select **Complete setup** to go to the **Select data** section.
61+
1. In the [Redis Cloud console](https://cloud.redis.io/), go to your target database and select the **Data Pipeline** tab. If your pipeline is already provisioned, select **Complete setup** to go to the **Data modeling** section.
5762
{{<image filename="images/rc/rdi/rdi-complete-setup.png" alt="The complete setup button." width=200px >}}
58-
1. Select the Schema and Tables you want to migrate to the target database from the **Source data selection** list.
59-
{{<image filename="images/rc/rdi/rdi-select-source-data.png" alt="The select source data section. " width=75% >}}
63+
1. Select the Schema and Tables you want to migrate to the target database from the list.
64+
{{<image filename="images/rc/rdi/rdi-select-source-data.png" alt="The data modeling section. " width=75% >}}
65+
66+
Select **Manage Columns** to choose which columns you want to import.
67+
68+
{{<image filename="images/rc/rdi/rdi-manage-columns.png" alt="The manage columns button." width=150px >}}
6069

6170
You can select any number of columns from a table.
6271

63-
{{<image filename="images/rc/rdi/rdi-select-columns.png" alt="The select source data section. A table is expanded with a few columns selected." width=75% >}}
72+
{{<image filename="images/rc/rdi/rdi-select-columns.png" alt="The manage columns screen, with a few columns selected from one table" width=75% >}}
6473

65-
If any tables are missing a unique constraint, the **Missing unique constraint** list will appear. Select the columns that define a unique constraint for those tables from the list.
74+
If any tables are missing a unique constraint, a warning will appear in the **Data modeling** section. Select **Manage columns** to select the columns that define a unique constraint for those tables.
6675

6776
{{<image filename="images/rc/rdi/rdi-missing-unique-constraint.png" alt="The missing unique constraint list." width=75% >}}
6877

6978
{{<image filename="images/rc/rdi/rdi-select-constraints.png" alt="The missing unique constraint list with columns selected." width=75% >}}
7079

80+
Select **Save** to save your column changes and go back to schema selection.
81+
82+
{{<image filename="images/rc/button-save.png" alt="The save button." width=100px >}}
83+
7184
Select **Add schema** to add more database schemas.
7285

7386
{{<image filename="images/rc/rdi/rdi-add-schema.png" alt="The add schema button." width=150px >}}
@@ -80,19 +93,21 @@ After your pipeline is provisioned, you will be able to define your pipeline. Yo
8093

8194
{{<image filename="images/rc/rdi/rdi-continue-button.png" alt="The continue button." width=150px >}}
8295

83-
1. In the **Pipeline definition** section, select the Redis data type to write keys to the target. You can choose **Hash** or **JSON** if the target database supports JSON.
96+
1. Select the Redis data type to write keys to the target. You can choose **Hash** or **JSON** if the target database supports JSON.
8497
{{<image filename="images/rc/rdi/rdi-configure-new-pipeline.png" alt="The pipeline definition screen." width=75% >}}
8598

8699
You can also supply one or more [transformation job files]({{< relref "/integrate/redis-data-integration/data-pipelines/transform-examples" >}}) that specify how you want to transform the captured data before writing it to the target. Select **Upload jobs** to upload your job files.
87100

88101
{{<image filename="images/rc/rdi/rdi-transformation-jobs.png" alt="The transformation jobs section. Select Upload jobs to upload transformation jobs." >}}
89102

103+
When you upload job files, Redis Cloud will validate the job files to check for errors.
104+
90105
Select **Continue**.
91106
{{<image filename="images/rc/rdi/rdi-continue-button.png" alt="The continue button." width=150px >}}
92107

93-
1. Review the tables you selected in the **Summary**. If everything looks correct, select **Start ingest** to start ingesting data from your source database.
108+
1. Review the tables you selected in the **Review and deploy** section. If everything looks correct, select **Confirm & Deploy** to start ingesting data from your source database.
94109

95-
{{<image filename="images/rc/rdi/rdi-start-ingest.png" alt="The start ingest button." width=175px >}}
110+
{{<image filename="images/rc/rdi/rdi-confirm-deploy.png" alt="The Confirm & Deploy button." width=175px >}}
96111

97112
At this point, the data pipeline will ingest data from the source database to your target Redis database. This process will take time, especially if you have a lot of records in your source database.
98113

content/operate/rc/databases/rdi/setup.md

Lines changed: 78 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -198,7 +198,7 @@ You need to share your source database credentials and certificates in an Amazon
198198
199199
To do this, you need to:
200200
1. [Create an encryption key](#create-encryption-key) using AWS Key Management Service with the right permissions.
201-
1. [Create a secret](#create-database-credentials-secret) containing the source database credentials encrypted using that key.
201+
1. [Create secrets](#create-database-credentials-secrets) containing the source database credentials encrypted using that key.
202202
203203
### Create encryption key
204204
@@ -216,44 +216,90 @@ In the [AWS Management Console](https://console.aws.amazon.com/), use the **Serv
216216
217217
Review the key policy and key settings, and then select **Finish** to create the key.
218218
219-
### Create database credentials secret
219+
### Create database credentials secrets
220+
221+
To let Redis Cloud access your source database, you need to create AWS secrets for the source database's credentials and certificates.
222+
223+
The required secrets depend on your source database's security configuration. The following table shows the required secrets for each configuration:
224+
225+
| Security configuration | Required secrets |
226+
| :-- | :-- |
227+
| Username and password only | <ul><li>Credentials secret (username and password)</li></ul> |
228+
| TLS connection | <ul><li>Credentials secret (username and password)</li><li>CA Certificate secret (server certificate)</li></ul> |
229+
| mTLS connection | <ul><li>Credentials secret (username and password)</li><li>CA Certificate secret (server certificate)</li><li>Client certificate secret</li><li>Client key secret</li></ul> |
230+
| mTLS connection with client key passphrase | <ul><li>Credentials secret (username and password)</li><li>CA Certificate secret (server certificate)</li><li>Client certificate secret</li><li>Client key secret</li><li>Client key passphrase secret</li></ul> |
231+
232+
Select a tab to learn how to create the required secret.
233+
234+
{{< multitabs id="rdi-cloud-secrets"
235+
tab1="Credentials secret"
236+
tab2="CA Certificate secret"
237+
tab3="Client certificate secret"
238+
tab4="Client key secret"
239+
tab5="Client key passphrase secret" >}}
220240
221241
In the [AWS Management Console](https://console.aws.amazon.com/), use the **Services** menu to locate and select **Security, Identity, and Compliance** > **Secrets Manager**. [Create a secret](https://docs.aws.amazon.com/secretsmanager/latest/userguide/create_secret.html) of type **Other type of secret** with the following settings:
222242
223243
- **Key/value pairs**: Enter the following key/value pairs.
224244
225245
- `username`: Database username
226246
- `password`: Database password
227-
- `trust_certificate`: Server certificate in PEM format *(TLS only)*
228-
- `client_public_key`: [X.509 client certificate](https://en.wikipedia.org/wiki/X.509) or chain in PEM format *(mTLS only)*
229-
- `client_private_key`: Key for the client certificate or chain in PEM format *(mTLS only)*
230-
- `client_private_key_passphrase`: Passphrase or password for the client certificate or chain in PEM format *(mTLS only)*
231-
232-
{{<note>}}
233-
If your source database has TLS or mTLS enabled, we recommend that you enter the `trust_certificate`, `client_public_key`, and `client_private_key` into the secret editor using the **Key/Value** input method instead of the **JSON** input method. Pasting directly into the JSON editor may cause an error.
234-
{{</note>}}
235-
236-
- **Encryption key**: Select the [encryption key](#create-encryption-key) you created earlier.
237-
238-
- **Resource permissions**: Add the following permissions to your secret to allow the Redis data pipeline to access your secret. Replace `<AWS ACCOUNT ID>` with the AWS account ID for the Redis Cloud cluster that you saved earlier.
239-
240-
```json
241-
{
242-
"Version" : "2012-10-17",
243-
"Statement" : [ {
244-
"Sid" : "RedisDataIntegrationRoleAccess",
245-
"Effect" : "Allow",
246-
"Principal" : "*",
247-
"Action" : [ "secretsmanager:GetSecretValue", "secretsmanager:DescribeSecret" ],
248-
"Resource" : "*",
249-
"Condition" : {
250-
"StringLike" : {
251-
"aws:PrincipalArn" : "arn:aws:iam::<AWS ACCOUNT ID>:role/redis-data-pipeline-secrets-role"
252-
}
253-
}
254-
} ]
255-
}
256-
```
247+
248+
{{< embed-md "rc-rdi-secrets-encryption-permissions.md" >}}
249+
250+
--tab-sep--
251+
252+
In the [AWS Management Console](https://console.aws.amazon.com/), use the **Services** menu to locate and select **Security, Identity, and Compliance** > **Secrets Manager**. [Create a secret](https://docs.aws.amazon.com/secretsmanager/latest/userguide/create_secret.html) of type **Other type of secret** with the following settings:
253+
254+
- **Key/value pairs**: Select **Plaintext** and enter the server certificate.
255+
256+
{{< embed-md "rc-rdi-secrets-encryption-permissions.md" >}}
257+
258+
--tab-sep--
259+
260+
In the [AWS Management Console](https://console.aws.amazon.com/), use the **Services** menu to locate and select **Security, Identity, and Compliance** > **Secrets Manager**. [Create a secret](https://docs.aws.amazon.com/secretsmanager/latest/userguide/create_secret.html) of type **Other type of secret** with the following settings:
261+
262+
- **Key/value pairs**: Select **Plaintext** and enter the client certificate.
263+
264+
{{< embed-md "rc-rdi-secrets-encryption-permissions.md" >}}
265+
266+
--tab-sep--
267+
268+
Use the [AWS CLI create-secret command](https://docs.aws.amazon.com/cli/latest/reference/secretsmanager/create-secret.html) or the [AWS CreateSecret API endpoint](https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_CreateSecret.html) to create a binary secret containing the client key.
269+
270+
For example, using the AWS CLI, run the following command:
271+
272+
```sh
273+
aws secretsmanager create-secret \
274+
--name <secret-name> \
275+
--secret-binary fileb://<path-to-client-key> \
276+
--kms-key-id <encryption-key-arn>
277+
```
278+
279+
Where:
280+
- `<secret-name>` - Name of the secret
281+
- `<path-to-client-key>` - Path to the client key file
282+
- `<encryption-key-arn>` - ARN of the [encryption key](#create-encryption-key) you created earlier
283+
284+
After you create the secret, you need to add permissions to allow the data pipeline to access it.
285+
286+
In the [AWS Management Console](https://console.aws.amazon.com/), use the **Services** menu to locate and select **Security, Identity, and Compliance** > **Secrets Manager**. Select the private key secret you just created and then select **Edit permissions**.
287+
288+
Add the following permissions to your secret:
289+
290+
{{< embed-md "rc-rdi-secrets-permissions.md" >}}
291+
292+
Replace `<AWS ACCOUNT ID>` with the AWS account ID for the Redis Cloud cluster that you saved earlier.
293+
294+
--tab-sep--
295+
296+
In the [AWS Management Console](https://console.aws.amazon.com/), use the **Services** menu to locate and select **Security, Identity, and Compliance** > **Secrets Manager**. [Create a secret](https://docs.aws.amazon.com/secretsmanager/latest/userguide/create_secret.html) of type **Other type of secret** with the following settings:
297+
298+
- **Key/value pairs**: Select **Plaintext** and enter the client key passphrase.
299+
300+
{{< embed-md "rc-rdi-secrets-encryption-permissions.md" >}}
301+
302+
{{< /multitabs >}}
257303
258304
After you store this secret, you can view and copy the [Amazon Resource Name (ARN)](https://docs.aws.amazon.com/secretsmanager/latest/userguide/reference_iam-permissions.html#iam-resources) of your secret on the secret details page.
259305

content/operate/rc/databases/rdi/view-edit.md

Lines changed: 20 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -49,20 +49,27 @@ To change the data you want to ingest from the data pipeline:
4949

5050
{{<image filename="images/rc/rdi/rdi-edit-button.png" alt="The edit pipeline button." width=100px >}}
5151

52-
1. Select the schema and tables you want to migrate to the target database from the **Source data selection** list.
52+
1. Select the Schema and Tables you want to migrate to the target database from the list.
53+
{{<image filename="images/rc/rdi/rdi-select-source-data.png" alt="The data modeling section. " width=75% >}}
5354

54-
{{<image filename="images/rc/rdi/rdi-select-source-data.png" alt="The select source data section. " width=75% >}}
55+
Select **Manage Columns** to choose which columns you want to import.
56+
57+
{{<image filename="images/rc/rdi/rdi-manage-columns.png" alt="The manage columns button." width=150px >}}
5558

5659
You can select any number of columns from a table.
5760

58-
{{<image filename="images/rc/rdi/rdi-select-columns.png" alt="The select source data section. A table is expanded with a few columns selected." width=75% >}}
61+
{{<image filename="images/rc/rdi/rdi-select-columns.png" alt="The manage columns screen, with a few columns selected from one table" width=75% >}}
5962

60-
If any tables are missing a unique constraint, the **Missing unique constraint** list will appear. Select the columns that define a unique constraint for those tables from the list.
63+
If any tables are missing a unique constraint, a warning will appear in the **Data modeling** section. Select **Manage columns** to select the columns that define a unique constraint for those tables.
6164

6265
{{<image filename="images/rc/rdi/rdi-missing-unique-constraint.png" alt="The missing unique constraint list." width=75% >}}
6366

6467
{{<image filename="images/rc/rdi/rdi-select-constraints.png" alt="The missing unique constraint list with columns selected." width=75% >}}
6568

69+
Select **Save** to save your column changes and go back to schema selection.
70+
71+
{{<image filename="images/rc/button-save.png" alt="The save button." width=100px >}}
72+
6673
Select **Add schema** to add more database schemas.
6774

6875
{{<image filename="images/rc/rdi/rdi-add-schema.png" alt="The add schema button." width=150px >}}
@@ -74,16 +81,20 @@ To change the data you want to ingest from the data pipeline:
7481
After you've selected the schemas and tables you want to sync, select **Continue**.
7582

7683
{{<image filename="images/rc/rdi/rdi-continue-button.png" alt="The continue button." width=150px >}}
84+
85+
1. Select the Redis data type to write keys to the target. You can choose **Hash** or **JSON** if the target database supports JSON.
86+
{{<image filename="images/rc/rdi/rdi-configure-new-pipeline.png" alt="The pipeline definition screen." width=75% >}}
7787

78-
1. In the **Pipeline definition** section, select the Redis data type to write keys to the target. You can choose **Hash** or **JSON** if the target database supports JSON.
88+
You can also supply one or more [transformation job files]({{< relref "/integrate/redis-data-integration/data-pipelines/transform-examples" >}}) that specify how you want to transform the captured data before writing it to the target. Select **Upload jobs** to upload your job files.
89+
90+
{{<image filename="images/rc/rdi/rdi-transformation-jobs.png" alt="The transformation jobs section. Select Upload jobs to upload transformation jobs." >}}
91+
92+
When you upload job files, Redis Cloud will validate the job files to check for errors.
7993

80-
{{<image filename="images/rc/rdi/rdi-configure-new-pipeline.png" alt="The Pipeline definition screen. Configure a new pipeline is selected." width=75% >}}
81-
8294
Select **Continue**.
83-
8495
{{<image filename="images/rc/rdi/rdi-continue-button.png" alt="The continue button." width=150px >}}
8596

86-
1. Review the tables you selected in the **Summary** and select how you want to update the data pipeline:
97+
1. Review the tables you selected in and select how you want to update the data pipeline:
8798

8899
{{<image filename="images/rc/rdi/rdi-update-preferences.png" alt="The Select update preferences section." width=25% >}}
89100

static/images/rc/button-save.png

3.16 KB
Loading
-3.93 KB
Loading
4.36 KB
Loading
2.51 KB
Loading
22.9 KB
Loading

0 commit comments

Comments
 (0)