第一次使用Terraform

※ 假设terraform项目已经在运作中,但是我是第一次接触terraform。

首先,Terraform是什么?

粗略地说,它是一种可以使用源代码构建基础架构的工具。
起初我误解了,但它不是AWS的服务。

引入tfenv

在安装Terraform之前,您需要先安装tfenv到您的个人电脑上。

我认为在安装terraform时,最好像ruby的rbenv一样安装一个版本管理工具,因为terraform经常进行更新,即使版本稍有差异也可能导致无法运行。

$ brew install tfenv

如果已经安装了Terraform等相关工具,系统会提示您执行命令以确保其正常运行,请不要忘记执行。

// 例1
Please `brew unlink terraform` before continuing.

// 例2
To force the link and overwrite all conflicting files:
  brew link --overwrite tfenv

在安装Terraform时,执行以下命令。

$ tfenv install 0.12.29 // インストールしたいバージョン 又は latest

安装完成后,使用“use”命令来使用该版本。

$ tfenv use 0.12.29

我們最後可以通過下面的命令來確認設置是否正確。

$ terraform -v
> Terraform v0.12.29

在这篇易于理解的文章中,我了解到tfenv还能做以下事情:
https://qiita.com/kamatama_41/items/ba59a070d8389aab7694

确认之前建立的版本

由于版本不同可能导致无法运行,所以最好将版本设为与前次构建相同。(另一个人)

最初構建時的信息已保存在AWS的S3上(这可能因项目而异)。
如果找到tfstate文件(xxxx.tfstate)并查看其内容,我认为第二行上会有”terraform_version”。
这是上次構建时terraform的版本。
如果代码没有更改,使用这个terraform版本应该能正常工作。

试着执行

使用 Terraform 建立基本流程是初始化、检查和构建!

    1. 我认为项目的文件夹可能会按照环境分开,所以我将切换到我想要构建的环境。

执行$ terraform init来初始化。

执行$ terraform plan来确认与上次的差异。

如果没有问题,执行$ terraform apply就会建立基础设施。

申请后似乎会生成一个tfstate文件。

身份验证相关

如果执行 init 时出现了找不到凭证之类的错误,很可能是认证方面的问题。建议特别检查以下内容(我自己在未生成访问密钥的情况下执行了 init…或者说真是太疏忽了)。

    • 秘密鍵と公開鍵が正しくセットされているか

 

    • アクセスキーとシークレットアクセスキーが発行済みでちゃんと設定されているか

複数ある場合は切り替わっているか

鱼 不会 这么快 游到 老家,这 样吧 , 往 这边 游。

这个解释非常简要,但只要能够完成这个,最基本的使用应该还是可以应付的!

bannerAds