Os recursos do Terraform não são destruídos no terminal

Os recursos do Terraform não são destruídos no terminal

Eu queria destruir o DEVambiente do meu Kubernetes hospedado no AWS EKS. Existem duas partes nos recursos; a parte de infraestrutura e a parte de aplicação. Eu uso Terraform/ Terragruntpara implantar/destruir a infra e helmpara implantar/destruir os aplicativos. Existem vários pods em execução e eu poderia destruir os lançamentos executando helm uninstall <release-name>. Porém, na hora de destruir a infra, cometi um erro. Aqui está o que eu fiz:

Para destruir a infra, corri: ENV=DEV make destroy. Para este comando, ele retorna isto:

cd infra/DEV && terragrunt destroy

Remote state S3 bucket aib-iac-tf-state does not exist or you don't have permissions to access it. Would you like Terragrunt to create it? (y/n)

Para isso, tentei com ambos ye nmas retorna este erro:

make: *** [Makefile:30: destroy] Error 1

Supondo que meu acesso foi alterado pelo usuário root para criar/excluir recursos internos S3 Bucket, descobri que não. O S3 Bucket aib-iac-tf-stateexiste no armazenamento.

Aí fui verificar dentro *Makefile*da linha 30 conforme o erro. Isto é o que está nas linhas 29 e 30:

destroy:
    cd ${INFRA_DIR}/${ENV} && terragrunt destroy ${TF_VARS}

Ainda não sou capaz de destruir os recursos. Qualquer ajuda seria apreciada.

Responder1

O erro do Terraform está informando que seu bucket de estado remoto não existe e, portanto, ele não pode ler o estado remoto para entender o que destruir. Isso parece uma configuração incorreta no wrapper que você está usando via Make.

Se puder, verifique os .tfarquivos em busca de um bloco como este:

terraform {
  backend "s3" {
    bucket = "mybucket"
    key    = "path/to/my/key"
    region = "us-east-1"
  }
}

E certifique-se de que o bucket tenha o nome correto. Talvez seja necessário comparar com sua conta da AWS para encontrar um bucket que contenha os dados corretos.

Se você não conseguir encontrar nada parecido - verifique se há um .tfstatearquivo em seu espaço de trabalho local e, em seguida, remova o backendbloco para que ele use seu arquivo de estado local e não um back-end remoto.YMMV- você pode querer encontrar um colega com habilidades em Terraform e pedir que ele dê uma olhada!

DR - parece um bug no wrapper para mim ou algo foi excluído fora de ordem.

informação relacionada