I have made a minor change (comments only) to my AWS EC2 user_data bootstrap bash script. Terraform has detected this, and now wants to replace the EC2 with a new one. But this is a live service, and I'd rather not have to take it down, backup all the data, build a new server, and then restore the data - just to keep terraform happy!
Is there a simpler way of fixing this, by somehow bringing the code/statefile/aws in line so that I can use terraform to make other changes to the environment, but not have to worry about blowing away this server?
I've even tried editing the user data from the AWS console to try to bring it inline with what I think the changes should be, but this hasn't worked.
For now I'm using -target
for specific changes, but this is probably not sustainable in the long run.
You can instruct the provider to ignore the changes to the user_data
argument for that resource with the lifecycle
meta-argument:
resource "aws_instance" "this" {
# ...
lifecycle {
ignore_changes = [user_data]
}
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With