AI活用の教科書

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ツールです。
配置図を渡すように構成を書き残せるので、同じ環境を何度でもそろえられ、変更のあとも追いやすくなります。