Terraform的基本解释
文章的目的
-
- Terraformについての学習備忘録用
- TerraformでAWS環境構築までのフローの振り返り用
文章概览
-
- Terraformとは?
-
- Terraformを使用する前提条件
-
- Terraformインストール(tfenv)
-
- Terraform基本ファイル
- Terraform基本コマンド
如果方便的话,请查看我在这里用Terraform概括了AWS环境(VPC和子网)的搭建过程。
Terraform是什么?
Terraform是HashiCorp开发的管理基础架构配置的工具。
它使用HCL编写代码来管理基础架构的状态。
Terraform是一种实现IaC(基础架构即代码)的工具。
您可以使用程序代码编写服务器、网络等基础架构配置,并根据编写的代码构建基础架构。
用简单明了的话来说,如果写出用代码构建的东西,只需输入命令就可以快速构建如AWS等环境,这将成为非常方便的工具。
另外,由于是用代码进行管理,不会出现”我之前建立了什么环境来着?”这样的情况。通过查看代码可以确认构建的内容,并且只需输入命令就可以构建相同的内容,这是非常棒的工具吧!
换句话说,只需创建一次,就可以在短时间内创建任意多个相同的环境。
使用Terraform之前的要求条件。
要在AWS上使用Terraform构建环境,至少需要满足以下前提条件。
-
- Terraform CLIをインストールしていること
-
- AWS CLIをインストールしていること
- AWS accountと関連する認証情報でリソースが作成できる状態にあること
Terraform的基本安装
安裝tfenv
通过安装tfenv并使用tfenv来安装Terraform,可以立即切换版本,因此首先需要使用以下命令安装tfenv。
brew install tfenv
查看可安装的版本列表。
tfenv list-remote
因为更新速度不同,所以每个人看到的情况可能有所不同。
1.5.0-alpha20230405
1.4.6
1.4.5
1.4.4
1.4.3
省略〜〜〜〜〜〜〜〜〜
安装Terraform
安装最新版本和上一个版本
tfenv install 1.4.6
tfenv install 1.4.5
确认安装版本的列表。
tfenv list
这次我们将使用以下命令来使用最新版本的。
tfenv use 1.4.6
Terraform的基本文件
.tf文件
在此记录AWS的供应商信息(包括IAM信息和区域等)。
.tfvars文件
根据不同的环境,写入不同的值。
.tfsatate文件
所有经过Terraform管理的基础设施资源都以JSON文件的形式进行描述,
在AWS上,它们由S3存储桶进行管理,
以JSON形式进行描述,但文件扩展名为.tfsatate,就像是terraform.tfsatate这样的感觉。
Terraform基本指令
初始化terraform
必须首先执行以下操作:
必须初始化工作空间和下载插件。
计划进行terraform
执行 terraform plan 可以确认代码的创建和更改是否有问题,并显示更改的内容。
执行 Terraform 应用
执行更改。完成后,将在AWS上实际构建资源。
如果显示了更改内容并且没有问题,请输入yes。
销毁基础设施
请销毁资源。
请确认显示的要销毁的资源,如果没有问题,请输入“是”。
Terraform格式化
这个命令用来格式化缩进等样式。
它可以修正缩进等偏差,建议执行一下。
验证terraform配置
这是用于检查语法的命令。因为即使在执行terraform apply时也会显示错误,所以最好以执行的感觉来进行执行,以防万一。