この記事はterraform Advent Calendar 2023の19日目です
こんにちは!株式会社マネーフォワードのnakamoriです。
今日は11月に出た「詳解 Terraform 第3版」を読んだので感想を書いていきます。
どんな本?
本書では、Terraformの基本からはじまり、Terraformを使ったインフラストラクチャの状態を管理、Terraformモジュールを使った再利用可能なインフラストラクチャの構築、高度なTerraform構文を使用したダウンタイムゼロの導入などTerraformの一通りの機能と使い方を学びます。
オーム社HPより抜粋
この内容が一番わかりやすかったので抜粋しました。
各章はこのようになっています
- 1章 なぜTerraformを使うのか
- 2章 Terraformをはじめよう
- 3章 Terraformステートを管理する
- 4章 モジュールで再利用可能なインフラを作る
- 5章 Terraformを使うためのヒントとコツ:ループ、条件分岐、デプロイ、その他つまずきポイント
- 6章 シークレットを管理する
- 7章 複数のプロバイダを使う
- 8章 本番レベルのTerraformコード
- 9章 Terraformのコードをテストする
- 10章 チームでTerraformを使う
感想
初心者から中級者まで幅広く読める本だなと思いました。Terraformを使ってみようというところから、後半では本番環境に耐えうるように環境を構築していこうという章もありTerraformを使って仕事をする上では一回読んでおいてもいいなと思う内容でした。サンプルがとても多く、AWSプロバイダーを利用している例が多いので理解もしやすいです。
本の使い方
まず、初級者は2,3,4,5章だけ読むのいいと思います。この章は新卒の研修にしてもいいんじゃないかという内容になっています。
特に5章では、Terraform特有のcountやdynamicとかcreate_before_destroyなどが詰まっていて、一気にTerraformチョットワカルという気分にさせてくれてよかったですね。
もう少し深く知りたいよっていう人は1~8章辺りがいいのではないかなと思います。1章は、IaCの成り立ちがメインなので、読み物シークレットの管理は開発する上で必ず必要になってきますし、これを読んでおけば、わからないということはないと思います。
9章の自動テストの部分は飛ばしたのでわかりません...出来たリソースにHTTPリクエスト送ってテストするということはまだ必要ないのかなと感じました。
個人的に面白かったポイント
自動テストの章は9.2節から始まるのですが、9.1節の最後の方にはこんなことが書いてあります。
インフラコードに対して自動テストを書くのは、気弱な人には向いていません。この後の自動テストの節は、ほぼ間違いなくこの本で最も複雑な部分で、軽い読み物ではありません。ざっと読むだけのつもりなら、この次の節は読み飛ばしてください。
いきなり語気強めの文章が来て笑ってしまいました。言う通りに丸々飛ばしました。いつか気弱じゃなくなったら読もうと思います。
上級者は読まなくていい?
結論: 10章はあり
Terraform本体はあまり要素が多くない(というよりそれぞれのプロバイダの仕様を管理していくのが難しかったりするが本に書きづらい)ので、上級者がこれを読んで新しい技術を学ぶと言うのはあまりないかなと思いました。
ですが、10章はTerraformをチームで使うにはということで、何もTerraformが使われていないところからどうやってTerraformを導入していくかということが書かれています。
上司を説得するだったり、チームのみんなと勉強会を開くだったりコミュニティの形成で重要なことが詰まっているので、ここは読む価値がありましたし、読んで面白かったです。
自分はTableau Data Saberの資格を持っているのですが、この資格を取得する時もTableauをどうやって広めていくかを考える章があり、どのツールも共通して持っている課題なんだなと思いました。
最後に
いかがでしたでしょうか?第3版になってついに日本語が出たということで気になって読んでみました。章ごとに内容がはっきりと分かれているので、少しずつ読み進められるのもいいですね。気になった方はぜひ買って読んでみてください。
terraform Advent Calendar 2023、次の記事もお楽しみに!