Skip to content

Commit 0159229

Browse files
committed
Improve production checklist with concrete examples
- Add resource constraint createOptions example - Add corporate DNS server example - Add tip for replacing wildcard FQDNs with specific endpoints
1 parent e4f730e commit 0159229

1 file changed

Lines changed: 23 additions & 1 deletion

File tree

articles/iot-edge/production-checklist.md

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ title: Prepare your Azure IoT Edge solution for production
33
description: Ready your Azure IoT Edge solution for production. Learn how to set up your devices with certificates and make a deployment plan for future updates.
44
author: sethmanheim
55
ms.author: sethm
6-
ms.date: 06/03/2025
6+
ms.date: 02/26/2026
77
ms.topic: concept-article
88
ms.service: azure-iot-edge
99
services: iot-edge
@@ -337,6 +337,9 @@ This checklist is a starting point for firewall rules:
337337

338338
<sup>1</sup>Open port 8883 for secure MQTT or port 5671 for secure AMQP. If you can only make connections via port 443 then either of these protocols can be run through a WebSocket tunnel.
339339

340+
> [!TIP]
341+
> For tighter security, replace wildcard FQDNs with specific endpoints where possible. For example, replace `*.azure-devices.net` with `<your-hub-name>.azure-devices.net`. Replace `*.azurecr.io` with `<your-registry-name>.azurecr.io`. Enterprise security teams often reject wildcard rules, so plan for specific FQDNs in production.
342+
340343
Since the IP address of an IoT hub can change without notice, always use the FQDN to allowlist configuration. To learn more, see [Understanding the IP address of your IoT Hub](../iot-hub/iot-hub-understand-ip-address.md).
341344

342345
Some of these firewall rules are inherited from Azure Container Registry. For more information, see [Configure rules to access an Azure container registry behind a firewall](/azure/container-registry/container-registry-firewall-access-rules).
@@ -375,6 +378,14 @@ Specify the DNS server for your environment in the container engine settings. Th
375378
}
376379
```
377380

381+
For corporate or private networks that block external DNS, use your internal DNS server instead:
382+
383+
```json
384+
{
385+
"dns": ["10.0.0.53"]
386+
}
387+
```
388+
378389
## Solution management
379390

380391
* **Helpful**
@@ -518,6 +529,17 @@ Docker lets you limit resources like memory and CPU usage. For more information,
518529

519530
You can apply these constraints to individual modules by using create options in deployment manifests. For more information, see [How to configure container create options for IoT Edge modules](how-to-use-create-options.md).
520531

532+
For example, to limit a module to 256 MB of memory and 1 CPU core:
533+
534+
```json
535+
"createOptions": {
536+
"HostConfig": {
537+
"Memory": 268435456,
538+
"NanoCPUs": 1000000000
539+
}
540+
}
541+
```
542+
521543
## Next steps
522544

523545
* Learn more about [IoT Edge automatic deployment](module-deployment-monitoring.md).

0 commit comments

Comments
 (0)