なぜコードにするか
HashiCorp は Terraform を「クラウドやオンプレの資源を、安全に効率よく作り・変え・版を管理するための、インフラをコードで書く道具」と説明しています。手作業と比べると、違いはここです。
考え方のヒント表の比べ方は一例です。
Terraform の流れと、plan の読み方
書く → 見る → 当てる、の 3 つで進みます。いちばん大事なのは、当てる前に plan(実行計画)を読むこと。変更を選ぶと、plan がどう出るかが変わります。出力は、公式のチュートリアルの形に合わせた作り物です。
コードの変更
terraform plan の出力
state(今の状態の記録)
Terraform は、コードと本物の対応を state に記録しています。state の扱いを間違えると、plan が狂ったり、秘密が漏れたりします。
ほかの道具
道具の一覧と、どの組み合わせで使われているかは、技術の地図で見られます。
Kubernetes(欲しい状態に合わせ続ける)
Kubernetes では「何個を、どの版で動かしたいか」を書くと、今の状態をそこへ近づけ続けます。Pod を止めたり、版を上げたりしてみてください。動きは作り物です。
版を少しずつ入れ替えるやり方は、運用「本番への出し方と、戻し方」のローリングと同じです。
GitOps
OpenGitOps は、Git などに置いた「欲しい状態」に、道具が本物を合わせ続けるやり方を、4 つの原則にまとめています。
考え方のヒントプルリクエストに plan の結果を貼り、レビューと承認のあとで当てる流れにすると、手作業の変更が減ります。
費用と、ルールをコードで
コードにすると、何でもすぐ作れます。作れる分だけ、費用と決まりを見張る仕組みも要ります。
AI 時代AI にインフラのコードを書かせるとき
AI は設定ファイルを書くのが得意です。ただ、1 行の違いで本番が消えることもあります。セキュリティ「権限の持たせすぎ」も見てください。
チェックリスト
確かめたものに印を付けてください(この端末にだけ残ります)。