如何通过Terraform配置AWS EMR核心节点不附加任何EBS卷?
如何在Terraform中配置EMR核心节点不附加额外EBS卷
要让EMR核心节点只保留根卷、不附加任何额外EBS卷,关键在于显式覆盖默认的EBS配置——因为如果完全不指定ebs_config,EMR会自动给核心节点附加一个32GB的EBS卷。
你只需要在aws_emr_instance_group资源里添加ebs_config块,并将ebs_volumes设置为空列表即可。修改后的代码片段如下:
resource "aws_emr_instance_group" "core" { name = "CoreInstanceGroup" instance_role = "CORE" instance_type = "m4.xlarge" instance_count = 1 ebs_config { # 空列表表示不附加任何额外EBS卷,仅保留根卷 ebs_volumes = [] } }
为什么这样生效?
EMR的默认行为是:当未指定ebs_config时,核心节点会自动附加一个32GB的GP2卷。而通过显式定义ebs_config并传入空的ebs_volumes列表,相当于告诉Terraform(以及EMR API):我们不需要任何额外的EBS存储,只使用实例的根卷。
如果你的实例类型支持EBS优化实例,还可以在ebs_config块里添加ebs_optimized = true(或false),但这不会影响是否附加额外卷,只是优化EBS的IO性能,根据你的需求选择即可。
内容的提问来源于stack exchange,提问作者Kirupa
相关产品推荐
相关产品推荐

