Terraform 命令速查表
背景
背景
由于在业务中使用Terraform部署AWS资源的机会增加,我决定创建一个命令速查表作为自己的备忘录。
Terraform是什么?
Terraform是由HashiCorp公司开发的一种开源服务,它是一种能够高效构建开发环境的IaC(基础架构即代码)工具。通过编写代码,可以自动构建系统开发所需的基础架构,如云服务器等。此外,Terraform还具有基于代码进行基础架构配置管理的特点。
指示/命令
# バージョン確認
$ terraform -v
# 初期化
$ terraform init
➡terraform作業ディレクトリの初期化 ※一番最初に実施すること
.tf ファイルで利用している pluginのダウンロード処理等が走る
このコマンドは複数回実行しても問題ありません。
# コードのフォーマット調整
$ terraform fmt
# サブディレクトリも含める
$ terraform fmt -recursive
# リソース確認
$ terraform plan
# 個別にリソース確認
$ terraform plan -target={resource}
# ファイル出力(色文字コード抜き)
$ terraform plan -no-color > nocolor.txt
# リソース投入
$ terraform apply
# 個別にリソース投入
$ terraform apply -target={resource}
# リソース投入(強制yes)
$ terraform apply -auto-approve
# リソース削除確認
$ terraform plan -destory
# リソース削除
$ terraform destory
# リソース削除(強制yes)
$ terraform destory -auto-approve
# 現在のリソースの状態(中身)を確認
$ terraform show
# tfstateで管理しているリソース一覧表示
$ terraform state list
# tfstate管理からリソースを削除
$ terraform state rm ${リソース名}
# tfstate管理に既存リソースを追加
$ terraform import ${tfstate上で管理したい名前} ${リソース名}
# 特定のモジュールのみ実行
$ terraform [plan|apply|destroy] -target=module.${モジュール名}
# outputに記載された内容を出力
$ terraform output
赠品
# terraform コマンド省略(エイリアス)
$ alias tf = 'terraform'
➡これで若干コマンドを短くできます。
例)tf state list