1---
2name: azure-iot-edge
3description: Expert knowledge for Azure IoT Edge development including troubleshooting, best practices, decision making, architecture & design patterns, limits & quotas, security, configuration, integrations & coding patterns, and deployment. Use when configuring DPS/X.509 provisioning, EFLOW/VM installs, gateway topologies, nested Edge, or CI/CD deployments, and other Azure IoT Edge related development tasks. Not for Azure IoT Hub (use azure-iot-hub), Azure IoT (use azure-iot), Azure IoT Central (use azure-iot-central), Azure Kubernetes Service Edge Essentials (use azure-aks-edge-essentials).
4compatibility: Requires network access. Uses mcp_microsoftdocs:microsoft_docs_fetch or fetch_webpage to retrieve documentation.
5metadata:
6 generated_at: "2026-07-19"
7 generator: "docs2skills/1.0.0"
8---
9
10# Azure IoT Edge Skill
11
12This skill provides expert guidance for Azure IoT Edge. Covers troubleshooting, best practices, decision making, architecture & design patterns, limits & quotas, security, configuration, integrations & coding patterns, and deployment. It combines local quick-reference content with remote documentation fetching capabilities.
13
14## How to Use This Skill
15
16> **IMPORTANT for Agent**: Use the **Category Index** below to locate relevant sections. For categories with line ranges (e.g., `L35-L120`), use `read_file` with the specified lines. For categories with file links (e.g., `[security.md](security.md)`), use `read_file` on the linked reference file
17
18> **IMPORTANT for Agent**: If `metadata.generated_at` is more than 3 months old, suggest the user pull the latest version from the repository. If `mcp_microsoftdocs` tools are not available, suggest the user install it: [Installation Guide](https://github.com/MicrosoftDocs/mcp/blob/main/README.md)
19
20This skill requires **network access** to fetch documentation content:
21- **Preferred**: Use `mcp_microsoftdocs:microsoft_docs_fetch` with query string `from=learn-agent-skill`. Returns Markdown.
22- **Fallback**: Use `fetch_webpage` with query string `from=learn-agent-skill&accept=text/markdown`. Returns Markdown.
23
24## Category Index
25
26| Category | Lines | Description |
27|----------|-------|-------------|
28| Troubleshooting | L37-L47 | Diagnosing and fixing IoT Edge and EFLOW issues: device/runtime errors, portal-based troubleshooting, Linux-on-Windows problems, networking faults, and Azure Monitor metrics integration. |
29| Best Practices | L48-L53 | Monitoring IoT Edge module twins for health, and production-ready practices for configuring, securing, deploying, and operating Azure IoT Edge in real-world environments. |
30| Decision Making | L54-L60 | Guidance on choosing IoT Edge/EFLOW platforms, provisioning methods, networking setups, and nested virtualization options for different deployment scenarios. |
31| Architecture & Design Patterns | L61-L67 | Design patterns for IoT Edge topologies: gateway scenarios, offline/intermittent connectivity strategies, and configuring multi-level (nested) Edge hierarchies for complex deployments |
32| Limits & Quotas | L68-L72 | Azure IoT Edge resource limits and quotas, including module, deployment, message, and device constraints, plus scalability and performance-related restrictions. |
33| Security | L73-L86 | Securing IoT Edge: certificates and X.509 provisioning, dTPM/EFLOW security, confidential computing modules, EST server setup, downstream auth, and Private Link/endpoint traffic protection. |
34| Configuration | L87-L119 | Configuring IoT Edge devices, networking, gateways, provisioning (DPS, keys, X.509), EFLOW/VM integration, metrics/monitoring, storage, and module/container deployment settings. |
35| Integrations & Coding Patterns | L120-L127 | Remote management and troubleshooting of IoT Edge via direct methods, integrating custom modules with IoT Hub, and managing IoT Edge on EFLOW using PowerShell. |
36| Deployment | L128-L140 | Deploying and updating IoT Edge at scale: CI/CD pipelines, portal/CLI deployments, Kubernetes/VM installs, runtime updates, and supported platforms for devices and device groups. |
37
38### Troubleshooting
39| Topic | URL |
40|-------|-----|
41| Troubleshoot Azure Monitor integration for IoT Edge metrics | https://learn.microsoft.com/en-us/azure/iot-edge/how-to-troubleshoot-monitoring-and-faq |
42| Diagnose and troubleshoot Azure IoT Edge devices | https://learn.microsoft.com/en-us/azure/iot-edge/troubleshoot |
43| Resolve common Azure IoT Edge errors and issues | https://learn.microsoft.com/en-us/azure/iot-edge/troubleshoot-common-errors |
44| Troubleshoot IoT Edge devices via Azure portal | https://learn.microsoft.com/en-us/azure/iot-edge/troubleshoot-in-portal |
45| Troubleshoot Azure IoT Edge for Linux on Windows devices | https://learn.microsoft.com/en-us/azure/iot-edge/troubleshoot-iot-edge-for-linux-on-windows |
46| Resolve common Azure IoT Edge for Linux on Windows issues | https://learn.microsoft.com/en-us/azure/iot-edge/troubleshoot-iot-edge-for-linux-on-windows-common-errors |
47| Troubleshoot networking issues for EFLOW virtual machines | https://learn.microsoft.com/en-us/azure/iot-edge/troubleshoot-iot-edge-for-linux-on-windows-networking |
48
49### Best Practices
50| Topic | URL |
51|-------|-----|
52| Monitor IoT Edge module twins for health | https://learn.microsoft.com/en-us/azure/iot-edge/how-to-monitor-module-twins |
53| Apply production readiness best practices for Azure IoT Edge | https://learn.microsoft.com/en-us/azure/iot-edge/production-checklist |
54
55### Decision Making
56| Topic | URL |
57|-------|-----|
58| Select and configure networking options for EFLOW | https://learn.microsoft.com/en-us/azure/iot-edge/how-to-configure-iot-edge-for-linux-on-windows-networking |
59| Choose platform and provisioning options for IoT Edge devices | https://learn.microsoft.com/en-us/azure/iot-edge/how-to-create-iot-edge-device |
60| Choose nested virtualization options for EFLOW deployments | https://learn.microsoft.com/en-us/azure/iot-edge/nested-virtualization |
61
62### Architecture & Design Patterns
63| Topic | URL |
64|-------|-----|
65| Choose Azure IoT Edge gateway patterns for devices | https://learn.microsoft.com/en-us/azure/iot-edge/iot-edge-as-gateway |
66| Design offline operation patterns for Azure IoT Edge | https://learn.microsoft.com/en-us/azure/iot-edge/offline-capabilities |
67| Design and configure nested Azure IoT Edge hierarchies | https://learn.microsoft.com/en-us/azure/iot-edge/tutorial-nested-iot-edge |
68
69### Limits & Quotas
70| Topic | URL |
71|-------|-----|
72| Review Azure IoT Edge limits and restrictions | https://learn.microsoft.com/en-us/azure/iot-edge/iot-edge-limits-and-restrictions |
73
74### Security
75| Topic | URL |
76|-------|-----|
77| Deploy confidential computing applications as IoT Edge modules | https://learn.microsoft.com/en-us/azure/iot-edge/deploy-confidential-applications |
78| Configure dTPM access for IoT Edge on EFLOW | https://learn.microsoft.com/en-us/azure/iot-edge/how-to-access-dtpm |
79| Configure authentication for IoT Edge downstream devices | https://learn.microsoft.com/en-us/azure/iot-edge/how-to-authenticate-downstream-device |
80| Create and install test certificates for Azure IoT Edge | https://learn.microsoft.com/en-us/azure/iot-edge/how-to-create-test-certificates |
81| Manage certificates for secure Azure IoT Edge devices | https://learn.microsoft.com/en-us/azure/iot-edge/how-to-manage-device-certificates |
82| Provision Linux IoT Edge device using X.509 certificates | https://learn.microsoft.com/en-us/azure/iot-edge/how-to-provision-single-device-linux-x509 |
83| Configure certificate-based security for Azure IoT Edge | https://learn.microsoft.com/en-us/azure/iot-edge/iot-edge-certs |
84| Understand and configure security principles for IoT Edge for Linux on Windows | https://learn.microsoft.com/en-us/azure/iot-edge/iot-edge-for-linux-on-windows-security |
85| Configure EST server security for Azure IoT Edge devices | https://learn.microsoft.com/en-us/azure/iot-edge/tutorial-configure-est-server |
86| Secure IoT Edge traffic with Private Link and endpoints | https://learn.microsoft.com/en-us/azure/iot-edge/using-private-link |
87
88### Configuration
89| Topic | URL |
90|-------|-----|
91| Configure Azure IoT Edge device settings via config.toml | https://learn.microsoft.com/en-us/azure/iot-edge/configure-device |
92| Enable GPU acceleration for IoT Edge for Linux on Windows | https://learn.microsoft.com/en-us/azure/iot-edge/gpu-acceleration |
93| Configure and access Azure IoT Edge built-in metrics | https://learn.microsoft.com/en-us/azure/iot-edge/how-to-access-built-in-metrics |
94| Configure IoT Edge modules to use host storage | https://learn.microsoft.com/en-us/azure/iot-edge/how-to-access-host-storage-from-module |
95| Add custom metrics to Azure IoT Edge modules | https://learn.microsoft.com/en-us/azure/iot-edge/how-to-add-custom-metrics |
96| Configure metrics-collector to send IoT Edge metrics to Azure Monitor | https://learn.microsoft.com/en-us/azure/iot-edge/how-to-collect-and-transport-metrics |
97| Customize the Azure IoT Edge API proxy module for gateways | https://learn.microsoft.com/en-us/azure/iot-edge/how-to-configure-api-proxy-module |
98| Configure EFLOW networking for DMZ and multiple NICs | https://learn.microsoft.com/en-us/azure/iot-edge/how-to-configure-iot-edge-for-linux-on-windows-iiot-dmz |
99| Configure IoT Edge module build and deployment options | https://learn.microsoft.com/en-us/azure/iot-edge/how-to-configure-module-build-options |
100| Attach and configure multiple NICs for EFLOW VM | https://learn.microsoft.com/en-us/azure/iot-edge/how-to-configure-multiple-nics |
101| Configure proxy settings for Azure IoT Edge devices and modules | https://learn.microsoft.com/en-us/azure/iot-edge/how-to-configure-proxy-support |
102| Configure downstream devices to connect via IoT Edge gateway | https://learn.microsoft.com/en-us/azure/iot-edge/how-to-connect-downstream-device |
103| Configure nested Azure IoT Edge device hierarchies | https://learn.microsoft.com/en-us/azure/iot-edge/how-to-connect-downstream-iot-edge-device |
104| Configure USB over IP connectivity to EFLOW VM | https://learn.microsoft.com/en-us/azure/iot-edge/how-to-connect-usb-devices |
105| Configure Azure Monitor log alerts for IoT Edge metrics | https://learn.microsoft.com/en-us/azure/iot-edge/how-to-create-alerts |
106| Configure Azure IoT Edge as a transparent gateway | https://learn.microsoft.com/en-us/azure/iot-edge/how-to-create-transparent-gateway |
107| Create and configure virtual switches for EFLOW | https://learn.microsoft.com/en-us/azure/iot-edge/how-to-create-virtual-switch |
108| Configure symmetric key DPS provisioning for EFLOW | https://learn.microsoft.com/en-us/azure/iot-edge/how-to-provision-devices-at-scale-linux-on-windows-symmetric |
109| Configure TPM-based DPS provisioning for EFLOW devices | https://learn.microsoft.com/en-us/azure/iot-edge/how-to-provision-devices-at-scale-linux-on-windows-tpm |
110| Autoprovision EFLOW IoT Edge devices at scale with X.509 and DPS | https://learn.microsoft.com/en-us/azure/iot-edge/how-to-provision-devices-at-scale-linux-on-windows-x509 |
111| Configure large-scale IoT Edge provisioning with X.509 certificates | https://learn.microsoft.com/en-us/azure/iot-edge/how-to-provision-devices-at-scale-linux-x509 |
112| Provision a single EFLOW IoT Edge device with symmetric keys | https://learn.microsoft.com/en-us/azure/iot-edge/how-to-provision-single-device-linux-on-windows-symmetric |
113| Provision EFLOW IoT Edge device using X.509 certificates | https://learn.microsoft.com/en-us/azure/iot-edge/how-to-provision-single-device-linux-on-windows-x509 |
114| Provision a single Linux IoT Edge device with symmetric keys | https://learn.microsoft.com/en-us/azure/iot-edge/how-to-provision-single-device-linux-symmetric |
115| Share Windows folders with the EFLOW virtual machine | https://learn.microsoft.com/en-us/azure/iot-edge/how-to-share-windows-folder-to-vm |
116| Configure IoT Edge module container createOptions | https://learn.microsoft.com/en-us/azure/iot-edge/how-to-use-create-options |
117| Configure networking between Windows host and EFLOW virtual machine | https://learn.microsoft.com/en-us/azure/iot-edge/iot-edge-for-linux-on-windows-networking |
118| Configure IoT Edge deployment manifests and message routes | https://learn.microsoft.com/en-us/azure/iot-edge/module-composition |
119| Configure edgeAgent and edgeHub module twin properties | https://learn.microsoft.com/en-us/azure/iot-edge/module-edgeagent-edgehub |
120
121### Integrations & Coding Patterns
122| Topic | URL |
123|-------|-----|
124| Use IoT Edge agent direct methods for remote management | https://learn.microsoft.com/en-us/azure/iot-edge/how-to-edgeagent-direct-method |
125| Retrieve and upload Azure IoT Edge logs via direct methods | https://learn.microsoft.com/en-us/azure/iot-edge/how-to-retrieve-iot-edge-logs |
126| Develop Azure IoT Edge modules that integrate with IoT Hub | https://learn.microsoft.com/en-us/azure/iot-edge/module-development |
127| Use EFLOW PowerShell functions to manage IoT Edge | https://learn.microsoft.com/en-us/azure/iot-edge/reference-iot-edge-for-linux-on-windows-functions |
128
129### Deployment
130| Topic | URL |
131|-------|-----|
132| Set up CI/CD pipelines for Azure IoT Edge modules with Azure DevOps | https://learn.microsoft.com/en-us/azure/iot-edge/how-to-continuous-integration-continuous-deployment |
133| Create IoT Edge automatic deployments in portal | https://learn.microsoft.com/en-us/azure/iot-edge/how-to-deploy-at-scale |
134| Manage IoT Edge at-scale deployments with CLI | https://learn.microsoft.com/en-us/azure/iot-edge/how-to-deploy-cli-at-scale |
135| Deploy IoT Edge modules using Azure CLI | https://learn.microsoft.com/en-us/azure/iot-edge/how-to-deploy-modules-cli |
136| Install Azure IoT Edge on Kubernetes with KubeVirt | https://learn.microsoft.com/en-us/azure/iot-edge/how-to-install-iot-edge-kubernetes |
137| Deploy Azure IoT Edge to Ubuntu VMs with Bicep | https://learn.microsoft.com/en-us/azure/iot-edge/how-to-install-iot-edge-ubuntuvm-bicep |
138| Plan and execute Azure IoT Edge runtime updates on devices | https://learn.microsoft.com/en-us/azure/iot-edge/how-to-update-iot-edge |
139| Check supported platforms for IoT Edge on Windows | https://learn.microsoft.com/en-us/azure/iot-edge/iot-edge-for-linux-on-windows-support |
140| Manage IoT Edge automatic deployments for device groups | https://learn.microsoft.com/en-us/azure/iot-edge/module-deployment-monitoring |
141| Check supported platforms for Azure IoT Edge deployments | https://learn.microsoft.com/en-us/azure/iot-edge/support |