Terraform EC2(根块设备加密错误未能达到目标状态)
Posted
技术标签:
【中文标题】Terraform EC2(根块设备加密错误未能达到目标状态)【英文标题】:Terraform EC2 (Root Block device Encryption error failing to reach target state) 【发布时间】:2021-11-16 22:33:47 【问题描述】:这个错误已经存在超过 10 天了。
在 Terraform 中创建 EC2 实例时,该实例不会达到目标状态并说:
Error: Error waiting for instance (i-*************) to become ready: Failed to reach target state. Reason: Client.InternalError: Client error on launch
我们还在我们的 EC2 仪表板中启用了对新 EBS 卷的加密。
我的基本 EC2 代码如下所示:
resource “aws_instance” “web”
ami = “ami-"
instance_type = “t2.micro”
availability_zone = “ap-south-1a”
root_block_device
volume_size = “10”
volume_type = “gp2”
delete_on_termination = true
encrypted = true
kms_key_arn = "arn:aws:kms:*************”
【问题讨论】:
我认为您在这里提出问题之前没有进行足够的研究,因为简单的谷歌搜索会给出:aws.amazon.com/premiumsupport/knowledge-center/…。 嘿@Marko E,由于我们的生产集群在 EC2 上运行,因此新的 ebs 卷已加密。但它以某种方式无法加密根块设备。 【参考方案1】:我自己就是这样做的。
我正在使用 KMS CMK 并使用以下方式调用 arn:
root_block_device
kms_key_id = "arn:aws:kms:*************”
您可能还发现您需要在 KMS 中允许该 CMK 的用户帐户,这通常是您看到该错误的原因:
Error waiting for instance (i-*************) to become ready...
【讨论】:
哦,我明白了,您认为我目前还缺少哪些其他内容。你能帮忙吗 嘿嘿,你还有什么其他的政策在这里遗漏了。以上是关于Terraform EC2(根块设备加密错误未能达到目标状态)的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 terraform 在 LocalStack 上创建 EC2 实例?
如何使用 terraform 将负载均衡器添加到 ec2 实例
如何使用 Terraform 传递 AssumeRole 并将 SSM 文档与 EC2 关联