我可以将 vm 放入另一个资源组而不是 availabilitySet 吗?

Can i put vm into another resource group than availabilitySet?

我想将每个 VM 保留在单独的资源组中,以便于生命周期管理。我有一个包含 n 个 VLM 的集群。

因此,我为 public IP、负载均衡器等常见事物创建了一个资源组,并将 availabilitySet 声明放入其中,因为它也必须在 VM 之间共享。 然后我在单独的资源组中创建 VM 并引用 availabilitySet "availabilitySet":{ "id": "[resourceId('Microsoft.Compute/availabilitySets',变量('availabilitySetName'))]" }, 原因 'availabilitySetName' 已定义。

当我部署我的模板时,我收到一条错误消息

{"error":{"code":"BadRequest","message":"Entity resourceGroupName in resource reference id /subscriptions/a719381f-1fa0-4b06-8e29-ad6ea7d3c90b/resourceGroups/TB_PIP_OPSRV_UAT/providers/Microsoft.Compute/availabilitySets/tb_avlbs_opsrv_uat is invalid."}}

我仔细检查了是否正确指定了资源和可用性集名称。

这是否意味着我不能将集合放在与 VM 不同的资源组中?

首先问你为什么要不同的资源组?我坚信您对多个资源组的考虑过多。一个资源组基本上就是您的 "Entire System",在一个解决方案的边界内,您应该只有一个资源组用于生产,一个资源组用于 beta/staging 等,但切勿混合使用。

如果您向您的客户销售 SaaS,那么为您的每个客户设置一个资源组是有意义的。

如您所知,资源组只是您 link 一起管理解决方案中所有资产的一种方式;虚拟机、存储、数据库等在一个通用名称下。我很怀疑为什么要在一个解决方案中考虑多个资源组,但是,我总是愿意学习:)

可用性组

现在,Availability groups 是另一回事了。这与您的 VM 实例的 "Update Domains" 和 "Fault Domains" 有关。因为 Azure 不会像大多数 PaaS 服务那样为您保留 3 个独立的 VM,所以您必须自己管理它们以确保完全正常运行。基本上,当您在可用性集中添加两个或更多 VM 时,您可以确保计划内或计划外事件中至少有一个 VM 可用以满足 SLA。

尝试将两者结合起来以防止停机可能听起来是个好主意,但它并没有解决我所知道的任何问题。俗话说:没坏就别修:)

不幸的是,不支持让 VM 在不同的资源组中使用可用性集:(。