生产部署准则

安全性和可伸缩性是部署 Azure IoT 操作的首要任务。 本文概述了在为生产环境设置 Azure IoT 操作时应考虑的准则。

在考虑适当的配置之前,决定是要将 Azure IoT 操作部署到单节点群集还是多节点群集。 本文中的许多准则无论群集类型如何都适用,但当存在差异时,将会特别指出。

平台

目前,Ubuntu 24.04 上的 K3s 是可用于在生产环境中部署 Azure IoT 操作的唯一正式发布平台。

群集设置

确保硬件设置足以满足你的应用场景,并从安全环境开始。

系统配置

创建满足系统要求的已启用 Arc 的 K3s 群集。

安全性

请考虑以下措施,在部署之前确保群集设置是安全的。

  • 验证映像以确保它们已由 Microsoft 签名。
  • 执行 TLS 加密时,自带颁发者并与企业 PKI 集成。
  • 使用机密进行本地身份验证。
  • 使用用户分配的托管标识进行云连接。
  • 使用最新的修补程序和次要版本获取所有可用的安全和 bug 修复,使群集和 Azure IoT 操作部署保持最新状态。

网络

如果使用企业防火墙或代理,请将 Azure IoT 操作终结点添加到允许列表。

可观察性

对于生产部署,在部署 Azure IoT 操作之前,先在群集上部署可观测性资源。 我们还建议在 Azure Monitor 中设置 Prometheus 警报

部署

对于生产就绪型部署,请在 Azure IoT 操作部署期间包括以下配置。

MQTT 中转站

在 Azure 门户部署向导中,代理资源是在“配置”选项卡中设置的

架构注册表和存储

在 Azure 门户部署向导中,架构注册表及其所需的存储帐户是在“依赖项管理”选项卡中设置的

  • 存储帐户必须启用分层命名空间。
  • 架构注册表的托管标识必须具有存储帐户的参与者权限。
  • 仅当启用了公用网络访问时,才支持存储帐户。

对于生产部署,将存储帐户的公共网络访问权限限定为仅允许来自受信任 Azure 服务的流量。 例如:

  1. Azure 门户中,导航到架构注册表使用的存储帐户。
  2. 从导航菜单中选择 “安全性 + 网络 > 网络 ”。
  3. 对于公用网络访问设置,请选择 “从所选虚拟网络和 IP 地址启用”。
  4. 在“网络”页的 “例外 ”部分中,确保已选择 “允许受信任的Microsoft服务访问此资源 ”选项。
  5. 选择保存以应用更改。

有关详细信息,请参阅 配置 Azure 存储防火墙和虚拟网络 > ,授予对受信任 Azure 服务的访问权限

容错

多节点群集:可以在 Azure 门户部署向导的“依赖项管理”选项卡中启用容错。 它仅在多节点群集上受支持,建议将其用于生产部署。

安全设置

在部署期间,可以选择使用测试设置或安全设置。 对于生产部署,请选择安全设置。 如果要升级用于生产的现有测试设置部署,请按照启用安全设置中的步骤操作。

后期部署

部署 Azure IoT 操作后,为生产应用场景提供以下配置。

MQTT 中转站

部署后,可以编辑 BrokerListener 资源

还可以编辑 BrokerAuthentication 资源

创建新资源时,管理其授权:

OPC UA 代理

要在生产时连接到资产,请配置 OPC UA 身份验证

  • 请勿使用无身份验证。不支持在未经身份验证的情况下连接到 OPC UA 服务器。
  • 设置与 OPC UA 服务器的安全连接。 使用生产 PKI 并配置应用程序证书信任列表

数据流

在生产环境中使用数据流时: