Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Erro ao criar instância EC2 usando Terraform

Estou tentando seguir os passos do vídeo do curso "Infraestrutura como código: preparando máquinas na AWS com Asinble e Terraform", consegui passar pelos primeiros comandos no terminal, porém ele apresenta esse erro ao partir para o comando

terraform apply

Ele apresenta esse erro a baixo.

│ Error: creating EC2 Instance: UnauthorizedOperation: You are 
not authorized to perform this operation. Encoded authorization failure message: RzHKu0cxzLDsWFu2JpPLp8R7-Z2gli_JvhoRp9Q6J6s2HSZSaU_rZ5OcjjDAbkDjDSnSqS_ajwKFM7GaVaS9emiwBaEzY23UjZP8xFoLSau27nPvmodpX5WmVIliNR7GNeMZAUOXGuTni38PaNsetk6unlFr0CDA-7MBb_KW-PLDxttLG-l4t4I0KLrBBQesLd9xE-8Pk1nmSWf7aqGbbc4jPLAAeSQ5I8ukNPd5yqctV_682X2rVNHsMW1IjT-YLawePjcJ5polzSgLaoVGVMxZhl0JuD87krI8h_9m7yF2yL74OebPdh1LXlJ7GCF2Ik8dITRpoYr_XS20Iv_w_3DYiNIB75gWbH2O3tTRl6QSLyD-g-DajcaXje1f1AFv36cHFw195bUCwdwcHGJhP0DrEnPhsMf5yipB4Q3bIgfEC9m90qKW-NnTsqWic-etMcQzABEiY9IX5SifJP8YM5ncCEnxmN6esyQqMi4MgHugOxuuD_wc_RyT1GGCwyM7o-FXTUeF39dJoeJX_GKyPbAsWgiOzDpGld5NSEn1xMzuBsHB4PHt1eC1kQN0IMMrY6B4HHdNRpbDMEVdPClz6Y65wnJti8Dtua9CeeanPi9cIv_zGFMj8diNyizQ4u2WrZA4og_Op-dEM9xEZSrCKEe-FWs-lK7K   
│       status code: 403, request id: d3f7443d-40ed-4f1c-b61f-2c538336f239
│
│   with aws_instance.app_server,
│   on main.tf line 14, in resource "aws_instance" "app_server":
│   14: resource "aws_instance" "app_server" {

A baixo está minha "main.tf"

terraform {
  required_providers {
    aws = {
      source  = "hashicorp/aws"
      version = "~> 4.16"
    }
  }

  required_version = ">= 1.2.0"
}

provider "aws" {
  region = "us-west-2"
}

resource "aws_instance" "app_server" {
  ami           = "ami-0735c191cf914754d"
  instance_type = "t2.micro"

  tags = {
    Name = "Primeira instancia"
  }
}

Também não tive problemas em usar o aws config:

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Os arquivos de config AWS também conferem:

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Caso alguém consiga me ajudar, e aqui no fórum não consegui ser muito claro só me chamar no discord: Benny#4889

1 resposta
solução!

Olá, Fernando

Pelo que você descreveu, parece que o erro está relacionado com as permissões da sua conta AWS. O erro UnauthorizedOperation geralmente indica que a conta AWS que você está usando não tem permissão para realizar a operação desejada, neste caso, criar uma instância EC2.

O Terraform usa as credenciais definidas em seu arquivo de configuração AWS (geralmente localizado em ~/.aws/credentials no Linux/Mac ou C:\Users\USERNAME\.aws\credentials no Windows).

Verifique se o usuário AWS configurado nesse arquivo tem as permissões necessárias para criar uma instância EC2. Você pode fazer isso acessando o console de gerenciamento IAM da AWS, localizando o usuário e verificando suas permissões. O usuário precisará da permissão ec2:RunInstances para criar uma instância EC2.

Se o usuário tiver as permissões corretas, outra possibilidade é que o Terraform não esteja usando as credenciais corretas. Você pode especificar as credenciais diretamente em seu arquivo main.tf para garantir que as credenciais corretas estão sendo usadas. No entanto, por razões de segurança, é melhor evitar colocar credenciais diretamente em seu código sempre que possível. Aqui está um exemplo de como você pode fazer isso:

provider "aws" {
  region     = "us-west-2"
  access_key = "seu_access_key"
  secret_key = "seu_secret_key"
}

Lembre-se de substituir "seu_access_key" e "seu_secret_key" pelas suas credenciais reais.

Espero ter ajudado e bons estudos!