コンテンツにスキップ

19-1 設計図を文章で書く(Terraform とは)

Plan: Free費用: 0円Wrangler 4.126.0公式ドキュメント取得日 2026-08-27
設計図を文章で書いておくと、同じ店をもう一度建てられます。

新しい店を出すとき、前の店を建てた職人の記憶だけが頼りだと、同じ店はもう建ちません。柱の位置も棚の高さも、覚えている人がいなくなれば終わりです。設計図が紙に残っていれば、何度でも同じ店が建ちます。

第 1 章からここまで、いま読んでいるこのサイト(Cloudflare Lab)の設定は、画面を開いて手で作ってきました。電話帳の行、棚の決まり書、検問の紙。どれも画面の上には残っていますが、「どこを何の順に触ったか」はどこにも残っていません。

同じ店をもう一度建てるには、手順ではなく完成した姿を文章にしておく必要があります。この節では、その文章を書く道具を見ます。

Learning goals

この節でできるようになること

  • Terraform がどんな道具かを日常語で説明できる
  • 手で作るのと文章で書くのとの違いを三つ言える
  • Terraform を手元に入れる流れを言える
  • 設計図と手作業を混ぜてはいけない理由を説明できる

職人に「こう直して」と口で頼むと、その場は直りますが、次に同じ物を作るときは頼み直しになります。設計図なら、渡すだけで同じ物が建ちます。

Cloudflare では、この設計図を書く道具として Terraform を使います。公式は Terraform を、HashiCorp の「Infrastructure as Code」の道具だと説明しています。日本語にすれば「設備を文章(コード)で書く」という考え方です。

実物では、Cloudflare が用意した Terraform provider を通して、Cloudflare のネットワークを、ほかの設備を自動で用意するのと同じ道具で扱えます。手順を並べるのではなく、完成した姿を書くのが特徴です。

設計図に書いた状態と、実際の店の状態を合わせるのが Terraform の役目です。

左が文章で書いた設計図、右が実際の店です。道具の仕事は、右を左に合わせることだけです。

つまり、Terraform は「こうなっていてほしい」を文章で書き、そのとおりにする道具です。

手で作った設定は、作った本人の記憶の中にしかありません。誰がいつ何を変えたのか、後から確かめる方法がありません。

公式は、設定を文章にすると三つのことができると説明しています。GitHub のような置き場に設定そのものを保存できること、時間をまたいで変更を追い、版を付けられること、そして必要なときに前の状態へ戻せること(roll back)です。

さらに公式は、これらを Cloudflare の API を直接使わずに行える、とも書いています。文章を書き換えて道具に渡すだけで、店の側が追いついてきます。

文章にしておくと、変更を追え、前の状態へ戻せます。

左は記憶頼みの手作業、右は文章の設計図です。右には、いつ誰が何を変えたかが行として残ります。

つまり、文章にする値打ちは、保存・追跡・巻き戻しの三つです。

新しい道具を使うには、まず道具箱に入れます。Terraform は部品の寄せ集めではなく、公式の言い方では single binary file、つまり 1 つの実行ファイルとして配られます。

macOS で最も簡単なのは Homebrew を使う方法だと公式は説明しています。次の 2 行は「配布元を登録して、そこから Terraform を入れる」という命令です。読めなくても大丈夫です。

Terminal window
brew tap hashicorp/tap
brew install hashicorp/tap/terraform

入ったかどうかは、版を尋ねる命令で確かめます。公式の例では、次のように版の番号が返ってきます。

Terminal window
terraform version
Terraform は 1 つのファイルとして配られ、道具箱に置くだけで使えます。

道具箱に細長い道具が 1 本増えます。中身が 1 つなので、入れる手順も短くて済みます。

つまり、Terraform を入れるのは配布元の登録と本体の取得の 2 手で終わります。

設計図で建てた店を、後から誰かが図面を見ずに改装すると、図面と実物が食い違います。次に図面どおり建て直すと、その改装は消えます。

公式もこの点を強く注意しています。Terraform は設定の状態を自分で持っており、同じ設定を Terraform と Cloudflare の Dashboard や API の両方から変えると、その状態が壊れることがあるという注意書きです。

実物では、Terraform に任せた設定は Terraform だけで触る、と決めます。どちらで触ったか分からない設定が一つでもあると、以降の差分がすべて疑わしくなります。

つまり、扱う口は一つに決めます。

ここで紹介した設計図が、いま読んでいる Cloudflare Lab でどう使われるかを見ます。

Cloudflare Lab は第 1 章から第 18 章まで、画面を開いて手で設定してきました。この章では、そのうち電話帳の行と棚の決まり書を、文章の設計図に書き直す予定です。実装と実測(書き直した設定の数、最初に走らせた結果)は、実装後に追記します。

  • Terraform は、欲しい状態を文章で書き、そのとおりにする道具です。
  • 文章にすると、保存・変更の追跡・巻き戻しができます。
  • Terraform に任せた設定は、画面から触らずに Terraform だけで扱います。

この節で出てきた言葉を、つながりの順に並べると次のようになります。

図のラベル: 手で作った設定 再現できない / 欲しい状態を文章で書く Terraform / 設備を文章で書く考え方 Infrastructure as Code / 置き場に保存する GitHub / 変更を追う・前へ戻す roll back / 触る口は一つに決める Dashboard と混ぜない

次の節では、この設計図を実際にどう書くのかを見ます。

この節のチェック

問 1公式の説明に沿う Terraform の位置づけはどれですか?

問 2設定を文章にしておくと公式が挙げる利点はどれですか?

問 3公式が説明する Terraform の配られ方はどれですか?

問 4公式が macOS で最も簡単だとしている入れ方はどれですか?

問 5同じ設定を Terraform と Cloudflare の画面や API の両方から変えると、公式は何が起きると注意していますか?

最終更新日: