我刚刚开始使用terraform,我希望能够使用AWS S3作为我的后端来存储我的项目状态.
terraform {
backend "s3" {
bucket = "tfstate"
key = "app-state"
region = "us-east-1"
}
}
Run Code Online (Sandbox Code Playgroud)
我觉得使用terraform为后端存储基础架构设置我的S3存储桶,IAM组和策略是明智的.
如果我在应用初始terraform基础设施之前设置后端状态,则会合理地抱怨后端存储桶尚未创建.所以,我的问题是,如何设置我的terraform后端与terraform,同时保持我的状态为terraform追踪的后端.看起来像一个嵌套的玩偶问题.
我对如何编写脚本有一些想法,例如,检查存储桶是否存在或是否已设置某个状态,然后引导terraform,最后在第一次运行后将terraform tfstate从本地文件系统复制到s3.但在走下这条艰难的道路之前,我想我会确保自己没有遗漏一些明显的东西.