使用 Terraform 在可用性区域(单个区域)之间进行 Azure 恢复服务 VM 复制
Posted
技术标签:
【中文标题】使用 Terraform 在可用性区域(单个区域)之间进行 Azure 恢复服务 VM 复制【英文标题】:Azure Recovery Services VM replication between availability zones (single region) with Terraform 【发布时间】:2022-01-19 10:50:59 【问题描述】:如果可以选择使用可用性区域而不是区域作为恢复服务库 VM 复制的灾难恢复源/目标,看来这还不能通过 Terraform 实现。
是这样吗?
似乎没有对 azurerm_site_recovery_replicated_vm 中的区域的任何引用。
尽管 AzureRM v3.0 上的注释确实提到将“zones”参数添加到任何支持它的对象,但所有 TF 文档引用都为此功能使用了一个单独的区域。
有谁知道 Azure API 是否支持此功能,还是我们必须等待 TF 更新?
【问题讨论】:
您可能需要将此作为 Azure 提供商的功能请求。 v3.0 的声明有点模糊 IMO。它说他们将为支持区域的资源增加一致性。我不确定这是否意味着他们会在此资源提供者中提供可用区域,但我希望如此。 正确 .. ARM 模板支持目标可用区参数 .. 但 terraform 不支持 .. 我在 repo 中提出了一个问题。你可以参考github.com/hashicorp/terraform-provider-azurerm/issues/14652 【参考方案1】:有谁知道 Azure API 是否支持此功能,或者我们必须支持吗? 就等TF更新吧?
Azure API 支持它,因为它可以使用 Bicep 或 ARM 模板 但参数 @987654324 @ 在您尝试对 VM 进行区域到区域灾难恢复时所需的 @ 在 Terraform 中不存在。
作为解决方法,您可以使用azurerm_resource_group_template_deployment
并根据您的要求使用此Microsoft Documentation
中提到的 Bicep/ARM 模板。
我已经提出 Github issue
来解决在 azurerm_site_recovery_replicated_vm
资源块中添加参数 target_availabiltity_zone
的相同问题。
【讨论】:
以上是关于使用 Terraform 在可用性区域(单个区域)之间进行 Azure 恢复服务 VM 复制的主要内容,如果未能解决你的问题,请参考以下文章
Terraform“为区域匹配失败的 VPC 接口端点创建 R53 别名”——但区域是正确的