【问题标题】:Terraform code will not create EC2 InstanceTerraform 代码不会创建 EC2 实例
【发布时间】:2019-06-27 16:32:04
【问题描述】:

我是 Terraform 的新手,我正在尝试创建我的第一个资源。 提供者是 AWS 并且提供者下载完成 我已经运行了 terraform init 并且已经完成。 但是,当我尝试运行 terraform plan 时,它告诉我我的基础架构中的任何内容都不会改变

provider "aws" {
  access_key = "I input my key here"
  secret_key = " I input my key here"
  region     = "us-east-1"
}

resource "aws_instance" "Server1" {
  ami           = "ami-0ea83ef2bc1efef82"
  instance_type = "t2.micro"
}

【问题讨论】:

  • 即使计划输出什么也没有显示,你能显示吗?你的 Terraform 状态文件的输出是什么?
  • 当我运行 Terraform 计划时,输出只是告诉我“没有变化。基础设施是最新的”。 “这意味着 terraform 没有检测到你的配置和存在的真实物理资源之间的差异。因此不需要执行任何操作”
  • 你的状态文件显示了什么?

标签: terraform


【解决方案1】:

这是正确的。 "terraform plan" 只会创建执行计划,但它不会执行任何操作!

terraform plan 命令用于创建执行计划。 Terraform 执行刷新,除非明确禁用,然后确定需要执行哪些操作才能实现配置文件中指定的所需状态。 这个命令是一种方便的方式来检查一组更改的执行计划是否符合您的期望,而无需对实际资源或状态进行任何更改

Terraform Plan

现在,发布“terraform plan”,创建 AWS 实例所要做的就是点击“terraform apply”

“terraform apply”将选择“terraform plan”生成的计划,并将在提到的提供者上执行它。如果执行成功,则会创建一个 EC2 实例。

terraform apply 命令用于应用达到所需配置状态所需的更改,或 terraform plan 执行计划生成的预定操作集。

Terraform Apply

【讨论】:

  • 是的,我知道 terraform 计划不会创建任何内容,但它仍应向我显示它将创建的内容的输出。但是它没有显示任何输出。它只是告诉我“没有变化。基础设施是最新的”。 “这意味着 terraform 没有检测到你的配置和存在的真实物理资源之间的差异。因此不需要执行任何操作”
  • 如果我尝试 Terraform 应用,我会收到一条消息“应用完成!资源:0 添加,0 更改,0 销毁
猜你喜欢
  • 2021-08-19
  • 1970-01-01
  • 2021-11-28
  • 1970-01-01
  • 2021-10-11
  • 2021-12-09
  • 2021-09-20
  • 2020-07-19
  • 2021-11-17
相关资源
最近更新 更多