Terraform¶
Terraform は、複数クラウドや SaaS も含めて扱いやすい IaC ツール。
どういう場面で使うか¶
- AWS リソースをコードでまとめて作りたいとき
- 複数環境を同じ構成で作りたいとき
- 変更差分をレビューしながら反映したいとき
- AWS 以外のサービスも一緒に管理したいとき
まず押さえたいこと¶
providerで接続先を定義するresourceで作成対象を定義するplanで差分確認し、applyで反映する- state ファイル管理が重要
見るポイント¶
- state をどこで管理するか
- module 化しすぎて読みにくくなっていないか
- 変数と出力が整理されているか
最初の理解で十分なこと¶
init: 初期化plan: 差分確認apply: 反映destroy: 削除
よくある注意点¶
- state ファイルをローカルに置きっぱなしにしない
- 並行更新が起きないように lock を考える
- 変数を増やしすぎると逆に読みにくくなる
メモ¶
- 最初は 1 ファイルで全体像を掴み、その後に module 化するほうが追いやすい
- Terraform は便利だが、state 管理の設計まで含めて運用と考えたい