【发布时间】:2022-08-09 11:13:25
【问题描述】:
我是 Terraform 的新手。我已经尝试了我所知道的一切尝试。在这种情况下,谷歌没有提供帮助。
我正在使用 Terraform 构建复杂的云基础架构。这包括一个自动扩展的 ECS 服务。为了对这个基础设施进行版本控制、记录和简化修改,我选择使用 Terraform。
我正在从非常非常多的东西中创造两件东西,我已经克服了很多问题并学到了很多东西。
但是,有一个问题我无法克服:
resource \"aws_launch_configuration\" \"ecs\" {
depends_on = [aws_security_group.ecs, aws_iam_instance_profile.ecs, aws_key_pair.production]
name_prefix = \"${var.ecs_cluster_name}-cluster-\"
image_id = lookup(var.amis, \"us-east-2\")
instance_type = \"t2.micro\"
security_groups = [aws_security_group.ecs.id]
iam_instance_profile = aws_iam_instance_profile.ecs.name
key_name = aws_key_pair.production.key_name
associate_public_ip_address = true
user_data = \"#!/bin/bash\\necho ECS_CLUSTER=\'${var.ecs_cluster_name}-cluster\' > /etc/ecs/ecs.config\"
provider = aws.us-east-2
lifecycle {
create_before_destroy = true
}
}
计划和应用此结果:
│ Error: couldn\'t find resource
│
│ with aws_launch_configuration.ecs,
│ on 08_ecs.tf line 6, in resource \"aws_launch_configuration\" \"ecs\":
│ 6: resource \"aws_launch_configuration\" \"ecs\" {
│
这是什么意思?找不到资源是什么意思?
这不是我第一次遇到此错误消息,但我以前能够以某种方式解决它。在这种特殊情况下,我不知所措,因为我尝试过的任何方法都不起作用。
我尝试过的事情:
- 指定
depends_on - 在
aws_launch_configuration上咨询了 Terraform 文档 - 谷歌搜索错误消息(没有与此确切情况相关的结果)
好像我是第一个遇到这个问题的人。
版本:
PS C:\\Users\\admin\\PycharmProjects\\my-project\\terraform> terraform version
Terraform v1.2.1
on windows_amd64
+ provider registry.terraform.io/hashicorp/aws v4.20.1
+ provider registry.terraform.io/hashicorp/template v2.2.0
老实说,我觉得 Terraform 没有就错误提供非常有用的反馈。类似于回溯的东西会很好,但我得到的只是“找不到资源”,突出显示 \"resource \"aws_launch_configuration\" \"ecs\" { 的“{\”部分
有任何想法吗?
-
错误发生在第一次创建资源时?也许您首先创建了资源,然后使用 aws 控制台手动删除,然后尝试从 terraform 再次使用它?
-
那是可能的。我将如何从中恢复?
-
如果可能的话,您可以从状态文件中获取rm
aws_launch_configuration.ecs。 -
它尚未创建:
No matching objects found. To view the available instances, use \"terraform state list\". Please modify the address to reference a specific instance. -
@Audiopolis,“老实说,我觉得 Terraform 没有就错误提供非常有用的反馈。类似于回溯的东西会很好”-您是否尝试过调整日志记录级别?例如。如此处所述:suse.com/support/kb/doc/?id=000020022
标签: terraform amazon-ecs terraform-provider-aws terraform0.12+