在巢狀閘道上部署 Microsoft 網內快取模組,包含 IIoT 案例 (預覽)
Microsoft 網內快取模組支援巢狀或階層式閘道,其中一或多個 IoT Edge 閘道裝置位於可存取網路的單一閘道後方。 本文說明的部署案例範例有兩個巢狀 Azure IoT Edge 閘道裝置 (父閘道和子閘道) 及輸出未經驗證的 Proxy。
注意
此資訊與一項預覽功能有關,可用於早期測試和在實際執行環境中使用。 完全支援此功能,但仍在開發中,在正式推出之前可能還有重大變更。
下圖描述一個案例,其中一個 Azure IoT Edge 閘道對 CDN 資源具有直接存取,並且正作為另一個 Azure IoT Edge 閘道的父代。 子系 IoT Edge 閘道會作為 IoT 分葉裝置 (例如 Raspberry Pi) 的父代。 IoT Edge 子系閘道和 IoT 裝置都會與網際網路隔離。 此範例示範兩個層級的 Azure IoT Edge 閘道的組態,但 Microsoft 網內快取將支援的上游主機深度沒有限制。
如需設定 Azure IoT Edge 閘道分層部署的詳細資訊,請參閱連線下游 IoT Edge 裝置文件。 另請注意,部署 Azure IoT Edge、Microsoft 網內快取和自訂模組時,所有模組都必須位於相同的容器登錄中。
注意
部署 Azure IoT Edge、Microsoft 網內快取和自訂模組時,所有模組都必須位於相同的容器登錄中。
父閘道組態
使用下列步驟,在父閘道裝置上設定 Microsoft 網內快取模組。
在 Azure IoT 中樞內將 Microsoft 網內快取模組新增至您的 Azure IoT Edge 閘道裝置部署 (如需如何要求存取預覽模組的詳細資訊,請參閱已中斷連線的裝置支援)。
為部署新增環境變數。 以下的資料表提供是環境變數的範例:
名稱 值 CACHE_NODE_ID 請參閱環境變數說明 CUSTOMER_ID 請參閱環境變數說明 CUSTOMER_KEY 請參閱環境變數說明 STORAGE_1_SIZE_GB 10 CACHEABLE_CUSTOM_1_HOST Packagerepo.com:80 CACHEABLE_CUSTOM_1_CANONICAL Packagerepo.com IS_SUMMARY_ACCESS_UNRESTRICTED true 為部署新增容器建立選項。 單一或巢狀閘道的 MCC 容器建立選項沒有差異。 下列範例顯示 MCC 模組的容器建立選項:
{ "HostConfig": { "Binds": [ "/MicrosoftConnectedCache1/:/nginx/cache1/" ], "PortBindings": { "8081/tcp": [ { "HostPort": "80" } ], "5000/tcp": [ { "HostPort": "5100" } ] } } }
子閘道組態
使用下列步驟,在子閘道裝置上設定 Microsoft 網內快取模組。
注意
如果您已在自己的私人登錄中複寫組態中使用的容器,則必須修改模組部署中的 config.toml 設定和執行階段設定。 如需詳細資訊,請參閱連線下游 IoT Edge 裝置。
修改 IoT Edge 代理程式的映像路徑,如下列範例所示:
[agent] name = "edgeAgent" type = "docker" env = {} [agent.config] image = "<parent_device_fqdn_or_ip>:8000/iotedge/azureiotedge-agent:1.2.0-rc2" auth = {}
修改 IoT Edge 部署中的 IoT Edge 中樞和代理程式執行階段設定,如此範例所示:
- 針對 IoT Edge 中樞映像,輸入
$upstream:8000/iotedge/azureiotedge-hub:1.2.0-rc2
- 針對 IoT Edge 代理程式映像,輸入
$upstream:8000/iotedge/azureiotedge-agent:1.2.0-rc2
- 針對 IoT Edge 中樞映像,輸入
在 Azure IoT 中樞內,將 Microsoft 網內快取模組新增至您的 Azure IoT Edge 閘道裝置部署。
- 選擇模組的名稱:
ConnectedCache
- 修改映像 URI:
$upstream:8000/mcc/linux/iot/mcc-ubuntu-iot-amd64:latest
- 選擇模組的名稱:
新增與在父代部署中所使用的同一組環境變數和容器建立選項。
注意
CACHE_NODE_ID 應是唯一。 CUSTOMER_ID 和 CUSTOMER_KEY 值會與父代相同。 如需詳細資訊,請參閱模組環境變數。
如要驗證 Microsoft 網內快取是否正常運作,請在裝載模組的 IoT Edge 裝置終端機中或網路上的任何裝置執行下列命令。 以目標 IoT Edge 閘道的 IP 位址或主機名稱取代「Azure IoT Edge 閘道 IP」<>。 如需此報表可見度的資訊,請參閱 Microsoft 網內快取摘要報表。
wget http://<CHILD Azure IoT Edge Gateway IP>/mscomtest/wuidt.gif?cacheHostOrigin=au.download.windowsupdate.com
產業 IoT (IIoT) 設定
製造業網路通常會依照 Purdue 網路模型 (包含在 ISA 95 和 ISA 99 標準中) 以階層式層加以組織。 在這些網路中,只有最上層能夠連線到雲端,而階層中的較低層只能與相鄰的北端和南端層通訊。
此 GitHub 範例適用於工業 IoT 的 Azure IoT Edge 會部署下列元件:
- Azure 中的模擬 Purdue 網路
- 業界資產
- Azure IoT Edge 閘道的階層
這些元件將用來取得工業資料,並安全地將其上傳至雲端,而不會危害網路的安全性。 可以部署 Microsoft 網內快取,以支援 ISA 95 相容網路內所有層級的內容下載。
在符合 ISA 95 規範的網路內設定 Microsoft 網內快取部署的關鍵,是在 L3 IoT Edge 閘道上設定 OT Proxy 和上游主機。
如兩個層級的巢狀 IoT Edge 閘道範例中所述,在 L5 和 L4 層級設定 Microsoft 網內快取部署
L3 IoT Edge 閘道的部署必須指定:
- UPSTREAM_HOST - L4 IoT Edge 閘道的 IP/FQDN,L3 Microsoft 網內快取會向其要求內容。
- UPSTREAM_PROXY - OT Proxy 伺服器的 IP/FQDN:PORT。
OT Proxy 必須將 L4 MCC FQDN/IP 位址新增至允許清單。
若要驗證 Microsoft 網內快取正常運作,請在裝載模組的 IoT Edge 裝置終端機中或網路上的任何裝置執行下列命令。 以目標 IoT Edge 閘道的 IP 位址或主機名稱取代「Azure IoT Edge 閘道 IP」<>。 如需此報表可見度的資訊,請參閱 Microsoft 網內快取摘要報表。
wget http://<L3 IoT Edge Gateway IP>/mscomtest/wuidt.gif?cacheHostOrigin=au.download.windowsupdate.com