Terraform(テラフォーム)
Terraform/てらふぉーむ
ひとことで言うと
クラウドの基盤を設定ファイルに書いて、その通りに自動で作る代表的なIaCツールです。
📖 もうちょい詳しく
何が新しいの?
Terraform(テラフォーム)は、サーバーやデータベースといったITの基盤を、コード(設定ファイル)で組み立てるためのツールです。HashiCorp(ハシコープ)という会社が作りました。
IaC(インフラをコードとして扱う考え方)を実際に行うための、代表的な道具の一つと考えると分かりやすいです。クラウドが広がって扱うサーバーの数が増えるほど、手作業の設定は大変になります。そこで「欲しい構成を文章で書いて、あとは任せる」やり方が広く使われるようになりました。
どうやって動いてるの?
まず「サーバーを1台」「保存場所をこの設定で」といった欲しい状態を、HCLという専用の書き方でファイルに書きます。
Terraformは、その内容と「いま実際にあるもの」を見比べて、足りない分や違う分だけを直すように動きます。実行は、準備(init)→ 変更内容の確認(plan)→ 反映(apply)という流れが基本です。何が変わるかを先に見せてくれるので、いきなり壊してしまう心配を減らせます。今の管理状況は「state(ステート)」という記録に残し、それをもとに次の差分を判断します。
何ができるの?
AWSやGoogle Cloud、Azureなど、いろいろなクラウドを同じ書き方で扱えます。
開発用と本番用をそっくり同じ構成でそろえたり、使わなくなった環境をまとめて消したりが楽になります。設定ファイルはGitなどの履歴管理と相性がよく、「誰がいつ何を変えたか」も残せます。
🌱 身近なたとえ
引っ越しのレイアウト図で例えると、Terraformは「配置図のとおりに家具を運び込んでくれる業者」のような存在です。
「ソファはここ、机はここ」と図に書いて渡すと、その通りに置いてくれます。あとから図を直せば、変わった分(動かす家具)だけを見つけて配置し直してくれる、というイメージです。
毎回まっさらにするのではなく、図と部屋の差を埋める動きだと考えると近いです。
✅ まず覚えるポイント
- Terraformは、基盤をコードで組み立てる代表的なIaCツール
- HashiCorp製で、いろいろなクラウドを同じ書き方で扱える
- 「欲しい状態」を書くと、足りない分だけを自動で直す
- planで変更内容を先に確認してから、applyで反映できる
- stateという記録で「今の管理状況」を把握している
🧭 よくある勘違い
IaCとTerraformは同じもの?
少し違います。IaCは「基盤をコードで扱う」という考え方そのもので、Terraformはそれを実現するツールの一つです。
同じ目的のツールにはAnsibleやPulumiなどもあり、Terraformはそのなかでよく使われる選択肢、という位置づけです。
applyすると毎回ゼロから作り直すの?
そうではありません。Terraformは今の状態と設定を見比べて、変わった分だけを直そうとします。
だから何度実行しても、書いた状態へ静かに近づけてくれます。まるごと消したいときは、destroyという別の操作を使います。
無料でずっと使えるの?
ツール自体は無料で使い始められますが、2023年にライセンスが変わり、利用条件には注意が必要になりました。
この変更をきっかけに、OpenTofu(オープントゥフー)という有志による派生版も生まれています。立場や用途によって選択肢がある、と知っておくと安心です。
🧩 関連して覚えると楽な言葉
- IaC: 基盤をコードで扱う考え方。Terraformはその代表的な道具
- クラウド: Terraformで作る基盤の多くは、クラウド上のサーバーや保存場所
- DevOps: 開発と運用をなめらかにつなぐ考え方で、Terraformはその有力な手段
- CI/CD: 変更を自動で反映する流れに、Terraformの実行を組み込むことが多い
🏁 ひとことでまとめ
Terraformは、欲しい基盤を設定ファイルに書いておくと、その通りに作って整えてくれるIaCツールです。
配置図を渡すように構成を書き残せるので、同じ環境を何度でもそろえられ、変更のあとも追いやすくなります。
TERM SEARCH
ほかの用語を調べる
検索ボックスを準備中…