Cómo deshacerse de la mancha de terraza

Cómo deshacerse de la mancha de terraza
Terraform Taint se refiere a un marcador que establece un recurso gestionado por Terraformal como contaminado. Un recurso contaminado significa que el recurso administrado por Terraform está en un estado malo o indeseable. Si un recurso está marcado como contaminado, Terraform lo recreará o lo destruirá durante la próxima solicitud.

Esta breve guía le enseñará cómo usar la función Terraform Untaint para eliminar los marcadores de contaminación en un recurso.

¿Por qué usar Terraform Taint??

Aunque el uso de Terraform Taint puede variar según lo que se debe hacer en los recursos especificados, los usos comunes incluyen:

  1. Recreación de recursos, como un motor de cómputo o una instancia de EC2 en caso de modificaciones no deseadas.
  2. Reconstrucción de recursos sin destruirlos, especialmente en el desarrollo.

Cómo contaminar un recurso

El comando Terraform Taint le permite decirle a Terraform que un recurso/objeto específico está dañado o en un estado contaminado. Como se mencionó, esto obligará a Terraform para reconstruir el recurso marcado como contaminado durante el próximo plan.

Uso

El comando Terraform Taint toma la sintaxis como se muestra:

Dirección de Terraform Taint [Opciones]

La dirección se refiere a la dirección del recurso/objeto para asignar el marcador de contaminación. Puede especificar una dirección del recurso utilizando el formato como se muestra:

AWS_Instance.foo
AWS_Instance.bar [1]
módulo.foo.módulo.bar.AWS_Instance.qux

También puede pasar las siguientes opciones al comando Taint para modificar los comportamientos:

  1. -Permitir la misión: el parámetro de contratación de permisos obligará al comando a tener éxito incluso si falta el recurso especificado.
  2. -bloqueo = [bool]: el parámetro de bloqueo acepta un booleano verdadero o falso. Si se establece en False, deshabilitará temporalmente el bloqueo de lectura/escritura de Terraform en el estado durante la ejecución.
  3. -Tiempo de bloqueo de bloqueo: obliga a Terraform para volver a intentarlo y obtener un estado de bloqueo durante un período específico en segundos. Esta función es nula si el bloqueo se establece en falso.

El siguiente ejemplo muestra cómo crear una instancia de EC2 y usar el comando Taint para marcarlo como contaminado:

Terraform
requerido_providers
AWS =
fuente = "Hashicorp/AWS"
versión = "-> 3.27 "


requerido_version = "> = 0.12 "

Proveedor "AWS"
perfil = "predeterminado"
región = "US-East-1"

recursos "aws_instance" "database_server"
ami = "ami-b7873e35"
instance_type = "t2.micro"

Marque el recurso como contaminado:

Terraform Taint AWS_Instace.base de datos.servidor

Una vez que marque el recurso contaminado, ejecute el comando del plan Terraform para ver los cambios que se aplicarán.

Cómo usar Terraform Untaint

Si establece un recurso como contaminado, puede revertir y eliminar el marcador de contaminación utilizando el comando Terraform Untaint.

El comando toma el ID de recurso como argumento:

Dirección de Terraform Untaint [Opciones]

Acepta argumentos similares al comando Terraform Taint.

Por ejemplo, para eliminar un marcador de contaminación del recurso anterior, use el siguiente comando:

Terraform sintAinth aws_instace.base de datos.servidor
plan de terraformación

El comando anterior eliminará el marcador de contaminación en el recurso y le mostrará los cambios que se aplicarán en la próxima Terraform

Conclusión

En esta guía, aprendió los conceptos básicos de TerraForm Taint y el proceso para marcar el recurso dañado. Además, se proporcionaron varias opciones al comando Terraform Taint para modificar los comportamientos. Esperamos que hayas encontrado este artículo útil. Consulte Linux Sugerencia para obtener más consejos e información.