我试图将状态文件存储在S3存储桶中,但在尝试执行'Terraform init'时出现以下错误:
- 确保我的AWS凭据不包含“/ # $ ..”等特殊字符
error configuring S3 Backend: error validating provider credentials:
error calling sts:GetCallerIdentity:
InvalidClientTokenId: The security token included in the request is invalid.
main.tf:
provider "aws" {
region = var.region
access_key = var.acc_key
secret_key = var.sec_key
}
terraform {
backend "s3" {
bucket = "mybucket-terra-prac"
key = "terraform.tfstate"
region = "eu-central-1"
}
}
resource "aws_instance" "web" {
ami = var.ami
instance_type = "t2.large"
associate_public_ip_address=true
key_name = var.public_key
tags = {
Name = var.ec2_name
}
}
我在variables.tf文件中定义的变量(包括类型和默认值):
variable "acc_key" {}
variable "sec_key" {}
variable "public_key" {}
variable "ami" {}
aws sts get-caller-identity
的相同错误,你可以进行更新。export AWS_ACCESS_KEY_ID=xxxx
export AWS_SECRET_ACCESS_KEY=xxxxx
export AWS_DEFAULT_REGION=xxxxx
链接 看起来terraform tf正在使用这些环境变量。 - WINGLEUNG CHOI