Los recursos de Terraform no se destruyen desde la terminal

Los recursos de Terraform no se destruyen desde la terminal

Quería destruir el DEVentorno de mi Kubernetes alojado en AWS EKS. Los recursos tienen dos partes; la parte de infraestructura y la parte de aplicación. Utilizo Terraform/ Terragruntpara implementar/destruir la infraestructura y helmpara implementar/destruir las aplicaciones. Hay varios pods ejecutándose y podría destruir los lanzamientos ejecutando helm uninstall <release-name>. Sin embargo, cuando llegó el momento de destruir la infraestructura, cometí un error. Aquí esta lo que hice:

Para destruir la infraestructura, ejecuté: ENV=DEV make destroy. A este comando, le devuelve esto:

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 esto, probé con ambos yy nme devuelve este error:

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

Suponiendo que el usuario root modificó mi acceso para crear/eliminar recursos internos S3 Bucket, descubrí que no era así. Existe S3 Bucket aib-iac-tf-stateen el almacenamiento.

Luego fui a revisar el interior *Makefile*, línea 30 según el error. Esto es lo que hay en las líneas 29 y 30:

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

Todavía no puedo destruir los recursos. Cualquier ayuda sería apreciada.

Respuesta1

El error de Terraform le indica que su depósito de estado remoto no existe y, por lo tanto, no puede leer el estado remoto para comprender qué destruir. Esto suena como una mala configuración en el contenedor que estás usando a través de Make.

Si puedes, revisa los .tfarchivos de un bloque como este:

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

Y asegúrese de que el depósito tenga el nombre correcto. Es posible que deba comparar con su cuenta de AWS para encontrar un depósito que contenga los datos correctos.

Si no puede encontrar nada como eso, busque un .tfstatearchivo en su espacio de trabajo local y luego elimine el backendbloqueo para que utilice su archivo de estado local y no un backend remoto.YMMV- ¡Tal vez quieras encontrar un colega con habilidades en Terraform y pedirle que le eche un vistazo!

TL;DR: me suena un poco como un error en el contenedor, o algo se ha eliminado fuera de servicio.

información relacionada