Solucionado (ver solução)
Solucionado
(ver solução)
8
respostas

[Terraform Apply] Error AuthFailure: AWS was not able to validate the provided access credentials

provider "aws" {
version = "~> 3.0"
}

resource "aws_instance" "dev"{
    count = 3
    ami = "ami-0817d428a6fb68645"
    instance_type = "t2.micro"
    key_name = "terraform-aws"
    tags = {
        Name = "dev${count.index}"
    }
}

Ao tentar executar o comando apply recebo o erro:

Error: Error launching source instance: AuthFailure: AWS was not able to validate the provided access credentials
        status code: 401, request id: 34aef50f-51fd-4d37-884b-7f2b91bc6bb3

Já testei as minhas configurações do aws-cli e elas estão ok (criei um usuário e testei pelo comando aws sts get-caller-identity).

Já tentei fazer o export do AWS_ACCESS_KEY_ID / AWS_SECRET_ACCESS_KEY / AWS_DEFAULT_REGION pelo terminal antes de rodar o comando terraform e o erro também não muda. Também tentei colocar os valores dessas variaveis direto no provider e o erro não muda.

A chave que gerei foi importada na AWS e tudo com o mesmo nome do vídeo para não ter risco de erro.

Alguém pode me ajudar?

Obrigada

8 respostas

Olá Nathalie, tudo bem? Você pode tentar informar a região na configuração do provider como no trecho de código abaixo:

provider "aws" {
    version = "~> 3.0"
    region  = "us-east-1"
}

E fala pra gente o resultado!

Oi Jonilson!

Eu já tentei :( também fiz uns outros testes e o último foi com esse provider:

provider "aws" {
version = "~> 2.0"
access_key = "<valor>"
secret_key = "<valor>"
region = "us-east-1"
}

Continuando com meus testes, habilitei a console do usuário da AWS para testar as permissões de criar uma máquina por lá: tudo certo.

Tentei criar mais uma máquina pelo aws-cli (assumo que não conheço ele tão bem) e recebi um erro, como no terraform:

aws ec2 run-instances --image-id ami-0817d428a6fb68645 --count 1 --instance-type t2.micro --key-name terraform-aws

Erro:

An error occurred (AuthFailure) when calling the RunInstances operation: AWS was not able to validate the provided access credentials

Já removi e recriei meu ~/.aws/credentials por achar que podia ser erro de permissão no arquivo, mas nada :(

Entendi Nathalie, mas você está utilizando a versão 2.0 do provider da AWS e talvez esse seja o problema, então poderia tentar usar a versão mais recente:

version = "~> 3.0"

E fala pra gente o resultado! Outra coisa, sobre o CLI da AWS que você utilizou, é necessário configurar o arquivo config, para configurar ele você precisa executar o comando no terminal:

aws configure

E então ele deve solicitar a o access_key, em seguida o secret_key, a region e a saída (output) quando você executar os comandos.

Nathalie, vc esta utilizando sua conta pessoal da AWS ? Parece que é problema ou nas sua credenciais, na permissão das credenciais que você esta utilizando. Pergunto da conta pessoal, pois se você esta utilizando conta da empresa por exemplo, pode ser que limitaram, seu user para não poder provisionar EC2.

Boa Bruno, foram excelentes suas perguntas e informação que trouxe sobre a permissões do usuário. Então Nathalie, pode nos passar também essas informações?!

Eu pessoal, obrigada pela ajuda.

Eu estou usando uma conta que criei na AWS só para esse curso.

Vou testar mudar a versão e depois atualizo aqui.

Blz Nathalie, ficamos no aguardo.

solução!

Queria agradecer a ajuda de todos, depois de reinstalar tudo encontrei o problema. Meu computador estava com os minutos errados e essa pequena diferença na hora foi a causa dos meus problemas :(