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

Erro na execução do terraform apply

Quando executo retorna esse erro sobre a defult VPC, tentei incluir de acordo com a documentação do terraform mas não deu certo A chave SSH foi adicionada com sucesso.

resource "aws_default_vpc" "default" { tags = { Name = "Default VPC" } }

module.aws-dev.aws_instance.app_server: Creating... ╷ │ Error: creating EC2 Instance: VPCIdNotSpecified: No default VPC for this user. GroupName is only supported for EC2-Classic and default VPC. │ status code: 400, request id: 0e9488e6-0b90-4c30-bc4a-ed80a3ca4bff │ │ with module.aws-dev.aws_instance.app_server, │ on ../../infra/main.tf line 16, in resource "aws_instance" "app_server": │ 16: resource "aws_instance" "app_server" {

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

2 respostas
solução!

Olá, Karlo. Tudo bem?

Pelo erro apresentado, parece que você está tentando criar uma instância EC2 na AWS, mas não especificou um VPC (Virtual Private Cloud) para ela, e a mensagem indica que não há um VPC padrão disponível para o seu usuário. Isso pode acontecer se o VPC padrão foi excluído ou se você está em uma região da AWS onde nunca foi criado um VPC padrão.

Para tentar resolver esse problema envolve, precisa criar um VPC e a especificação desse VPC no seu Terraform antes de tentar lançar a instância EC2. Aqui estão os passos que você pode seguir:

  • 1 Crie um VPC: Você precisará criar um VPC manualmente na AWS ou definir um recurso aws_vpc no Terraform para criar um. Por exemplo:
resource "aws_vpc" "meu_vpc" {
  cidr_block = "10.0.0.0/16"
  enable_dns_support   = true
  enable_dns_hostnames = true

  tags = {
    Name = "meu_vpc"
  }
}
  • 2 Crie uma Subnet: Após criar o VPC, você precisará criar pelo menos uma subnet dentro desse VPC. Por exemplo:
resource "aws_subnet" "minha_subnet" {
  vpc_id     = aws_vpc.meu_vpc.id
  cidr_block = "10.0.1.0/24"
  availability_zone = "us-west-2a"

  tags = {
    Name = "minha_subnet"
  }
}
  • 3 Atualize a Instância EC2: Depois, você deve atualizar a configuração da sua instância EC2 para usar o VPC e a subnet que você criou. Por exemplo:
resource "aws_instance" "app_server" {
  ami           = "ami-abc123"
  instance_type = "t2.micro"
  subnet_id     = aws_subnet.minha_subnet.id

  // ... outras configurações ...

  tags = {
    Name = "MeuAppServer"
  }
}
  • 4 Execute o Terraform Apply: Com as configurações atualizadas, você pode executar terraform apply para aplicar as mudanças e criar os recursos na AWS.

Lembre-se de que você também precisará de uma Internet Gateway e de configurar as rotas corretamente se quiser que sua instância tenha acesso à internet. Além disso, é importante verificar as configurações de segurança, como grupos de segurança e listas de controle de acesso de rede (NACLs), para garantir que sua instância tenha a conectividade necessária.

Espero que essas orientações ajudem a resolver o problema que você está enfrentando. Lembre-se também de adaptar os exemplos para o seu caso específico, incluindo a escolha da região da AWS, os blocos CIDR e quaisquer outras configurações específicas do seu projeto. Qualquer coisa manda aqui. Bons estudos!

Resolvido meu amigo, criando a VPC deu certo, havia excluído paraa fazer um teste.