回想起Terraform
1. 首先
虽然对于使用Terraform进行配置管理感到非常惊叹,但已经有三年零一点时间没有在项目中使用了。
这篇文章只是一个状态恢复的记录,让陷入对基础架构代码化一度迷惘的老人重新掌握要领。
这个内容在初学者水平上没有什么新鲜的东西!
我的工作环境是一台时髦的2021年款Mac,使用我的个人AWS账户,并使用我十分尊敬的tmknom先生所著的实践Terraform。
2. 登录AWS(数个月未登录)
我太懒得登录了,结果每个月被扣掉好几百日元,但由于我的勤奋天性,我仍然仔细地记了下来。
我甚至还开启了MFA,真是太厉害了。
我记得确实参考过这篇文章来进行设置。
这也是由tmknom大大所写的呢!
3. 设置执行环境
尽管尝试使用pip安装AWSCLI未成功,但是按照官方步骤操作解决了问题。非常感谢官方的指导。
Terraform的版本提升了很多呢。我记得在项目中写的时候还是0.11呢,哈哈。
soshi.sato: ~/ % tfenv list-remote
1.3.1
特别没有沉迷于其中,但不太理解git-secrets是什么东西。
下次会进行调查。
4. 基本操作的基础操作
4-1. 初始化 Terraform
我忘了init是什么来着…我查了一下,好像是在首次操作(或者想要初始化工作目录时)执行的。
确实,我记得很少使用它。
天哪,想起来了,Terraform的官方文档真是相当详尽啊!在我专心撰写的时候经常查阅语法→进行实验来实践。真是令人怀念啊。
4-2. 进行 Terraform 计划
惊讶于自己连计划都忘了!!因为是第一次,我想大多数都是使用默认的VPC和SG,如果不是的话,就会失败而已。
顺便提一下,好像是这样告诉我的!
Plan: 1 to add, 0 to change, 0 to destroy.
执行4-3.terraform应用
当我试图在Stg环境中应用时,我突然想起在Prd中出了一身冷汗的经历。不过,自那时起,我也意识到了IaC的可怕之处,并且在进行任何操作时都更加谨慎。所以我觉得很庆幸自己及时发现了问题。随时向当时的团队领导道歉哈哈。
只需在更地中建立测试实例,没有错误,已完毕。
Apply complete! Resources: 1 added, 0 changed, 0 destroyed.
我们可以从管理控制台上确认!一看就知道这是一个非常公共的实例,所以根据需要停止它会很好。
添加标签apply也已完成。
我真的很喜欢Terraform,因为它可以将编写和执行的结果清晰地显示在管理控制台中,作为成果物展示出来。
4-4.terraform tfstate和tfnotify
我还记起来了,原来还有一个叫做tfnotify的Mercari工具。
我们因为有困难而自己开发并以开源软件的形式公开,真是太牛了。
当时我也读过这篇博客,即使现在再读一遍也一点也不过时!
4-5. 执行terraform销毁
CLI操作只需简单击键,但仍然感到有些害怕。
出于这个意义,使用tfnotify来通过Slack或邮件进行通知的机制真的非常重要。
5. 最后
变成了一篇散文,真不好意思…不过这已经足够让我回想起了Terraform。
接下来我打算在实践中补充。很期待再次使用Terraform来完成工作!
希望这篇文章对某位读者有所帮助。