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

时间:2016-03-03 16:59:02

标签: azure azure-virtual-machine azure-resource-manager

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

因此,我为公共IP,负载均衡器以及将availabilitySet声明等常见内容创建了一个资源组,因为它也必须在VM之间共享。 然后我在单独的资源组中创建VM并引用availabilitySet with     “availabilitySet”:{           “id”:“[resourceId('Microsoft.Compute / availabilitySets',variables('availabilitySetName'))]”         }, 原因'availabilitySetName'已定义。

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

  

{“error”:{“code”:“BadRequest”,“message”:“资源引用ID中的实体resourceGroupName /subscriptions/a719381f-1fa0-4b06-8e29-ad6ea7d3c90b/resourceGroups/TB_PIP_OPSRV_UAT/providers/Microsoft.Compute / availabilitySets / tb_avlbs_opsrv_uat无效。“}}

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

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

2 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分:1)

首先,让我问你为什么要不同的资源组?我坚信你是用多个资源组来思考它。资源组基本上是您的“整个系统”,并且在一个解决方案的范围内,您应该只有一个用于生产的资源组,一个用于beta / staging等,但从不混合。

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

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

可用性组

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

尝试将两者结合起来以防止停机可能听起来像个好主意,但它并没有解决我所知道的任何问题。就像那句老话:如果它没有破坏,不要修理它:)