如何通过Terraform为阿里云ECS实例加密系统盘?
如何通过Terraform为阿里云ECS实例系统盘加密?
阿里云官方确实支持通过Terraform为ECS实例系统盘加密,以下是具体实现方式及注意事项:
1. 普通ECS实例的系统盘加密配置
在alicloud_instance资源中,通过以下参数开启系统盘加密:
resource "alicloud_instance" "ecs_encrypted" { instance_type = "ecs.g6.large" # 需选择支持加密磁盘的实例规格 image_id = "centos_7_9_x64_20G_alibase_20220810.vhd" security_groups = [alicloud_security_group.default.id] vswitch_id = alicloud_vswitch.default.id # 配置系统盘加密 system_disk_category = "cloud_essd" # 指定支持加密的磁盘类型(cloud_essd/cloud_ssd/cloud_efficiency) system_disk_encrypted = true # 可选:指定自定义KMS密钥,不填则使用阿里云默认加密密钥 # system_disk_kms_key_id = alicloud_kms_key.custom_key.id }
2. 弹性伸缩配置(ESS Scaling Configuration)的系统盘加密
针对弹性伸缩配置资源,系统盘加密的配置逻辑类似,核心参数如下:
resource "alicloud_ess_scaling_configuration" "encrypted_config" { scaling_group_id = alicloud_ess_scaling_group.group.id image_id = "centos_7_9_x64_20G_alibase_20220810.vhd" instance_type = "ecs.g6.large" # 系统盘加密设置 system_disk_category = "cloud_essd" system_disk_encrypted = true # 可选:自定义KMS密钥ID # system_disk_kms_key_id = alicloud_kms_key.custom_key.id # 数据盘加密配置(若需要) data_disks { category = "cloud_essd" size = 40 encrypted = true # kms_key_id = alicloud_kms_key.custom_key.id } }
弹性伸缩配置文档核心要点(原英文文档翻译)
- 开启系统盘加密需同时指定支持加密的磁盘类型,仅部分磁盘类型支持加密
system_disk_encrypted设为true即可启用系统盘加密- 可通过
system_disk_kms_key_id绑定自定义KMS密钥,未指定则使用阿里云默认密钥 - 数据盘加密配置与系统盘逻辑一致,通过
data_disks块中的encrypted参数开启
注意事项
- 实例规格需支持加密磁盘,部分老旧实例规格不支持该特性,建议选择新一代规格
- 系统盘加密一旦开启无法关闭,创建实例/伸缩配置前需确认需求
- 若使用自定义镜像,需确保镜像本身未加密或支持加密转换,否则可能导致创建失败
内容的提问来源于stack exchange,提问作者Rizvan Saatov
相关产品推荐
相关产品推荐

