Skip to content

Commit b44a94d

Browse files
authored
Merge pull request #6492 from ClickHouse/kk/clickpipes-rpe-custom-private-dns-aws
feat(clickpipes): document custom private DNS for AWS PrivateLink reverse private endpoints
2 parents f8c48b9 + f9f1071 commit b44a94d

2 files changed

Lines changed: 53 additions & 2 deletions

File tree

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

Lines changed: 52 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ integration:
1010
- category: 'clickpipes'
1111
---
1212

13+
import PrivatePreviewBadge from '@theme/badges/PrivatePreviewBadge';
1314
import cp_service from '@site/static/images/integrations/data-ingestion/clickpipes/cp_service.png';
1415
import cp_step0 from '@site/static/images/integrations/data-ingestion/clickpipes/cp_step0.png';
1516
import cp_rpe_select from '@site/static/images/integrations/data-ingestion/clickpipes/cp_rpe_select.png';
@@ -189,6 +190,8 @@ It requires setting up a NLB (Network Load Balancer) in front of your data sourc
189190
and configuring the VPC endpoint service to use the NLB.
190191

191192
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.
193+
If your service can't use PrivateLink managed private DNS (for example, the provider requires
194+
consumers to manage DNS resolution, as Confluent Cloud does), see [Custom private DNS](#custom-private-dns).
192195

193196
It's a preferred choice for:
194197

@@ -208,6 +211,52 @@ See AWS guide for [managing permissions](https://docs.aws.amazon.com/vpc/latest/
208211
can be configured for ClickPipes. Add [your ClickPipe region](#aws-privatelink-regions) to the allowed regions in your VPC endpoint service.
209212
:::
210213

214+
## Custom private DNS {#custom-private-dns}
215+
216+
<PrivatePreviewBadge/>
217+
218+
:::info
219+
Custom private DNS is in **Private Preview**. Reach out to the [ClickHouse support team](https://clickhouse.com/support/program) to enable it for your service.
220+
:::
221+
222+
AWS PrivateLink provides [managed private DNS](https://docs.aws.amazon.com/vpc/latest/privatelink/manage-dns-names.html)
223+
for VPC endpoint services with a verified domain. Some services require each consumer to manage DNS resolution in their own VPC, e.g., Confluent Cloud requires consumers to resolve broker hostnames to the PrivateLink endpoint.
224+
225+
For these cases, ClickPipes supports attaching custom private DNS names to a reverse private
226+
endpoint. ClickPipes resolves these names to the endpoint's private addresses, so your data
227+
source can be reached by its own hostname over private connectivity.
228+
229+
Custom private DNS complements managed private DNS — it doesn't replace it. If your
230+
PrivateLink service already provides private DNS names, you don't need custom names.
231+
232+
Custom private DNS names are supported for the [VPC endpoint service](#vpc-endpoint-service)
233+
and [VPC resource](#vpc-resource) endpoint types. MSK multi-VPC provides managed private DNS
234+
out-of-the-box and doesn't support custom names.
235+
236+
The following rules apply to custom private DNS names:
237+
238+
- Exact names (`kafka.internal.example.com`) and wildcard names (`*.example.com`) are
239+
supported. A wildcard matches a single DNS label — for example,
240+
`*.abcde12345.us-east-1.aws.confluent.cloud` matches
241+
`b0-lkc123.abcde12345.us-east-1.aws.confluent.cloud`.
242+
- Names must be unique across all reverse private endpoints of a ClickHouse service,
243+
including overlaps between wildcard and exact names.
244+
- Names under reserved suffixes (e.g., `local`, `localhost`, `internal`, `corp`,
245+
`private`) are rejected.
246+
247+
To configure custom private DNS names:
248+
249+
- In the ClickHouse Cloud console, fill in the `Custom private DNS name` field when
250+
[creating a reverse private endpoint](#creating-clickpipe). The field is shown once the
251+
feature is enabled for your service.
252+
- With [OpenAPI](https://clickhouse.com/docs/cloud/manage/api/swagger), set
253+
`customPrivateDnsMappings` when creating a reverse private endpoint, or update an existing
254+
endpoint with a `PATCH` request. Updates replace the full list of mappings; an empty list
255+
removes all custom names.
256+
- With Terraform, use the
257+
[`clickhouse_clickpipes_reverse_private_endpoint_custom_private_dns`](https://registry.terraform.io/providers/ClickHouse/clickhouse/latest/docs/resources/clickpipes_reverse_private_endpoint_custom_private_dns)
258+
resource to manage mappings on an existing reverse private endpoint.
259+
211260
## Creating a ClickPipe with reverse private endpoint {#creating-clickpipe}
212261

213262
<VerticalStepper headerLevel="list">
@@ -246,6 +295,7 @@ For same-region access, creating a VPC Resource is the recommended approach.
246295
- For VPC resource, provide the configuration share ARN and configuration ID.
247296
- For MSK multi-VPC, provide the cluster ARN and authentication method used with a created endpoint.
248297
- For VPC endpoint service, provide the service name.
298+
- Optionally, provide a [custom private DNS](#custom-private-dns) name.
249299

250300
7. Click on `Create` and wait for the reverse private endpoint to be ready.
251301

@@ -258,7 +308,8 @@ For same-region access, creating a VPC Resource is the recommended approach.
258308
8. Once the endpoint is ready, you can use a DNS name to connect to the data source.
259309

260310
On a list of endpoints, you can see the DNS name for the available endpoint.
261-
It can be either an internally ClickPipes provisioned DNS name or a private DNS name supplied by a PrivateLink service.
311+
It can be an internally ClickPipes provisioned DNS name, a private DNS name supplied by a PrivateLink service,
312+
or a [custom private DNS name](#custom-private-dns).
262313
DNS name isn't a complete network address.
263314
Add the port according to the data source.
264315

docs/integrations/data-ingestion/clickpipes/kafka/02_schema-registries.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ To integrate with a schema registry during ClickPipes configuration, you must us
3636

3737
ClickPipes connects to the schema registry over HTTPS at the URL you provide. The schema registry does not need to be publicly accessible.
3838

39-
If your Kafka brokers are reached through a [reverse private endpoint](/integrations/clickpipes/aws-privatelink) (AWS PrivateLink or GCP Private Service Connect), the schema registry can use the same private connectivity. ClickPipes resolves the registry hostname through the reverse private endpoint's private DNS, so a registry hosted privately alongside your brokers is reachable as long as its hostname resolves to the reverse private endpoint's private IP addresses (via the endpoint's private DNS support or a custom private DNS mapping).
39+
If your Kafka brokers are reached through a [reverse private endpoint](/integrations/clickpipes/aws-privatelink) (AWS PrivateLink or GCP Private Service Connect), the schema registry can use the same private connectivity. ClickPipes resolves the registry hostname through the reverse private endpoint's private DNS, so a registry hosted privately alongside your brokers is reachable as long as its hostname resolves to the reverse private endpoint's private IP addresses (via the endpoint's private DNS support or a [custom private DNS mapping](/integrations/clickpipes/aws-privatelink#custom-private-dns)).
4040

4141
Keep the following in mind:
4242

0 commit comments

Comments
 (0)