回想起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来完成工作!

希望这篇文章对某位读者有所帮助。

广告
将在 10 秒后关闭
bannerAds