使用Terraform创建增量Azure托管磁盘快照

kg7wmglp  于 2023-03-31  发布在  其他
关注(0)|答案(1)|浏览(115)

我在Terraform中使用PremiumV2_LRS托管磁盘,沿着最新版本(3.48.0)上的azurerm提供程序。
这些类型的磁盘只支持增量快照。我可以使用az命令行工具创建快照,没有任何问题(我也可以使用Azure Portal创建快照):

$ az snapshot create \
  --name metadata-disk-snapshot \
  --resource-group storage-resources \
  --source "/subscriptions/0000(...)/disks/metadata-disk" \
  --incremental true

然而,使用Terraform我不能创建这些类型的快照。这是我如何定义磁盘和快照的:

resource "azurerm_managed_disk" "storage_metadata_disk" {
  name                 = "metadata-disk"
  location             = azurerm_resource_group.storage_resource_group.location
  resource_group_name  = azurerm_resource_group.storage_resource_group.name
  zone                 = var.disks_configuration.azure_availability_zone
  storage_account_type = "PremiumV2_LRS"
  create_option        = "Empty"
  disk_size_gb         = var.disks_configuration.metadata_disk.size_gb
  disk_iops_read_write = var.disks_configuration.metadata_disk.iops
  disk_mbps_read_write = var.disks_configuration.metadata_disk.mbps
}

resource "azurerm_snapshot" "storage_metadata_disk_snapshot" {
  name                = "metadata-disk-snapshot"
  location            = azurerm_resource_group.storage_resource_group.location
  resource_group_name = azurerm_resource_group.storage_resource_group.name
  source_uri          = azurerm_managed_disk.storage_metadata_disk.id
  create_option       = "Import"
}

azurerm_snapshot.create_option只接受ImportCopy,两者都不起作用。“复制”似乎意味着“复制一个已经存在的快照”,“导入”可能意味着“增量”,但情况似乎并非如此。
然而,这两个选项都失败了。当使用“复制”时,错误是明确的-仅增量:

**Error: creating/updating Snapshot (Subscription: "(...)" Resource Group Name: "storage-resources" Snapshot Name: "metadata-disk-snapshot"): performing CreateOrUpdate: snapshots.SnapshotsClient#CreateOrUpdate: Failure sending request: StatusCode=0 -- Original Error: Code="OperationNotAllowed" Message="Only incremental snapshots are supported for disks of Sku PremiumV2\_LRS."**
with module.(...)\_metadata\_disk\_snapshot
on .terraform/modules/(...)/main.tf line 30, in resource "azurerm\_snapshot" "storage\_metadata\_disk\_snapshot":

当使用“导入”(唯一的其他有效选项)时:

**Error: creating/updating Snapshot (Subscription: "(...)" Resource Group Name: "storage-resources" Snapshot Name: "metadata-disk-snapshot"): performing CreateOrUpdate: snapshots.SnapshotsClient#CreateOrUpdate: Failure sending request: StatusCode=0 -- Original Error: Code="InvalidParameter" Message="Uri not of expected kind" Target="sourceUri"**
with module.(...)\_metadata\_disk\_snapshot
on .terraform/modules/(...)/main.tf line 30, in resource "azurerm\_snapshot" "storage\_metadata\_disk\_snapshot":

如果我尝试使用一个未记录的选项(例如一个虚构的值),错误消息是它期望create_optionCopyImport
有什么建议吗?

bzzcjhmw

bzzcjhmw1#

目前不支持。我来这里是建议你在Terraform提供商的github仓库中打开一个问题,但你已经这样做了。干得好!
https://github.com/hashicorp/terraform-provider-azurerm/issues/21099

相关问题