コンテンツにスキップ

Terraform

Terraform は、複数クラウドや SaaS も含めて扱いやすい IaC ツール。

どういう場面で使うか

  • AWS リソースをコードでまとめて作りたいとき
  • 複数環境を同じ構成で作りたいとき
  • 変更差分をレビューしながら反映したいとき
  • AWS 以外のサービスも一緒に管理したいとき

まず押さえたいこと

  • provider で接続先を定義する
  • resource で作成対象を定義する
  • plan で差分確認し、apply で反映する
  • state ファイル管理が重要

見るポイント

  • state をどこで管理するか
  • module 化しすぎて読みにくくなっていないか
  • 変数と出力が整理されているか

最初の理解で十分なこと

  • init: 初期化
  • plan: 差分確認
  • apply: 反映
  • destroy: 削除

よくある注意点

  • state ファイルをローカルに置きっぱなしにしない
  • 並行更新が起きないように lock を考える
  • 変数を増やしすぎると逆に読みにくくなる

メモ

  • 最初は 1 ファイルで全体像を掴み、その後に module 化するほうが追いやすい
  • Terraform は便利だが、state 管理の設計まで含めて運用と考えたい