Skip to content

Commit 0af505a

Browse files
(AzureCXP) fixes MicrosoftDocs/azure-docs-pr#541675
I added the missing guidance on whether IoT Edge configuration files should use public FQDNs or Private Link FQDNs. A new section was introduced to explain correct endpoint usage, including examples for IoT Hub, DPS, ACR, and Storage, along with the required DNS considerations. This update addresses customer confusion around proper Private Link configuration.
1 parent 5b93c8a commit 0af505a

1 file changed

Lines changed: 35 additions & 0 deletions

File tree

articles/iot-edge/using-private-link.md

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,4 +32,39 @@ Azure Private Link lets you use Azure PaaS services and Azure-hosted customer-ow
3232

3333
Azure DNS Private Resolver lets you query Azure DNS private zones from an on-premises environment and the other way around without deploying VM-based DNS servers. Azure DNS Private Resolver makes it easier to manage both private and public IPs. The DNS forwarding ruleset feature in Azure DNS Private Resolver helps an IoT admin easily configure rules and manage which address an endpoint should resolve. To learn more about Azure DNS Private Resolver, see [What is Azure DNS Private Resolver?](../dns/dns-private-resolver-overview.md).
3434

35+
### Configuring IoT Edge endpoints when using Private Link
36+
37+
When Private Link is enabled, IoT Edge must be configured to use the **private endpoint FQDNs**, not the public service hostnames. If public hostnames are used, IoT Edge modules will fail to connect after public network access is disabled.
38+
39+
#### Which hostname should be used?
40+
41+
| Azure service | Public FQDN | Private Link FQDN | What IoT Edge should use |
42+
|---------------|-------------|-------------------|---------------------------|
43+
| IoT Hub | `<hubname>.azure-devices.net` | `<hubname>.privatelink.azure-devices.net` | **Use Private Link FQDN** |
44+
| DPS | `global.azure-devices-provisioning.net` | `global.privatelink.azure-devices-provisioning.net` | **Use Private Link FQDN** |
45+
| Azure Container Registry (ACR) | `<registry>.azurecr.io` | `<registry>.privatelink.azurecr.io` | **Use Private Link FQDN** |
46+
| Storage (Blob) | `<account>.blob.core.windows.net` | `<account>.privatelink.blob.core.windows.net` | **Use Private Link FQDN** |
47+
48+
#### Example IoT Edge `config.yaml`
49+
50+
```yaml
51+
provisioning:
52+
source: "dps"
53+
global_endpoint: "global.privatelink.azure-devices-provisioning.net"
54+
scope_id: "<scope-id>"
55+
56+
agent:
57+
env:
58+
IOTEDGE_IOTHUBHOSTNAME: "<hubname>.privatelink.azure-devices.net"
59+
60+
#### DNS requirement
61+
62+
Your environment must correctly resolve private endpoint hostnames. Ensure:
63+
64+
- Private DNS zones for IoT Hub, DPS, ACR, and Storage are configured.
65+
- Private DNS zones are linked to your VNET.
66+
- On-premises systems forward DNS queries via Azure DNS Private Resolver (if applicable).
67+
68+
If DNS isn't configured, IoT Edge won't be able to resolve the private endpoint FQDNs.
69+
3570
For a walkthrough example scenario, see [Using Azure Private Link and Private Endpoints to secure Azure IoT traffic](https://kevinsaye.wordpress.com/2020/09/30/using-azure-private-link-and-private-endpoints-to-secure-azure-iot-traffic/). This example shows a possible configuration for a factory network and isn't intended as a production-ready reference.

0 commit comments

Comments
 (0)