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