你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

Azure 自动化状态配置

Azure 自动化
Azure Monitor
Azure 虚拟机

Azure 自动化 State Configuration 是一项 Azure 配置管理服务,你可通过该服务在任何云或本地数据中心的虚拟机和物理机上配置和强制执行状态。 可在仅限报告模式下使用 Azure 自动化 State Configuration 来查看虚拟计算机或物理计算机的配置合规性数据。

体系结构

此示例场景演示了如何使用 Azure 自动化 State Configuration 在 Windows 和 Linux Azure 虚拟机 (VM) 上安装 Web 服务器。 然后,可以使用 Azure Monitor 在系统不兼容时引发警报。

显示 Azure 自动化 State Configuration 体系结构的示意图。

下载此体系结构的 Visio 文件

工作流

在此解决方案中使用了以下服务和组件:

  • Azure 自动化:提供基于云的自动化和配置服务,用于支持 Azure 环境和非 Azure 环境之间的一致管理。
  • PowerShell Desired State Configuration (DSC):PowerShell 中的管理平台,可让你使用“配置即代码”来管理 IT 和开发基础结构。
  • Azure 自动化 State Configuration:使用 PowerShell Desired State Configuration 构建的配置管理解决方案。 State Configuration 适用于 Azure VM、本地计算机和非 Azure 云中的计算机。 使用 State Configuration,可以导入 PowerShell DSC 资源,并将其从中心位置分配给多个虚拟机。 每个终结点经过评估或应用所需状态后,状态合规性会报告给 Azure,并可以在内置仪表板上显示。
  • Azure Monitor:Azure Monitor 收集并存储 Azure 服务的指标和日志、应用程序遥测和平台指标。 使用此数据可以监视应用程序、设置警报和仪表板,以及针对故障执行根本原因分析。
  • Azure 虚拟机:用于运行虚拟机的 Azure IaaS 解决方案。

组件

方案详细信息

配置

使用 DSC 配置来配置 Windows 和 Linux 系统。 这些配置被上传到 Azure 自动化 State Configuration 服务中,并被编译成节点配置。 然后,可以将它们分配给由 State Configuration 服务管理的任何系统。

可在任何文本编辑器中或使用 Azure 门户撰写配置。 以下示例在包含的部署中用于在 Windows 和 Linux 系统上安装 Web 服务器。

configuration linuxpackage {

    Import-DSCResource -Module nx

    Node "localhost" {

        nxPackage nginx {
            Name = "nginx"
            Ensure = "Present"
        }
    }
}

有关撰写配置的详细信息,请参阅撰写 DSC 配置

监视

Azure Automation State Configuration 将节点状态数据保留 30 天。 如果希望将此数据保留更长一段时间,可以将节点状态数据发送到 Log Analytics 工作区。 Azure Monitor 日志可以更直观地显示自动化 State Configuration 数据的运行情况,并且有助于更快地解决事件。 例如,通过 Azure Monitor 集成,如果发现系统不合规,可以发出电子邮件警报。

Azure Monitor 集成使用包含的部署进行了配置。 以下 Azure Monitor 查询用于检测,并在检测到不合规的系统时发出警报。

AzureDiagnostics
| where Category == "DscNodeStatus"
| where ResultType != "Failed"

有关监视 Azure 自动化 State Configuration 的详细信息,请参阅与 Azure Monitor 日志集成

注意事项

这些注意事项实施 Azure 架构良好的框架的支柱原则,即一套可用于改善工作负荷质量的指导原则。 有关详细信息,请参阅 Microsoft Azure 架构良好的框架

成本优化

成本优化是关于寻找减少不必要的费用和提高运营效率的方法。 有关详细信息,请参阅成本优化支柱概述

配置管理包括配置请求服务和更改跟踪功能。 计费基于向服务注册的节点数,以及 Azure Log Analytics 服务中存储的日志数据量。

配置管理的收费从节点注册到服务时开始,在节点取消注册时停止。 节点是其配置由配置管理进行管理的任何计算机。 这可以是 Azure VM、本地 VM、物理主机或其他公有云中的 VM。 节点的计费按比例每小时进行。

有关详细信息,请参阅自动化定价

部署此方案

此部署包括 Azure 自动化帐户、Azure 自动化 State Configuration 功能和一个或多个加入到 State Configuration 上的 Windows 和 Linux VM。 部署后,配置将应用于每个安装了 Web 服务器的虚拟机。

要为部署创建资源组,请运行以下命令。 要使用嵌入式 shell,请选择“试用”按钮。

az group create --name state-configuration --location eastus

要部署 ARM 模板,请运行以下命令。 在提示符下,输入用户名和密码。 使用这些值登录到创建的虚拟机。

az deployment group create --resource-group state-configuration \
    --template-uri https://raw.githubusercontent.com/mspnp/samples/master/solutions/azure-automation-state-configuration/azuredeploy.json

部署 VM 后,在 Azure 门户中选择“自动化帐户”资源,然后选择“Desired State Configuration(DSC)”。 你会注意到,所有虚拟机都已添加到系统中,并且符合要求。 所有这些计算机都已应用 PowerShell DSC 配置,该配置在每个计算机上都安装了 Web 服务器。

Azure 门户中 DSC 符合性结果的屏幕截图。

你也可以浏览到任何虚拟机的公共 IP 地址,验证 Web 服务器是否正在运行。

有关详细信息和其他部署选项,请参阅用于部署此解决方案的 ARM 模板。

后续步骤