Skip to content

Commit e1eab53

Browse files
committed
ssh, privatelink
1 parent d415deb commit e1eab53

File tree

3 files changed

+42
-7
lines changed

3 files changed

+42
-7
lines changed

docs/integrations/data-ingestion/clickpipes/aws-privatelink.md

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -33,21 +33,25 @@ data source types:
3333
- Kafka
3434
- Postgres
3535
- MySQL
36+
- MongoDB
3637

3738
## Supported AWS PrivateLink endpoint types {#aws-privatelink-endpoint-types}
3839

3940
ClickPipes reverse private endpoint can be configured with one of the following AWS PrivateLink approaches:
4041

41-
- [VPC resource](https://docs.aws.amazon.com/vpc/latest/privatelink/privatelink-access-resources.html)
42-
- [MSK multi-VPC connectivity for MSK ClickPipe](https://docs.aws.amazon.com/msk/latest/developerguide/aws-access-mult-vpc.html)
43-
- [VPC endpoint service](https://docs.aws.amazon.com/vpc/latest/privatelink/privatelink-share-your-services.html)
42+
- [VPC resource](#vpc-resource)
43+
- [MSK multi-VPC connectivity for MSK ClickPipe](#msk-multi-vpc)
44+
- [VPC endpoint service](#vpc-endpoint-service)
4445

4546
### VPC resource {#vpc-resource}
4647

47-
Your VPC resources can be accessed in ClickPipes using PrivateLink and [AWS VPC Lattice](https://docs.aws.amazon.com/vpc-lattice/latest/ug/what-is-vpc-lattice.html). This approach doesn't require setting up a load balancer in front of your data source.
48+
:::info
49+
Cross-region is not supported.
50+
:::
51+
52+
Your [VPC resources](https://docs.aws.amazon.com/vpc/latest/privatelink/privatelink-access-resources.html) can be accessed in ClickPipes using PrivateLink and [AWS VPC Lattice](https://docs.aws.amazon.com/vpc-lattice/latest/ug/what-is-vpc-lattice.html). Unlike VPC endpoint service, this approach doesn't require setting up a load balancer in front of your data source.
4853

4954
Resource configuration can be targeted with a specific host or RDS cluster ARN.
50-
Cross-region is not supported.
5155

5256
It's the preferred choice for Postgres CDC ingesting data from an RDS cluster.
5357

@@ -151,8 +155,7 @@ Follow our [MSK setup guide for ClickPipes](/knowledgebase/aws-privatelink-setup
151155
It requires setting up a NLB (Network Load Balancer) in front of your data source
152156
and configuring the VPC endpoint service to use the NLB.
153157

154-
VPC endpoint service can be [configured with a private DNS](https://docs.aws.amazon.com/vpc/latest/privatelink/manage-dns-names.html),
155-
that will be accessible in a ClickPipes VPC.
158+
VPC endpoint service can be [configured with a private DNS](https://docs.aws.amazon.com/vpc/latest/privatelink/manage-dns-names.html), that will be accessible in a ClickPipes VPC.
156159

157160
It's a preferred choice for:
158161

docs/integrations/data-ingestion/clickpipes/mongodb/faq.md

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,4 +63,19 @@ We use MongoDB's native Change Streams API to track changes in the database. Cha
6363
Which read preference to use depends on your specific use case. If you want to minimize the load on your primary node, we recommend using `secondaryPreferred` read preference. If you want to optimize ingestion latency, we recommend using `primaryPreferred` read preference. For more details, see [MongoDB documentation](https://www.mongodb.com/docs/manual/core/read-preference/#read-preference-modes-1).
6464

6565
### Does the MongoDB ClickPipe support Sharded Cluster? {#does-the-mongodb-clickpipe-support-sharded-cluster}
66+
6667
Yes, the MongoDB ClickPipe supports both Replica Set and Sharded Cluster.
68+
69+
### Does MongoDB ClickPipe support Amazon DocumentDB? {#documentdb-support}
70+
71+
Yes, MongoDB ClickPipe supports Amazon DocumentDB 5.0. See [Amazon DocumentDB source setup guide](./source/docdb.md) for details.
72+
73+
### Does MongoDB ClickPipe support PrivateLink? {#privatelink-support}
74+
75+
We support PrivateLink for MongoDB (and DocumentDB) cluster in AWS only today. You can set up PrivateLink in two ways: (1) VPC Resource (2) VPC Endpoint Service.
76+
77+
Note that unlike single-node relational database, MongoDB client requires succesful replica set discovery to be able to respect the configured `ReadPreference`. This implies setting up PrivateLink with all the nodes in the cluster so the MongoDB client can successfully estabalish replica set connection, as well as redirect to another node when the connected node goes down. You can bypass this by specifying `/?directConnection=true` in the connection string during ClickPipes setup, which will skip replica set discovery and directly connect to the specified instance. In this case the PrivateLink setup will be similar to a single-node relational database.
78+
79+
For replica set connection, if you go with VPC Resource, you would need to create a `GROUP` configuration, plus a `CHILD` configuration for each node in the cluster; if you go with VPC Endpoint Service, you would need to create a separate Endpoint Service (and a separate NLB) for each node in the cluster. See [AWS PrivateLink for ClickPipes](../aws-privatelink.md) documentation for more details.
80+
81+
Please reach out to ClickHouse support for assistance.

docs/integrations/data-ingestion/clickpipes/mongodb/index.md

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ import mongodb_connection_details from '@site/static/images/integrations/data-in
1515
import select_destination_db from '@site/static/images/integrations/data-ingestion/clickpipes/mongodb/select-destination-db.png'
1616
import ch_permissions from '@site/static/images/integrations/data-ingestion/clickpipes/postgres/ch-permissions.jpg'
1717
import Image from '@theme/IdealImage';
18+
import ssh_tunnel from '@site/static/images/integrations/data-ingestion/clickpipes/postgres/ssh-tunnel.jpg'
1819

1920
# Ingesting data from MongoDB to ClickHouse (using CDC)
2021

@@ -69,6 +70,22 @@ Make sure you are logged in to your ClickHouse Cloud account. If you don't have
6970

7071
<Image img={mongodb_connection_details} alt="Fill in connection details" size="lg" border/>
7172

73+
#### (Optional) Set up SSH Tunneling {#optional-set-up-ssh-tunneling}
74+
75+
You can specify SSH tunneling details if your source MongoDB database is not publicly accessible.
76+
77+
1. Enable the "Use SSH Tunnelling" toggle.
78+
2. Fill in the SSH connection details.
79+
80+
<Image img={ssh_tunnel} alt="SSH tunneling" size="lg" border/>
81+
82+
3. To use Key-based authentication, click on "Revoke and generate key pair" to generate a new key pair and copy the generated public key to your SSH server under `~/.ssh/authorized_keys`.
83+
4. Click on "Verify Connection" to verify the connection.
84+
85+
:::note
86+
Make sure to whitelist [ClickPipes IP addresses](../clickpipes#list-of-static-ips) in your firewall rules for the SSH bastion host so that ClickPipes can establish the SSH tunnel.
87+
:::
88+
7289
Once the connection details are filled in, click `Next`.
7390

7491
#### Configure advanced settings {#advanced-settings}

0 commit comments

Comments
 (0)