Mettre à jour les ressources Azure managées par Terraform en dehors de Terraform
Bien qu’il ne soit pas recommandé de modifier les ressources managées par Terraform en dehors de Terraform en raison du risque de perte de données, certaines fonctionnalités nécessitent que vous le fassiez. En raison des risques, il est essentiel de mettre à jour correctement les ressources à l’aide des étapes décrites.
Les ressources managées par Terraform stockent leur état dans le terraform.tfstate
situé dans l’un des clouds Terraform du module Terraform local. L’état contient toutes les propriétés de la ressource distante pertinente pour Terraform. Lorsqu’une ressource managée par Terraform est modifiée en dehors de Terraform, l’état Terraform ne correspond pas aux propriétés de la ressource distante. Dans sa tentative de résolution de l’incohérence, Terraform est susceptible de détruire et de recréer la ressource distante, ce qui entraîne une perte de données.
Protéger les ressources managées par Terraform avec le cycle de vie
Pour éviter toute perte de données sur une ressource Azure qui inclut des ressources volatiles, vous devez utiliser l’argument de cycle de vie prevent_destroy
dans le fichier de configuration Terraform. Par exemple :
resource "azure_netapp_volume" "example {
lifecycle{
prevent_destroy = true
}
}
Modifier une ressource managée par Terraform en dehors de Terraform
Les instructions suivantes constituent une vue d’ensemble des étapes requises pour mettre à jour une ressource managée par Terraform en dehors de Terraform.
- Accédez au fichier de configuration du module Terraform. L’extension du fichier de configuration est
.tf
ou.tf.json
. - Dans le fichier de configuration du volume managé par Terraform (
main.tf
), recherchez le bloc de configuration du cycle de vie. Modifiez le bloc avecignore_changes = <property>
, en affectant la valeur de propriété appropriée pour la fonctionnalité que vous utilisez. S’il n’existe aucun bloc de configuration de cycle de vie, ajoutez-le :lifecycle { ignore_changes = <property> }
- Apportez la modification souhaitée au volume Azure NetApp Files.
- Exécutez
terraform plan
pour confirmer qu’aucune modification ne sera apportée à votre volume. La sortie de l’interface CLI doit afficher :No changes. Your infrastructure matches the configuration.
Remarque
La commande
terraform plan
crée un fichier de plan avec les modifications apportées à la ressource distante, ce qui vous permet de garantir la sécurité de votre ressource avant d’appliquer des modifications. - Exécutez
terraform apply
pour appliquer les modifications. Vous devez voir la même sortie d’interface CLI qu’à l’étape précédente.
Étapes suivantes
- Mettre à jour la fonctionnalité réseau de volume Azure NetApp Files managé par Terraform de De base vers Standard
- Remplir la zone de disponibilité pour un volume Azure NetApp Files managé par Terraform
- Gestion des fonctionnalités d’évaluation d’Azure NetApp Files avec Terraform Cloud et AzAPI Provider