This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2022-06-04
Channels
- # announcements (3)
- # aws (13)
- # babashka (10)
- # beginners (30)
- # biff (1)
- # calva (59)
- # chlorine-clover (11)
- # cider (3)
- # circleci (2)
- # clojars (22)
- # clojure (21)
- # clojure-europe (2)
- # clojurescript (10)
- # core-typed (2)
- # fulcro (8)
- # girouette (12)
- # graphql (1)
- # helix (6)
- # inf-clojure (4)
- # joyride (6)
- # leiningen (7)
- # off-topic (3)
- # pathom (44)
- # polylith (13)
- # shadow-cljs (44)
- # tools-deps (1)
Hey. My friend told me that he had a problem when he was upgrading his AWS RDS DB using terraform. He said he experienced 10 minutes of downtime. I think he was upgrading between major versions. How do I write my terraform config so that this wouldn't happen?
The output of terraform plan
will tell you what it plans to change. Consult with the AWS documentation to find out what the implications are for those changes.
Your friend was lucky if they weren’t doing that already - some seemingly simple changes require deleting and recreating resources in AWS, including databases!
I think he caused prod to go down for 10 minutes. I didn't yet write a single line of terraform as I'm afraid of the options. 😄 😅
Some things in AWS require downtime - I’m not sure what those are for RDS, and it may depend on the database, but I wouldn’t be surprised if resizing is one of them. Others can’t be done directly and require deletion and recreation - for some resources, name changes are like that. Your little PR going from kabob-case to snake-case in identifiers can get a little scary!
What does it mean to recreating resources in AWS, including databases
?
Does it drop the instance or does it drop the storage too? So if it will recreate a DB then will it irrecoverably delete the contents and won't restore?
Terraform gives you great power, and the https://en.wikipedia.org/wiki/With_great_power_comes_great_responsibility applies.
I think that my friend said this: "well, you could use terraform with CI-CD stuff". And in my opinion the deletion may mean that you probably wouldn't want to use it with CI-CD for more than execution where you looked up through the plan beforehand :thinking_face: