Skip to content

Commit 762a3c4

Browse files
authored
Merge pull request #4330 from ClickHouse/azure-pl-filters-as-Resource-ID
2 parents fb83919 + 11ee4ec commit 762a3c4

File tree

4 files changed

+41
-29
lines changed

4 files changed

+41
-29
lines changed

docs/cloud/security/azure-privatelink.md

Lines changed: 40 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ import azure_pe_create_tags from '@site/static/images/cloud/security/azure-pe-cr
1919
import azure_pe_create_review from '@site/static/images/cloud/security/azure-pe-create-review.png';
2020
import azure_pe_ip from '@site/static/images/cloud/security/azure-pe-ip.png';
2121
import azure_pe_view from '@site/static/images/cloud/security/azure-pe-view.png';
22+
import azure_pe_resource_id from '@site/static/images/cloud/security/azure-pe-resource-id.png';
2223
import azure_pe_resource_guid from '@site/static/images/cloud/security/azure-pe-resource-guid.png';
2324
import azure_pl_dns_wildcard from '@site/static/images/cloud/security/azure-pl-dns-wildcard.png';
2425
import azure_pe_remove_private_endpoint from '@site/static/images/cloud/security/azure-pe-remove-private-endpoint.png';
@@ -33,35 +34,39 @@ This guide shows how to use Azure Private Link to provide private connectivity v
3334

3435
<Image img={azure_pe} size="lg" alt="Overview of PrivateLink" background='white' />
3536

36-
Unlike AWS and GCP, Azure supports cross-region connectivity via Private Link. This enables you to establish connections between VNets located in different regions where you have ClickHouse services deployed.
37+
Azure supports cross-region connectivity via Private Link. This enables you to establish connections between VNets located in different regions where you have ClickHouse services deployed.
3738

3839
:::note
39-
Additional charges may be applied to inter-region traffic. Please check latest Azure documentation.
40+
Additional charges may be applied to inter-region traffic. Please check the latest Azure documentation.
4041
:::
4142

4243
**Please complete the following steps to enable Azure Private Link:**
4344

4445
1. Obtain Azure connection alias for Private Link
4546
1. Create a Private Endpoint in Azure
46-
1. Add the Private Endpoint GUID to your ClickHouse Cloud organization
47-
1. Add the Private Endpoint GUID to your service(s) allow list
47+
1. Add the Private Endpoint Resource ID to your ClickHouse Cloud organization
48+
1. Add the Private Endpoint Resource ID to your service(s) allow list
4849
1. Access your ClickHouse Cloud service using Private Link
4950

51+
:::note
52+
ClickHouse Cloud Azure PrivateLink has switched from using resourceGUID to Resource ID filters. You can still use resourceGUID, as it is backward-compatible, but we recommend switching to Resource ID filters. To migrate, simply create a new endpoint using the Resource ID, attach it to the service, and remove the old resourceGUID-based one.
53+
:::
54+
5055
## Attention {#attention}
5156
ClickHouse attempts to group your services to reuse the same published [Private Link service](https://learn.microsoft.com/en-us/azure/private-link/private-link-service-overview) within the Azure region. However, this grouping is not guaranteed, especially if you spread your services across multiple ClickHouse organizations.
52-
If you already have Private Link configured for other services in your ClickHouse organization, you can often skip most of the steps because of that grouping and proceed directly to the final step: [Add the Private Endpoint GUID to your service(s) allow list](#add-private-endpoint-guid-to-services-allow-list).
57+
If you already have Private Link configured for other services in your ClickHouse organization, you can often skip most of the steps because of that grouping and proceed directly to the final step: [Add the Private Endpoint Resource ID to your service(s) allow list](#add-private-endpoint-id-to-services-allow-list).
5358

5459
Find Terraform examples at the ClickHouse [Terraform Provider repository](https://github.com/ClickHouse/terraform-provider-clickhouse/tree/main/examples/).
5560

5661
## Obtain Azure connection alias for Private Link {#obtain-azure-connection-alias-for-private-link}
5762

5863
### Option 1: ClickHouse Cloud console {#option-1-clickhouse-cloud-console}
5964

60-
In the ClickHouse Cloud console, open the service that you would like to connect via PrivateLink, then open the **Settings** menu. Click on the **Set up private endpoint** button. Make a note of the `Service name` and `DNS name` which will be used for setting up Private Link.
65+
In the ClickHouse Cloud console, open the service that you would like to connect via PrivateLink, then open the **Settings** menu. Click on the **Set up private endpoint** button. Make a note of the `Service name` and `DNS name` which will be used for setting up Private Link.
6166

6267
<Image img={azure_privatelink_pe_create} size="lg" alt="Private Endpoints" border />
6368

64-
Make a note of the `Service name` and `DNS name`, it will be needed in the next steps.
69+
Make a note of the `Service name` and `DNS name`, they will be needed in the next steps.
6570

6671
### Option 2: API {#option-2-api}
6772

@@ -103,7 +108,7 @@ Make a note of the `endpointServiceId`. You'll use it in the next step.
103108
:::important
104109
This section covers ClickHouse-specific details for configuring ClickHouse via Azure Private Link. Azure-specific steps are provided as a reference to guide you on where to look, but they may change over time without notice from the Azure cloud provider. Please consider Azure configuration based on your specific use case.
105110

106-
Please note that ClickHouse is not responsible for configuring the required Azure private endpoints, DNS records.
111+
Please note that ClickHouse is not responsible for configuring the required Azure private endpoints and DNS records.
107112

108113
For any issues related to Azure configuration tasks, contact Azure Support directly.
109114
:::
@@ -126,7 +131,7 @@ In the following screen, specify the following options:
126131

127132
- **Subscription** / **Resource Group**: Please choose the Azure subscription and resource group for the Private Endpoint.
128133
- **Name**: Set a name for the **Private Endpoint**.
129-
- **Region**: Choose region where the deployed VNet that will be connected to ClickHouse Cloud via Private Link.
134+
- **Region**: Choose a region where the deployed VNet that will be connected to ClickHouse Cloud via Private Link.
130135

131136
After you have completed the above steps, click the **Next: Resource** button.
132137

@@ -198,27 +203,33 @@ resource "azurerm_private_endpoint" "example_clickhouse_cloud" {
198203
}
199204
```
200205

201-
### Obtaining the private endpoint `resourceGuid` {#obtaining-private-endpoint-resourceguid}
206+
### Obtaining the Private Endpoint Resource ID {#obtaining-private-endpoint-resourceid}
202207

203-
In order to use Private Link, you need to add the Private Endpoint connection GUID to your service allow list.
208+
In order to use Private Link, you need to add the Private Endpoint connection Resource ID to your service allow list.
204209

205-
The Private Endpoint resource GUID is only exposed in the Azure Portal. Open the Private Endpoint created in previous step and click **JSON View**:
210+
The Private Endpoint Resource ID is exposed in the Azure Portal. Open the Private Endpoint created in the previous step and click **JSON View**:
206211

207212
<Image img={azure_pe_view} size="lg" alt="Private Endpoint View" border />
208213

209-
Under properties, find `resourceGuid` field and copy this value:
214+
Under properties, find `id` field and copy this value:
215+
216+
**Preferred method: Using Resource ID**
217+
<Image img={azure_pe_resource_id} size="lg" alt="Private Endpoint Resource ID" border />
218+
219+
**Legacy method: Using resourceGUID**
220+
You can still use the resourceGUID for backward compatibility. Find the `resourceGuid` field and copy this value:
210221

211222
<Image img={azure_pe_resource_guid} size="lg" alt="Private Endpoint Resource GUID" border />
212223

213224
## Setting up DNS for Private Link {#setting-up-dns-for-private-link}
214225

215-
You need will need to create a Private DNS zone (`${location_code}.privatelink.azure.clickhouse.cloud`) and attach it to your VNet to access resources via Private Link.
226+
You will need to create a Private DNS zone (`${location_code}.privatelink.azure.clickhouse.cloud`) and attach it to your VNet to access resources via Private Link.
216227

217228
### Create Private DNS zone {#create-private-dns-zone}
218229

219230
**Option 1: Using Azure portal**
220231

221-
Please follow the following guide to [create an Azure private DNS zone using the Azure Portal](https://learn.microsoft.com/en-us/azure/dns/private-dns-getstarted-portal).
232+
Please follow this guide to [create an Azure private DNS zone using the Azure Portal](https://learn.microsoft.com/en-us/azure/dns/private-dns-getstarted-portal).
222233

223234
**Option 2: Using Terraform**
224235

@@ -261,11 +272,11 @@ resource "azurerm_private_dns_a_record" "example" {
261272

262273
### Create a virtual network link {#create-a-virtual-network-link}
263274

264-
To link the private DNS zone to a virtual network, you'll need create a virtual network link.
275+
To link the private DNS zone to a virtual network, you'll need to create a virtual network link.
265276

266277
**Option 1: Using Azure Portal**
267278

268-
Please follow the following guide to [link the virtual network to your private DNS zone](https://learn.microsoft.com/en-us/azure/dns/private-dns-getstarted-portal#link-the-virtual-network).
279+
Please follow this guide to [link the virtual network to your private DNS zone](https://learn.microsoft.com/en-us/azure/dns/private-dns-getstarted-portal#link-the-virtual-network).
269280

270281
**Option 2: Using Terraform**
271282

@@ -289,11 +300,11 @@ Name: xxxxxxxxxx.westus3.privatelink.azure.clickhouse.cloud
289300
Address: 10.0.0.4
290301
```
291302

292-
## Add the Private Endpoint GUID to your ClickHouse Cloud organization {#add-the-private-endpoint-guid-to-your-clickhouse-cloud-organization}
303+
## Add the Private Endpoint Resource ID to your ClickHouse Cloud organization {#add-the-private-endpoint-id-to-your-clickhouse-cloud-organization}
293304

294305
### Option 1: ClickHouse Cloud console {#option-1-clickhouse-cloud-console-1}
295306

296-
To add an endpoint to organization, proceed to the [Add the Private Endpoint GUID to your service(s) allow list](#add-private-endpoint-guid-to-services-allow-list) step. Adding the `Private Endpoint GUID` using the ClickHouse Cloud console to the services allow list automatically adds it to organization.
307+
To add an endpoint to the organization, proceed to the [Add the Private Endpoint Resource ID to your service(s) allow list](#add-private-endpoint-id-to-services-allow-list) step. Adding the Private Endpoint Resource ID using the ClickHouse Cloud console to the services allow list automatically adds it to organization.
297308

298309
To remove an endpoint, open **Organization details -> Private Endpoints** and click the delete button to remove the endpoint.
299310

@@ -308,11 +319,11 @@ PROVIDER=azure
308319
KEY_ID=<Key ID>
309320
KEY_SECRET=<Key secret>
310321
ORG_ID=<set ClickHouse organization ID>
311-
ENDPOINT_ID=<Private Endpoint resourceGuid>
322+
ENDPOINT_ID=<Private Endpoint Resource ID>
312323
REGION=<region code, use Azure format>
313324
```
314325

315-
Set the `ENDPOINT_ID` environment variable using data from the [Obtaining the Private Endpoint `resourceGuid`](#obtaining-private-endpoint-resourceguid) step.
326+
Set the `ENDPOINT_ID` environment variable using data from the [Obtaining the Private Endpoint Resource ID](#obtaining-private-endpoint-resourceid) step.
316327

317328
Run the following command to add the Private Endpoint:
318329

@@ -357,13 +368,13 @@ After adding or removing a Private Endpoint, run the following command to apply
357368
curl --silent --user "${KEY_ID:?}:${KEY_SECRET:?}" -X PATCH -H "Content-Type: application/json" "https://api.clickhouse.cloud/v1/organizations/${ORG_ID:?}" -d @pl_config_org.json
358369
```
359370

360-
## Add the Private Endpoint GUID to your service(s) allow list {#add-private-endpoint-guid-to-services-allow-list}
371+
## Add the Private Endpoint Resource ID to your service(s) allow list {#add-private-endpoint-id-to-services-allow-list}
361372

362-
By default, a ClickHouse Cloud service is not available over a Private Link connection even if the Private Link connection is approved and established. You need to explicitly add the Private Endpoint GUID for each service that should be available using Private Link.
373+
By default, a ClickHouse Cloud service is not available over a Private Link connection even if the Private Link connection is approved and established. You need to explicitly add the Private Endpoint Resource ID for each service that should be available using Private Link.
363374

364375
### Option 1: ClickHouse Cloud console {#option-1-clickhouse-cloud-console-2}
365376

366-
In the ClickHouse Cloud console, open the service that you would like to connect via PrivateLink then navigate to **Settings**. Enter the `Endpoint ID` obtained from the [previous](#obtaining-private-endpoint-resourceguid) step.
377+
In the ClickHouse Cloud console, open the service that you would like to connect via PrivateLink then navigate to **Settings**. Enter the `Resource ID` obtained from the [previous](#obtaining-private-endpoint-resourceid) step.
367378

368379
:::note
369380
If you want to allow access from an existing PrivateLink connection, use the existing endpoint drop-down menu.
@@ -380,7 +391,7 @@ PROVIDER=azure
380391
KEY_ID=<Key ID>
381392
KEY_SECRET=<Key secret>
382393
ORG_ID=<set ClickHouse organization ID>
383-
ENDPOINT_ID=<Private Endpoint resourceGuid>
394+
ENDPOINT_ID=<Private Endpoint Resource ID>
384395
INSTANCE_ID=<Instance ID>
385396
```
386397

@@ -471,7 +482,7 @@ Run the following command:
471482
```bash
472483
nslookup <dns name>
473484
```
474-
where "dns name" `privateDnsHostname`<sup>API</sup> or `DNS name`<sup>console</sup> from [Obtain Azure connection alias for Private Link](#obtain-azure-connection-alias-for-private-link)
485+
where "dns name" is the `privateDnsHostname`<sup>API</sup> or `DNS name`<sup>console</sup> from [Obtain Azure connection alias for Private Link](#obtain-azure-connection-alias-for-private-link)
475486

476487
You should receive the following response:
477488

@@ -483,11 +494,11 @@ Address: 10.0.0.4
483494

484495
### Connection reset by peer {#connection-reset-by-peer}
485496

486-
Most likely, the Private Endpoint GUID was not added to the service allow-list. Revisit the [_Add Private Endpoint GUID to your services allow-list_ step](#add-private-endpoint-guid-to-services-allow-list).
497+
Most likely, the Private Endpoint Resource ID was not added to the service allow-list. Revisit the [_Add Private Endpoint Resource ID to your services allow-list_ step](#add-private-endpoint-id-to-services-allow-list).
487498

488499
### Private Endpoint is in pending state {#private-endpoint-is-in-pending-state}
489500

490-
Most likely, the Private Endpoint GUID was not added to the service allow-list. Revisit the [_Add Private Endpoint GUID to your services allow-list_ step](#add-private-endpoint-guid-to-services-allow-list).
501+
Most likely, the Private Endpoint Resource ID was not added to the service allow-list. Revisit the [_Add Private Endpoint Resource ID to your services allow-list_ step](#add-private-endpoint-id-to-services-allow-list).
491502

492503
### Test connectivity {#test-connectivity}
493504

@@ -496,7 +507,7 @@ If you have problems with connecting using Private Link, check your connectivity
496507
OpenSSL should be able to connect (see CONNECTED in the output). `errno=104` is expected.
497508

498509
```bash
499-
openssl s_client -connect abcd.westus3.privatelink.azure.clickhouse.cloud.cloud:9440
510+
openssl s_client -connect abcd.westus3.privatelink.azure.clickhouse.cloud:9440
500511
```
501512

502513
```response

scripts/aspell-dict-file.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -332,6 +332,7 @@ privatelink
332332
VNets
333333
guid
334334
vnet
335+
resourceGUID
335336
--docs/integrations/data-ingestion/clickpipes/postgres/toast.md--
336337
TOASTed
337338
TOASTing
279 KB
Loading
448 KB
Loading

0 commit comments

Comments
 (0)