近日,全球多个地区的Microsoft Azure用户集中反馈,其虚拟机(VM)的“运行命令”(Run Command)功能出现持续性故障,导致日常运维、脚本执行及应急响应任务受阻。截至发稿时,该问题已波及北美、欧洲及亚太部分区域,部分用户反映故障已持续超过48小时,引发业界对云服务可靠性的新一轮担忧。

问题集中爆发,运维人员束手无策

据多位Azure管理员在技术论坛及社交媒体上反映,自本周初起,当他们尝试通过Azure门户、CLI或PowerShell调用“运行命令”功能时,系统返回“操作失败”或“命令执行超时”等错误提示。受影响的操作包括但不限于:使用RunPowerShellScriptRunShellScript命令执行诊断脚本、安装补丁、重启服务等常规管理操作。

一位来自新加坡的DevOps工程师描述道:“过去两天,任何通过Run Command发起的操作几乎都以失败告终。我们不得不改用SSH直接登录,但这对批量管理的数百台VM而言效率极低。”类似反馈在Azure支持论坛上已累计数百条,且问题覆盖面持续扩大。

影响范围:从单点故障到连锁反应

“运行命令”是Azure VM的一项核心功能,允许用户在不直接登录虚拟机(甚至无需开放RDP/SSH端口)的情况下,通过Azure平台执行自定义脚本和命令。该功能尤其被广泛用于自动化运维、灾备恢复及安全响应等场景。

本次故障的直接后果包括: - 自动化流水线中断:依赖Run Command的CI/CD脚本、配置管理工具(如Ansible、Terraform)及Azure Automation Account中的作业大量失败。 - 应急响应延迟:部分企业无法通过该功能快速隔离受感染VM或安装安全补丁,增加了被攻击面。 - 审计与合规风险:由于无法执行标准化命令,运维操作被迫转为人工记录,可能打破“一切操作可追溯”的审计要求。

更令人担忧的是,有用户指出即使新建VM也无法避开该问题,表明故障并非源于单一客户配置,而是微软平台层面的全局性异常。

可能原因:基础设施层还是服务端代码?

截至目前,微软官方尚未发布详细根因分析。但据技术社区推测,问题可能源于以下几个方面:

  1. 负载均衡节点异常:Run Command的后端服务依赖于Azure基础设施中的代理组件(即“Azure VM Agent”)与控制平面通信。若部分区域的VM Agent版本过旧或后端调度服务过载,可能导致命令传递失败。
  2. 证书或认证失效:有用户观察到操作日志中频繁出现“403 Forbidden”和“InvalidToken”错误,暗示可能是Azure Resource Manager的令牌系统或托管身份认证出现瞬时故障。
  3. 近期更新引入的回归缺陷:微软在数周前曾推送过VM Agent的自动更新,部分用户怀疑新版本存在内存泄漏或协议兼容性问题。

不过,这些推测尚未得到微软证实。据悉,Azure工程团队已建立事件编号“ICM-XXXXXXX”进行紧急排查。

微软回应:正在调查,建议临时绕行

微软Azure状态页面于北京时间周二凌晨更新了“Azure Virtual Machines - Run Command”的服务健康公告,确认“部分客户可能遇到无法执行运行命令的问题”,并将状态标记为“正在调查”。随后,技术代表在论坛回帖中表示:“我们已识别到导致故障的配置变更,正在实施修复。请受影响客户关注状态页面更新。”

作为临时措施,微软建议用户通过以下方式绕行: - 直接通过SSH/RDP登录虚拟机(需确保网络安全规则已开放相应端口)。 - 若无法直接登录,可尝试通过“启动诊断”(Boot Diagnostics)查看控制台日志,或使用Azure Bastion进行无公网IP的连接。 - 对于批量操作,推荐暂时改用“自定义脚本扩展”(Custom Script Extension)作为备选方案,但需注意该扩展同样依赖VM Agent,可能面临类似问题。

专家建议:建立多云冗余机制

云原生安全专家、某国际咨询机构首席架构师李默认为,本次事件再次敲响了“云服务单点依赖”的警钟:“Run Command虽然便捷,但一旦平台侧故障,整个运维体系会瞬间瘫痪。企业级架构应设计多层保险——比如保留备用的SSH堡垒机、使用第三方运维工具,甚至跨云热备关键脚本。”

截至本文发稿时,部分北美地区用户已报告Run Command功能逐步恢复,但亚太区域仍有大量反馈等待处理。Azure官方并未给出明确解决时间表。我们将持续跟踪事件进展。