書籍名「入門Terraform_インフラ時代のインフラ統合管理」
株式会社インプレス
著者:草間一人/伊藤忠司/七尾健太/前田友樹/村田太郎
読もうと思った動機
・IaCに興味があり、概要を把握したいと思ったため
・AWSの勉強がてらにちょうど良さそうだと思ったため
印象に残った部分
p17 HCL
HashiCorp Configuration Languageの略。
HCLはTerraformの設定ファイルを記述するためのDSL(Domain Specific Language)と呼ばれるカテゴリの言語です。
p39 ステートファイル
ファイル名が「terraform.tfstate」というファイル。
Terraformが構築、管理している対象のインフラに関する状態を保存するためのファイルです。
p47 コラム 手作業で作成したものは、忘れないうちにTerraform化する。
物事が落ち着いたら、実施した手動対応をTerraformにも反映していくことが重要です。
緊急だからといって変更をそのままにしておいた結果、次のTerraformの実行時に差分による支障が生じたり、
変更した事実がチームに共有されず暗黙の知識になってしまったりというケースがよくあります。
p95 Terraformのメリット
・自動化により、作業の効率化を図れる
・人的なミスを減らせる
・再利用性を高める
・バージョニングが容易になる
・検証可能性を高める
p131 HCP Terraformとは何か?
・HCPとはHashiCorpCloudPlatformの略で、TerraformをはじめとしたHashiCorpのプロダクトに関するクラウドサービスをまとめて提供しています。
・HCPが解釈する課題
複数人での利用したときに課題
例:terraformのコードの共有方法
どうやって、ステートファイルを共有するのか
p134 HCP Terraformが提供する機能
・ステートファイルの共有と管理
・Terraformコードのリモート実行
・Gitの連携
・パスワードやクレデンシャルなどの管理
p149 VCSと連携する
HCP TerraformはGithub GitLabなどのVCSのサービスと連携させることで、
コミットがあった際にTerraformコードを自動的に実行するように設定できます。
p207 プロバイダーのTier
3種類あります。
1.Official Provider
Hashi Corpがサポートする公式のプロバイダーであることが表しています。
例:AWS Azure GCP VMWare
2.Partner Provider
HashiCOrpのパートナー各社によってサポートされるプロバイダー。
パートナー企業がメンテナンスしている。
例:Github Datadog
3.Community Provider
上2つ以外のプロバイダー。
Communityがサポートする。
例:Docker
実践できること or 感想
感想
・インフラに詳しくない自分でも平易に書かれていて良いと思った。
実践すること
・「2章terraformの基本的な操作」を手を動かして確認する
・「3章AWSで始めるTerraform」を手を動かして確認する。(実務で使えるレベルまで理解深めたい)
・「5章HCP Terraformを使ったチーム運用」を手を動かして確認する。(雰囲気だけ体験する)