AWS、Azure、GCPなどのクラウドで構築するインフラストラクチャーについてコードベースで定義して構築する
利点
・各主要なクラウドサービスに対応しているので、クラウドサービス依存が無い(他クラウドサービスでもTerraformは使用できる)
・コードベースなのでソースコード管理で履歴も管理できる
・コードベースなのでコマンド実行するだけで同じ環境が作成できる(構築作業や設定ミスなどがほぼ無い)
主要なファイル
・tfファイル:インフラストラクチャーの構築コード、この通りに作成される
・tfstateファイル:実際にクラウド上に展開されているファイル、通常さわらない、s3等のストレージに保存される事が多い
ざっくりと使い方手順
・terraform initコマンドで初期化(コマンド実行する想定のフォルダで)
・tfファイル作成
・awsのアカウント情報などの環境変数のセット
・terraform planコマンドで確認(割愛可)
・terraform applyコマンドでtfファイルから環境構築
・terraform destroyコマンドで作成した環境を破棄