資源240個の構成で、1つを変えたときの対象は中央値8個でした。
99%点では228個、全体の95.0%です。書いた1行からは、この差が読めません。
計画を見なければ、何個に及ぶか分かりません。半分の変更は小さく、一部だけが全体に及びます。
Terraformは、適用の前に計画を見せます。公式はTerraformは計画を作り、基盤を変更する前にあなたの承認を求めると述べています。
この計画を見る意味を数えました。資源240個の構成で、240通りすべてを試します。
作られた資源 240個。1つを変えたとき、作り直しの対象になる資源を数える やり方 対象の資源 全体に対する割合 中央値 8個 3.3% 平均 55個 22.9% 99%点 228個 95.0% 最大 240個 100.0%
中央値は8個です。半分の変更は、この規模で収まります。
99%点は228個、全体の95.0%です。中央値の28倍になります。
書いた1行の見た目は、どちらも同じです。8個にも228個にもなります。
大きく及ぶのは、多くの資源が土台にしているものです。網の設定や、権限の役が該当します。
だから計画を出す意味は、承認の手続きではありません。28倍の幅のどちらを引いたかを知ることです。
半分は8個で収まり、一部が構成のほぼ全体に及ぶ。
Terraform generates a plan and prompts you for your approval before modifying your infrastructure.原文HashiCorp Developer「What is Terraform?」 この内容の有効期限2027-02-18
記録が真実として扱われます。実際のほうが変わっても、記録は自動では追いつきません。
Terraformは記録を持ちます。公式は実際の基盤を状態のファイルで追い続けており、それがあなたの環境にとっての真実の出どころとして働くと述べています。
真実として扱う以上、記録の外で起きた変更は見えません。どれだけ積もるかを数えました。
管理する対象 400件・90日ぶん。1日に平均 1.2件が手で触られる 宣言した状態に戻す作業を、決めた間隔で行う 直す間隔 ずれている件数(平均) 最大 直した回数 1回あたり直す件数 直さない 88.0件 206件 0.0回 0.0件 1日ごと 1.9件 8件 90.0回 1.9件 7日ごと 7.7件 25件 12.0回 13.5件 30日ごと 30.0件 75件 3.0回 58.2件
直さなければ88.0件まで積もります。400件のうち2割強です。
1日ごとなら1.9件です。1回あたり直す件数も1.9件で、確認しやすい量になります。
ずれた状態で計画を出すと、意図しない変更が計画に混ざります。手で足したものを消す、といった形です。
そこに前の節の波及が乗ります。混ざった1件が228個に及ぶ側だった場合、被害が広がります。
だから順序があります。ずれを先に解消してから、変更を適用することになります。
常駐して突き合わせ続ける形との違いはArgoCDの記事で扱いました。誰が間隔を決めるかが変わります。
It also keeps track of your real infrastructure in a state file, which acts as a source of truth for your environment.原文HashiCorp Developer「What is Terraform?」 この内容の有効期限2027-02-18
書いたものが唯一の入力になります。だから、書いていないものは管理の外に置かれます。
Terraformが扱う対象を、公式はこう定めています。HashiCorp Terraformは、雲の上と自社の設備の両方の資源を、版を付け、再利用し、共有できる、人が読める設定のファイルとして定められるようにする、コードとしての基盤の道具であるという記述です。
「人が読める」と「版を付ける」の2つが、運用の土台になります。差分を読んで承認できる形だからです。
前の節の「88.0件」は、管理下にある400件のうちの数です。管理外の資源は、この数にも入りません。
だから最初に確かめるのは、管理下にある資源の数です。ずれの件数より前の話になります。
書いた行数と、作られる資源の数は一致しません。まとまった部品を使えば、1行が複数の資源になります。
その比はAWS CDKの記事で数えていて、20行が240個になる構成でした。前の節の240個はその規模です。
資源のつながりと、手で触られる件数はいずれも式で置いたものです。実際の構成では依存がもっと偏り、触られ方にも癖があります。ここで見せているのは、変更の波及が中央値と上位で桁違いになること、記録と実際のずれが直さなければ積もることの2つです。どちらも計画を出せば自分の構成で確かめられます。
HashiCorp Terraform is an infrastructure as code tool that lets you define both cloud and on-prem resources in human-readable configuration files that you can version, reuse, and share.原文HashiCorp Developer「What is Terraform?」 この内容の有効期限2027-02-18
同じ課題を持つ会社にとって、動いている設定は「作る時間」を買えるということです。ServiceDockは自作のワークフローやテンプレートを出品できるマーケットプレイスです。手数料や出品の流れは出品者向けページにまとまっています。
出品の仕組みを見る