今日の出来事
- 腰痛の治療をした
- 子供と妻がでかけてたので一日プログラミング三昧だった。
- もちろん、掃除と洗濯した。
- Terraform をやってる
所管
Terraform を勉強してる
分かった事 適当にまとめ
- terraform のバージョンは 各種環境によりバージョンを切り替えて利用する事が多い。
- tfenv というバージョンを切り替えるツール もしくは Docker で Terraform 環境を用意して使うなどといったやり方がある。
Terraform のコーディングの流れ
{{ hogehoge }}.tf
ファイルという設定ファイルに Terraformの設定を記述するterraform init
で 必要なバイナリファイルのダウンロードterraform plan
で 実行計画を表示する。terraform apply
で実行計画を環境に反映する。
terraform apply
したときに -/+ destroy and then create replacement っていうメッセージが出た時は要注意
「これは 既存のリソースを削除して新しく作成する」 という意味。
Terraform は 現在の状況を terraform.tfstate
ファイル上に保存している。
「 tfstate = AWS上の状態」 という前提で tfファイル との差分を確認して その変更点を反映する、というような仕組みになってる。
変数とかも定義出来る。
変数の定義は 外からオプションによって変更可能なものと変更不可のものがある。
user_data = << EOF #!/bin/bash yum install -y httpd systemctl start httpd.service EOF
みたいな感じで コマンド実行とか出来るらしい(知らなかった。)
これは hoge.sh とかで書き出しておけば
user_data = file("./hoge.sh") で読み込み出来る。
インフラ全く分からないけど、いい感じに抽象化されてて、凄い分かりやすい・・・! ありがたい。
そんな感じだった。