Terraform s3 后端未使用共享凭据文件进行身份验证

Terraform s3 后端未使用共享凭据文件进行身份验证

我的凭证在我的 ~/.aws/credentials 文件中,我可以完美地使用 aws cli,但是当我执行时terraform init出现以下错误:

Error initializing new backend: 
Error configuring the backend "s3": No valid credential sources found for AWS Provider.
    Please see https://terraform.io/docs/providers/aws/index.html for more information on
    providing credentials for the AWS Provider

Please update the configuration in your Terraform files to fix this error
then run this command again.

默认情况下,如果我没有在 backend.tf 上指定我的凭证,它应该默认在 ~/.aws/credentials 中查找。不确定问题是什么。我已仔细检查了访问权限,没有任何变化。

Terraform 版本:Terraform v0.11.11

我的 backed.tf 如下所示:

terraform {
  backend "s3" {
    bucket = "ms14terraform"
    key    = "path/to/my/key/terraform.tfstate"
    dynamodb_table = "terraform-state-lock-dynamo"
    region = "eu-west-1"
  }
}

这是在我的 ubuntu 机器上

答案1

这似乎是由于 ubuntu 上的 snap 安装引起的问题,直接从 terraform 网站下载似乎可以解决这个问题:下载链接

答案2

在 backed.tf 中,您提到 terraform 作为存储桶名称,您确定您拥有此存储桶吗?因为 S3 存储桶名称是全局且唯一的。您可以使用您拥有的存储桶更新配置吗?

bucket - (Required) The name of the S3 bucket.

欲了解更多信息,请参阅此文档https://www.terraform.io/docs/backends/types/s3.html

相关内容