encryption - 使用 terraform VM 扩展的 Azure 磁盘加密 - 强制替换 [第二次运行]
问题描述
我创建了以下资源来加密 VM 的“所有”磁盘,到目前为止它运行良好:
resource "azurerm_virtual_machine_extension" "vm_encry_win" {
count = "${var.vm_encry_os_type == "Windows" ? 1 : 0}"
name = "${var.vm_encry_name}"
location = "${var.vm_encry_location}"
resource_group_name = "${var.vm_encry_rg_name}"
virtual_machine_name = "${var.vm_encry_vm_name}"
publisher = "${var.vm_encry_publisher}"
type = "${var.vm_encry_type}"
type_handler_version = "${var.vm_encry_type_handler_version == "" ? "2.2" : var.vm_encry_type_handler_version}"
auto_upgrade_minor_version = "${var.vm_encry_auto_upgrade_minor_version}"
tags = "${var.vm_encry_tags}"
settings = <<SETTINGS
{
"EncryptionOperation": "${var.vm_encry_operation}",
"KeyVaultURL": "${var.vm_encry_kv_vault_uri}",
"KeyVaultResourceId": "${var.vm_encry_kv_vault_id}",
"KeyEncryptionKeyURL": "${var.vm_encry_kv_key_url}",
"KekVaultResourceId": "${var.vm_encry_kv_vault_id}",
"KeyEncryptionAlgorithm": "${var.vm_encry_key_algorithm}",
"VolumeType": "${var.vm_encry_volume_type}"
}
SETTINGS
}
当我第一次运行时 - 对操作系统和数据磁盘都进行了 ADE 加密。但是,当我使用 terraform plan 或 terraform apply 重新运行 terraform 时,它想要替换我已经创建的所有数据磁盘,如下面的屏幕截图所示。
我不知道如何解决它。我已经创建的磁盘不应该被替换。我检查了ignore_chnages
lifecycle {
ignore_changes = [encryption_settings]
}
我不确定在哪里添加或者这个参考是否真的解决了这个问题?我应该添加哪个资源块。还是有其他方法?
解决方案
推荐阅读
- android - 观察视图层中的 Edittext 变化(MVVM 架构)
- java - 检查导航栏上的多个项目
- java - 即使 CountDownTimer 过期,处理程序仍在运行
- java - 从不在后台堆栈顶部的后台堆栈中删除特定片段
- spring-boot - 如何在kotlin和Spring Data JPA中按不在另一类@OneToMany单向映射中的列获取数据
- python - 初始化后无法访问另一个类中的实例
- android - 无法为 android 应用程序创建哈希键:我收到错误“keystore JKS 使用专有格式”
- python-3.x - 从 Google Cloud Function (Python) 将新文件写入 Google Cloud Storage 存储桶
- python - 从数据集中获取 IP 冲突列表的优化
- android - 如何初始化 Firebase 库?