我正在尝试使用terraform创建azurerm_backup_protected_vm,但是在创建资源时得到超时错误,下面是我的terraform文件。
标准版- v0.13.3
main.tf
resource "azurerm_resource_group" "example" {
name = "tfex-recovery_vault"
location = "West US"
}
resource "azurerm_recovery_services_vault" "example" {
name = "tfex-recovery-vault"
location = azurerm_resource_group.example.location
resource_group_name = azurerm_resource_group.example.name
sku = "Standard"
}
resource "azurerm_backup_policy_vm" "example" {
name = "tfex-recovery-vault-policy"
resource_group_name = azurerm_resource_group.example.name
recovery_vault_name = azurerm_recovery_services_vault.example.name
backup {
frequency = "Daily"
time = "23:00"
}
}
resource "azurerm_backup_protected_vm" "vm_backup" {
resource_group_name = azurerm_resource_group.example.name
recovery_vault_name = azurerm_recovery_services_vault.example.name
source_vm_id = azurerm_virtual_machine.example.id
backup_policy_id = azurerm_backup_policy_vm.example.id
}当我运行terraform命令resource group,recovery service vault,backup policy是成功创建的,但是在创建backup policy时出错。
module.vm-linux.azurerm_backup_protected_vm.vm_backup: Still creating... [1h19m20s elapsed]
module.vm-linux.azurerm_backup_protected_vm.vm_backup: Still creating... [1h19m30s elapsed]
module.vm-linux.azurerm_backup_protected_vm.vm_backup: Still creating... [1h19m40s elapsed]
module.vm-linux.azurerm_backup_protected_vm.vm_backup: Still creating... [1h19m50s elapsed]
module.vm-linux.azurerm_backup_protected_vm.vm_backup: Still creating... [1h20m0s elapsed]
Error: Error waiting for the Azure Backup Protected VM "VM;iaasvmcontainerv2;PZI-GXU2-N-RGP-SB000-D065;U2ZSB000WDLV032" to be true (Resource Group "PZI-GXU2-N-RGP-SB000-D065") to provision: timeout while waiting for state to become 'Found' (last state: 'NotFound', timeout: 1h20m0s)
on modules/vm-linux/main.tf line 76, in resource "azurerm_backup_protected_vm" "vm_backup":
76: resource "azurerm_backup_protected_vm" "vm_backup" {发布于 2021-03-03 08:41:59
在本例中,我建议在与备份相关的资源中添加在……上面元参数,以确保在提供VM之后启用备份VM。
resource "azurerm_recovery_services_vault" "example" {
#..
depends_on = [azurerm_virtual_machine.example]
}
resource "azurerm_backup_policy_vm" "example" {
#..
depends_on = [azurerm_virtual_machine.example]
}
resource "azurerm_backup_protected_vm" "vm_backup" {
#..
depends_on = [azurerm_virtual_machine.example]
}这里是提供更多参考的示例。
# This resource is defined to fix the timeout problem in the creation of 'azurerm_recovery_services_protected_vm.*' resources
resource "null_resource" "delay" {
provisioner "local-exec" {
command = "sleep 180"
}
depends_on = [
"azurerm_virtual_machine.portal",
"azurerm_virtual_machine.engine",
"azurerm_virtual_machine.gateway",
]
}
resource "azurerm_recovery_services_protected_vm" "portal" {
resource_group_name = "${data.azurerm_resource_group.default.name}"
recovery_vault_name = "${data.terraform_remote_state.shell.backup_vault_name}"
source_vm_id = "${azurerm_virtual_machine.portal.id}"
backup_policy_id = "${data.terraform_remote_state.shell.backup_policy_id}"
depends_on = ["null_resource.delay"]
}
resource "azurerm_recovery_services_protected_vm" "engine" {
count = "${var.number_of_engines}"
resource_group_name = "${data.azurerm_resource_group.default.name}"
recovery_vault_name = "${data.terraform_remote_state.shell.backup_vault_name}"
source_vm_id = "${element(azurerm_virtual_machine.engine.*.id, count.index)}"
backup_policy_id = "${data.terraform_remote_state.shell.backup_policy_id}"
depends_on = ["null_resource.delay"]
}
resource "azurerm_recovery_services_protected_vm" "gateway" {
count = "${var.number_of_gateways}"
resource_group_name = "${data.azurerm_resource_group.default.name}"
recovery_vault_name = "${data.terraform_remote_state.shell.backup_vault_name}"
source_vm_id = "${element(azurerm_virtual_machine.gateway.*.id, count.index)}"
backup_policy_id = "${data.terraform_remote_state.shell.backup_policy_id}"
depends_on = ["null_resource.delay"]
}https://stackoverflow.com/questions/66443651
复制相似问题