你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
云原生任务自动化使管理服务器更像是管理代码。 可编写脚本的中心控制意味着在远程处理或编写一次性脚本时花费的时间更少,而是专注于通过 Azure 的业务流程。
在传统环境中,可以使用远程桌面协议(RDP)连接到 Windows 服务器并运行 PowerShell 脚本,或使用适用于 Linux 框的 SSH,或使用 System Center Configuration Manager(SCCM)中的运行脚本功能等工具。 Azure 将这些功能引入云平台,让你无需直接登录即可从 Azure 门户或命令行在任何服务器上运行任务。 Azure 还允许确保只有经过授权的个人才能使用 Azure 基于角色的访问控制(Azure RBAC)来运行这些命令。 所有作都会记录在 Azure 活动日志中进行审核。
让我们探索有助于简化和自动化任务的关键工具:Azure 运行命令、通过 Azure Arc 通过 SSH 以及与已启用 Arc 的服务器配合使用的相关自动化。
Azure 运行命令
使用 Azure 运行命令功能,可以从 Azure 远程在虚拟机(VM)或已启用 Arc 的服务器上执行脚本或命令,例如不需要使用远程桌面或 SSH 的远程动手键盘。 已启用 Azure Arc 的服务器运行命令 目前以公共预览版提供,为本地计算机提供该功能。
运行命令类似于使用 RDP 和 PowerShell,但更高效且可编写脚本。 使用“运行命令”,可以通过通过 Azure 发送命令来执行安装或更新软件、更改配置或重启目标服务器上的服务等作。 假设一次在 50 台服务器上运行快速脚本 - 可以在 Azure CLI 中创建一个脚本,以并行方式在一组已启用 Arc 的服务器上调用运行命令,这与手动 RDP 非常繁琐。 在已启用 Arc 的服务器上使用“运行命令”可降低开销并帮助提高安全性,因为不需要额外的开放端口。 使用现有 Arc 代理的连接运行命令,因此不需要向每台服务器打开任何入站端口或 VPN。
运行命令还支持集中式脚本管理。 可以将脚本存储在 Azure 中,并根据需要调用这些脚本,以便在需要时准备好常见的自动化任务。 例如,可以创建并保存一个脚本来清除服务器上的临时文件,然后根据需要跨任何已启用 Arc 的服务器运行它。 对于关键的安全配置或修补程序,可以通过运行脚本快速部署,而无需单独登录到每个服务器。 这些功能支持新式云做法,将脚本视为资产,并在最少人工干预的情况下执行。
通过 Azure Arc 进行 SSH 访问
通过 SSH 访问已启用 Arc 的服务器,可以通过 Azure 打开 Linux 或 Windows 服务器的交互式 shell 会话,而无需公共 IP 或直接网络访问。 本质上,Azure 充当跳转主机,无需 VPN 或公开 SSH。 连接到服务器的 Arc 代理,该代理通过运行 Azure CLI 命令或使用 Azure 门户(或适用于 Linux)来代理 SSH 会话(或者对于 Linux,Azure 可以打开基于浏览器的 SSH)。 还支持通过 SSH 进行 PowerShell 远程处理,可以使用本地帐户登录。 对于 Linux,还支持使用 Microsoft Entra 身份验证。 只有具有“所有者”或“参与者”角色的 Azure 用户才能启动 SSH 功能。
想想所有这些时间,你需要快速跳到服务器来检查某些内容。 现在,可以从任意位置执行此作,并且连接由 Azure 中转,遵循 Azure RBAC。 这会将中断修复和维护工作流移动到 Azure 的轨道,并避免使用跳线框或 IP 允许列表进行摆动。 作为系统管理员,你将欣赏能够直接运行 az ssh 和进入计算机,以及 Azure 日志跟踪连接时间的透明度。
Azure 自动化和逻辑应用
除了按需脚本之外,已启用 Arc 的服务器还允许将 Azure 自动化 帐户用于 PowerShell 和 Python Runbook,以及用于服务器管理任务的 Azure 逻辑应用 和 Azure Functions 。 例如,可以计划 Runbook 以每周清理所有已启用 Arc 的服务器上的日志,类似于计划的任务或 SCCM 基线脚本。 虽然这些是更广泛的自动化工具,但它们通过提供业务流程和计划来补充按需脚本,从而有效地将 Windows 任务计划程序或 SCCM 计划作业替换为基于云的 Runbook。
例子
将这些云原生脚本和自动化工具与已启用 Arc 的服务器结合使用,可以更高效地实现各种任务。 例如,下面是可以使用云原生脚本执行作的示例:
- 在数十台服务器上运行脚本,以收集日志文件并将其推送到存储帐户,而无需单独登录到任何服务器。
- 通过在服务器上通过“运行命令”运行安装程序来安装应用程序或更新(Arc 的代理将将其作为 LocalSystem 执行)。 还可以使用此方法自动向许多服务器推出代理。
- 通过创建脚本并在所有受影响的计算机上运行该脚本,快速触发配置更改(例如解决零日漏洞所需的一行修复)。 这可以在几分钟内在本地和云中完成,而传统上,需要通过你拥有的任何远程执行工具编写脚本。
- 将 Azure 更改跟踪和清单 与运行命令结合使用。 例如,可以检测到某个服务在服务器上停止,触发运行命令以在服务器上停止时重启特定服务。 甚至可以使用触发调用运行命令的逻辑应用的警报自动完成此作。 这是一种自我修复,可以通过 Azure 连接的所有内容实现。