見出し画像

【読書記録】実践Terraform AWSにおけるシステム設計とベストプラクティス

AWSコンソールから、簡単なインフラを構築したことはありますが、CloudformationやTerraformなどのテンプレートを使って構築したことはありませんでした。
今回、業務でTerraformを使う機会がありそうなので、Terraformの勉強の為にこの本を買って読んでみました。

「入門編」「実践編」「運用・設計編」の3部で構成されていて、Terraformの知識が全くなくても基礎から学習できますが、AWSの知識は必要です。

入門編


1章 セットアップ
2章 基本操作
3章 基本構文

セットアップから基本構文まで、すごくわかりやすい説明で手詰まりなく終了。
思ってた以上に簡単に記述、操作ができました。

実践編

4章 全体設計
5章 権限管理
6章 ストレージ
7章 ネットワーク
8章 ロードバランサーとDNS
9章 コンテナオーケストレーション
10章 バッチ
11章 鍵管理
12章 設定管理
13章 データストア
14章 デプロイメントパイプライン
15章 SSHレスオペレーション
16章 ロギング

第7章まで問題なく終了。
第8章の途中で、ドメインをRoute53で登録してhttpsを使えるようにするのだが、ドメインがないのでその部分はスキップして第9章へ。
第9章でECSを使ってnginxを立ち上げてnginxのデフォルト表示を確認する部分で503エラーが発生。。
サンプルだとhttps経由でECSにアクセスしてるけど、今回はhttps設定でないのでそれかなと、設定を見直してみたが、うまく行かず・・・。

似たようなことをしているサイトがないか調べたら、
Terraformで構築するAWS
https://github.com/y-ohgi/introduction-terraform/tree/master/handson/handson
があったので試したところ、これだと一部文法エラー(terraformのバージョン違いによるのか?)がありましたがうまくいきました!
(ただ、ネットワーク設計や書き方が異なるので、書籍の方の何がよくないかまではわからず・・。)

思うように進まなくなったので、第10章からは読むだけで終わり。。

運用・設計編
17章 Terraformベストプラクティス
18章 AWSベストプラクティス
19章 高度な構文
20章 tfstateファイルの管理
21章 構造化
22章 モジュール設計
23章 リソース参照パターン
24章 リファクタリング
25章 既存リソースのインポート
26章 チーム開発
27章 継続的Apply
28章 落ち穂拾い

ここは、今読むよりも業務でTerraformに慣れてから読んだ方が理解が進むかと思い、ざっと流し読み・・・。

まとめ

Terraform自体の使い方、文法等が理解でき、テンプレートを使って構築するということに対する苦手意識もなくなったのがよかった。
Terraformの習得以前に、AWSの知識が必要なので、AWS初心者はまずAWSの勉強をするのがおすすめです。

この記事が気に入ったらサポートをしてみませんか?