2019-05 / 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
【ダウンロード版】Pragmatic Terraform on AWS - KOS-MOS - BOOTH
これも職場の同僚氏がオススメしていた本。
普段から Terraform の設計に課題を感じていたので、ざーっと斜め読みして、第17章からしっかり読んだ。
その中での設計のやり方が
モノリス → モジュールの利用 → 環境(ステージ)の分離 → コンポーネント分離
と段階を踏んでおりとても良いと思った。そう、これなんですよ。最初は main.tf だけで十分。
Terraform の設計はアプリケーション設計とよく似ており、初めから抽象化すると難しくなると思う。
基本は宣言的に書いていき、設定ファイルのような読めるコードにする。3回くらい重複し始めたくらいで、変数やモジュールに落とし込むのが良いはず。
17.4.1 の "安定度の高いコンポーネントは、変動を想定したコンポーネントに依存してはいけません" もまさにアプリケーション設計あるある。『オブジェクト指向設計実践ガイド』にも同じことが書いてある。→ [2016-09-22-1] [2017-11-01-1]
Terraform の Workspaces をオススメしない点にも同意。状態を気にしながらの terraform apply は怖い。
18.4 のリモートステートは知らなかった。便利そう。現状、ちょっとだけ関連があるリソースを同じコンポーネント(ディレクトリ)に集めている。リモートのバックエンドを使えば疎結合に出来るかも。Data Source でも良いと思うけどね。
Terraform だけでなく、第19章のように AWS のベストプラクティスが書かれている点も良い。S3 の暗号化は確認しようと思った。
$ brew cask install kindlegen $ kindlegen PragmaticTerraformOnAWS.epub
追記(2019-05-10):
作者様からありがたいお言葉が・・・!
loading...
2019-05 / 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31