我是terraform的新手,目前我只是在实验室环境中工作,所以我希望有人能帮助我,并为我指明错误的方向。我关注这段视频以供参考https://www.youtube.com/watch?v=SLB_c_ayRMo&t=2336秒。我运行的是terraform V1.2.9,我运行了一个terraform init命令,所有的东西都初始化了,但当我运行一个terra form计划时,我得到了这个错误";没有变化。您的基础结构与配置匹配。
Terraform已经将您的真实基础设施与您的配置进行了比较,没有发现任何差异,因此不需要进行任何更改">
这是我的代码供参考
terraform {
required_providers {
aws = {
source = "hashicorp/aws"
version = "~> 4.16"
}
}
required_version = ">= 1.2.0"
}
provider "aws" {
region = "us-east-1"
access_key = "access key"
secret_key = "secretkey"
}
resource "aws_instance" "my-first-server" {
ami = "ami-052efd3df9dad4825"
instance_type = "t2.micro"
tags = {
Name = "MyFirstServer"
}
}
如果能在我的学习之旅中为我提供帮助,我们将不胜感激。
Terraform创建资源(例如,在AWS中(并在状态文件中跟踪它们。状态文件是一个大对象,并不复杂。
如果您查看AWS-EC2区域us-east-1,看看您的实例是否在那里。如果不是,你应该看到地形图上说它在地形外被删除了。
检查它是否被正确跟踪的一种方法是进行terraform state list
。该命令应该向您显示aws_instance_my-first-server
,如果您已经计划&在过去应用了此配置。
如果你仍然被困在";从新鲜开始";由于这只是一个学习练习,而不是工作中的生产级别,因此可以删除整个状态文件并重新开始。
然而,我信任Terraform。。。您必须让实例在某个地方运行;(