Open6

terraformの使い方を調べる

i-hrmi-hrm

terraformのバージョン管理ツールにtfenvがある
https://github.com/tfutils/tfenv
使い方はpyenvやrbenvと似たような感じ(rbenvからinspireされたらしい)

terraform versionを固定していないと作業者間で使用している terraform versionが異なる可能性が出る
また 適応したバージョンより新しいバージョンしか適応できない ことに注意する

i-hrmi-hrm

tfenvインストール

brewからインストールできる

brew install tfenv

tfenvの使い方

tfenv list-remote # リモートで管理されているterraform versionを参照
tfenv install <version> # 特定のversionをローカルに落とす
tfenv uninstall <version> # uninstallする
tfenv list # ローカルに落としたterraform versionを確認
tfenv use <version> # 特定のバージョンに切り替え

備考

➜  ~ tfenv -h
Usage: tfenv <command> [<options>]

Commands:
   install       Install a specific version of Terraform
   use           Switch a version to use
   uninstall     Uninstall a specific version of Terraform
   list          List all installed versions
   list-remote   List all installable versions
   version-name  Print current version
   init          Update environment to use tfenv correctly.
   pin           Write the current active version to ./.terraform-version

i-hrmi-hrm

terraform importで既存のinfra情報をstateとして取り込むことができる
terraform fmtで自動フォーマット
terraform stateでstateに記録された情報を表示する
terraform state <sub-cmd> でstateファイルを操作する
terraform outputでstateファイルからOutput Valuesを抽出する
terraform graphはGraphViz向けにstateの依存関係を図表化する

i-hrmi-hrm

create_before_destroy でダウンタイム無しにインフラを切り替えることができる