【问题标题】:Terraform > The specified key does not existTerraform > 指定的键不存在
【发布时间】:2018-07-03 18:57:04
【问题描述】:

运行 terraform 计划抱怨我的存储桶中没有 S3 密钥。注意:这个键不存在,但是我很确定如果不存在,Terraform 应该创建它。日志是:

[DEBUG] [aws-sdk-go] <?xml version="1.0" encoding="UTF-8"?>
<Error><Code>NoSuchKey</Code><Message>The specified key does not exist.</Message><Key>my-key</Key>

Terraform 配置是:

terraform {
  backend "s3" {
    bucket = "<bucket>"
    key = "my-key"
    region = "eu-west-2"
    acl        = "private"
    kms_key_id = "<key>"    
  }
}

有什么建议吗?

【问题讨论】:

  • aws 凭据/cli 设置为同一区域? ENV 变量将覆盖 SDK 变量。
  • 这只是日志中的调试行,你真的报错了吗?

标签: amazon-s3 terraform


【解决方案1】:

您需要在terraform plan 之前运行terraform init 来初始化您配置的后端。

【讨论】:

    【解决方案2】:

    至少在最新版本的 Terraform(我使用的是 0.11.13)中,如果 S3 后端不存在,则会自动创建它

    【讨论】:

      【解决方案3】:

      我花了几个小时才发现远程状态文件只会在terraform apply 之后创建(当然是在terraform init && terraform plan 之后)。

      $ terraform version
      Terraform v1.0.4
      

      【讨论】:

        猜你喜欢
        • 2016-04-13
        • 1970-01-01
        • 1970-01-01
        • 2021-10-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-04-01
        相关资源
        最近更新 更多