为什么微软在新一代 Azure Local 中越来越建议为 VM 启用 Azure Arc?
系列博客 · 第一篇主题Azure Local VM 与 Azure Arc 的关系 —— 战略视角引言这是 Azure Local 2510 之后一个非常明显的变化也是微软整个Hybrid by Default默认混合云战略的重要体现。简单来说Azure Local 不再仅仅定位为一套 Hyper-V 虚拟化平台而是定位为Azure 在客户数据中心的一种延伸Azure consistent platform / Azure at customer locations使本地基础设施能够纳入 Azure 的统一管理体系。VM 即使未启用 Azure Arc仍然属于 Azure Local 集群中的虚拟机资源但只有启用 Azure Arc 后它才会注册为 Azure Resource ManagerARM中的 Azure 资源从而接入 Azure 的统一管理能力。微软之所以越来越建议很多部署甚至默认开启VM Azure Arc是出于以下几个层面的考量。一、Azure Local 管的是集群而 Arc 管的是 VM以前Azure Stack HCI │ └── Hyper-V VM管理员管理的是HostClusterStorageVMVM 只是 Hyper-V 里的一个对象。现在Azure Local │ Azure Arc │ VM微软希望 VM 拥有 Azure Resource ID。例如Subscriptions │ Resource Group │ Azure Local │ Arc VM于是 VM 变成Azure Resource ManagerARM里的资源。这就是最大的区别。职责划分官方表述层级负责对象Azure Local平台层Host、Cluster、Storage、Network 等本地基础设施Azure Arc管理平面Guest OS、Azure Identity、与 Azure 服务的对接两者并非互相替代而是互补关系Azure Local 提供本地运行环境Azure Arc 提供 Azure 统一管理入口。二、没有 ArcAzure 看不到 VM 的 Guest 细节未启用 Azure Arc 时Portal 里实际存在两个 Resource Provider 的区分Microsoft.AzureStackHCI平台资源提供程序—— Portal 能看到 Azure Local 中创建的 VM平台对象Microsoft.HybridComputeAzure Arc 管理平面—— 未注册就看不到 Guest OS 详细信息。具体可见性如下资源层级Azure 是否可见对应 RPAzure Local VM平台对象✅ 可见Microsoft.AzureStackHCIAzure Arc VMARM 管理对象❌ 未注册Microsoft.HybridComputeGuest OS 信息❌不可见Microsoft.HybridCompute例如Host ├── VM1 ├── VM2 └── VM3未启用 Arc 时Azure 可以感知 Azure Local 中存在虚拟机但无法将其作为 Azure 管理资源进行统一管理也无法获取 Guest OS 的详细信息。所以在 Portal 里无法做到InventoryGuest 内部清单PatchGuest OS 补丁ExtensionsVM 扩展Defender for CloudCVE、BaselineAzure PolicyGuest OS 合规Azure Resource Graph 查询这些云端 Guest 管理能力都无法使用。三、Arc 之后VM 拥有完整 Azure 身份例如 VM01 启用 Guest Management 后其 Guest OS 会注册为 Azure Arc 管理的资源其资源路径为/subscriptions/xxx/resourceGroups/RG/providers/Microsoft.HybridCompute/machines/VM01需要注意的是VM 本身仍属于 Microsoft.AzureStackHCIAzure Local 平台资源而 Guest OS 则注册为 Microsoft.HybridComputeAzure Arc 管理资源。两者共同构成 Azure Local VM 的统一管理体验。启用 Guest Management 后Azure Monitor、Defender for Cloud、Azure Policy、Azure Automation 等 Azure 服务便可通过 Azure Arc 资源模型对 Guest OS 进行统一管理。四、Azure Local 上越来越多的 Azure 服务能力依赖 Arc 资源模型微软近几年在 Azure 管理方向新增的许多能力都建立在 Azure Arc 资源模型之上。4.1 Azure Update Manager以前只能更新 Host。现在Host → 可更新 Guest VM → 可更新Guest VM 的补丁能力依赖 Arc Agent。4.2 Defender for CloudHost可以保护。Guest如果没 Arc —— 不能看到漏洞、不能做漏洞扫描、看不到 CVE、看不到 Baseline。Arc 之后全部支持。4.3 Azure Monitor以前只能监控 Host。现在VM 直接发送PerformanceEventDependencyInsights这些都是 Arc Agent 完成。4.4 Azure Policy例如要求所有 VM 必须BitLocker关闭 SMB1安装 Agent指定 Registry这些都是 Arc Policy不是 Hyper-V 功能。4.5 Azure AutomationRunbookInvoke CommandPowerShellPatchDSC全部针对Arc Machine。⚠️ 补充说明以上能力并非启用 Arc 后自动拥有。Update Manager、Defender for Cloud、Azure Monitor、Azure Policy、Azure Automation 等本质上是 Azure 上的服务依赖 Azure Subscription 及对应的资源Log Analytics 工作区、Automation Account、Defender 计划等并按使用量、节点数或资源数计费。是否启用这些能力仍需客户根据业务需求与成本评估单独决定。五、Azure Portal 正逐渐成为 Azure Local 推荐的统一管理入口微软最近几版文档截图越来越多以这种结构呈现Azure Portal │ Azure Local │ Arc VM而本地 Hyper-V Manager、Windows Admin Center、Failover Cluster Manager、PowerShell 等本地管理工具仍然继续支持基础运维微软并没有宣告其废弃。目前的实际定位Azure Portal 正逐渐成为Azure Local 推荐的统一管理入口之一越来越多云端管理能力围绕 Arc VM 提供本地管理工具WAC、Hyper-V Manager、Failover Cluster Manager继续承担本地日常运维。例如通过 Portal 可以完成RestartRun CommandInventoryGuest 内部ExtensionsUpdateMonitorPolicy但这些能力仍然是Portal Azure 服务的组合本地工具并不会被取代。六、新增云管理能力主要围绕 Azure Arc 发布需要明确一个重要区分微软并未表态要废弃纯 Hyper-V VM。Hyper-V VM 仍然可以正常运行、迁移、HA、备份只是无法使用越来越多的云端管理能力。以前 Hyper-V VM 的管理方式主要是PowerShellSCVMMFailover Cluster ManagerWindows Admin Center近两年微软新增的云端管理能力主要围绕Arc Machine设计GitOpsAKS ArcAzure AutomanageMachine ConfigurationAzure Monitor AgentAzure Policy Guest ConfigurationDefender for Cloud Guest 保护这些能力本质上依赖Microsoft.HybridCompute服务器 / Guest 场景与Microsoft.KubernetesAKS Arc 场景等 Azure Arc Resource Provider。Azure Local VM 要使用这些 Azure 服务必须先以 Arc 资源的形式注册到对应的 RP。未启用 Azure Arc 的 Hyper-V VM 将无法使用这些 Azure 服务。所以 Azure Local 与 Azure Arc 结合后可以将 Hyper-V VM 同时映射为 Azure Resource在保留本地虚拟机身份的同时纳入 Azure 的统一资源管理体系。七、微软为什么要这样设计真正原因其实是统一管理模型。以前微软有很多种 VMAzure VMHyper-V VMVMware VMPhysical ServerAWS EC2GCP VM每一种管理方式都不同。Arc 以后全部统一Azure Resource Manager │ ▼ Azure Arc Machine无论Hyper-VVMwareBare MetalAzure LocalAWSGCP最后都是Arc-enabled machine / Arc-enabled serverMicrosoft.HybridCompute 下的统一资源模型。于是所有 Azure 服务只需要支持Microsoft.HybridCompute不用再分别为每种平台单独开发。八、对 Azure Local 而言这是战略方向而不是功能增强从Azure Stack HCI 22H2开始Arc 更多是一项可选增强能力而在Azure Local2510 及以后中Arc 已逐渐成为平台能力的基础。越来越多的新特性默认围绕 Arc 资源模型设计例如统一资源管理Azure PolicyAzure MonitorDefender for CloudUpdate Manager维度传统 Hyper-V VM启用 Azure Arc 的 VM定位只是 Hyper-V 对象同时是 Azure Resource管理方式依赖本地工具可通过 Azure Portal 统一管理Azure 服务接入无法直接应用可接入 Azure 管理、安全、监控、自动化等服务生命周期局限于本地集群纳入 Azure 统一资源生命周期补充从 Azure Stack HCI 到 Azure Local微软的产品重心已逐步从“基础设施交付”转向“基础设施 Azure 管理服务”的统一体验。Azure Arc 正是这一演进过程中的关键组成部分。同时微软越来越多的新功能首先围绕 Azure Arc 发布而不是围绕传统 Hyper-V 管理模型。这意味着 Azure Arc 已成为新功能进入 Azure Local 生态的主要入口。九、Azure Arc 是增强能力而不是运行前提站在客户实际项目中最常被问到的问题是“如果不开 Arc会不会影响 Azure Local”答案是不会。Azure Arc 并不是 Azure Local 正常运行的前提条件。即使 VM 未启用 Azure Arc下列能力仍然可以正常使用Hyper-V 虚拟化创建、删除、启停Live Migration高可用HA / Failover ClusteringStorage Spaces DirectS2DCluster Shared VolumesCSVFailover ClusterWindows Admin Center、Hyper-V Manager、Failover Cluster Manager 等本地工具管理Azure Arc 带来的主要价值是将 Guest OS 纳入 Azure 的统一管理体系使其能够使用Azure Monitor、Defender for Cloud、Update Manager、Azure Policy、Azure Automation等云端服务。因此是否启用 Azure Arc应结合企业的运维模式、合规要求及成本预算综合评估而不是默认全部启用。详细决策依据会在下一篇博客《Azure Local VM Azure Arc 启用流程与现实考量》中展开。结论微软建议在新的 Azure Local 中为 VM 启用 Azure Arc并不是因为 Hyper-V 管理能力不足而是因为 Azure Local 的定位已经发生变化。过去Azure Stack HCI 更像是一套本地虚拟化平台如今Azure Local 更希望成为Azure 在客户数据中心的延伸an extension of Azure。要实现这一目标每台 VM 都需要拥有 Azure Resource 身份而 Azure Arc 正是连接本地 VM 与 Azure Resource Manager 的桥梁。因此可以概括为一句话Azure Local 负责提供本地基础设施计算、存储、网络Azure Arc 负责将 VM 纳入 Azure 的统一资源管理体系。两者结合后本地 VM 能够作为 Azure Resource 纳入 Azure Resource Manager 的统一资源管理体系与 Azure 中的其他资源保持一致的管理体验。下一篇预告在下一篇博客中我们会讨论三个实际问题如何为已经迁移到 Azure Local 的 VM 启用 Guest ManagementAzure Arc两个 Agent 的职责区分Azure Local VM Guest Agentmocguestagent负责 Azure Local 与 VM 之间的 Guest Management 通信平台层Azure Connected Machine AgentAzure Arc Agent负责将 OS 注册为 Arc-enabled Server管理平面层迁移 VM 的启用限制涉及 VM Generation、Integration Services、OS、是否迁移等多项依赖会在下一篇详细展开从客户视角看Azure Arc 真的有必要吗已经有 Windows Admin Center为什么还要 Arc成本问题Arc 本身免费但绑定的 Azure 服务按量计费哪些客户能从 Arc 中真正获益哪些客户其实不需要Azure Arc 并非 Azure Local 的运行前提独立小节Azure Local 集群可以正常运行Hyper-V VM、Live Migration、HA、Storage 等不依赖 Azure ArcAzure Arc 主要用于 Azure 管理、安全、监控与自动化能力敬请期待《Azure Local VM Azure Arc 启用流程与现实考量》。