クラウド実行環境

Ansibleとは|「足す」形の手順が2%あるだけで、100回流すと396個の余分が積もった

何を書く仕組みなのか繰り返し流すと何が起きるのか流し直しはどれだけかかるのか

手順200個のうち2%が「足す」形だと、100回流したときに396個の余分が積もりました。

0%なら何回流しても0個です。書き方1つで、繰り返せるかどうかが決まります。

この記事の要点

  • 2%で100回なら396個
  • 10%なら1980個
  • 0%なら0個
  • 飛ばせると40.0分→3.0分

「足す」形の手順が2%あるだけで、100回流すと396個の余分が積もった

宣言として書けているかどうかは、2回流して差が出るかで確かめられます。

Ansibleに書くのは、望ましい状態です。公式は手元または離れた系の望ましい状態を、手順書の中で宣言すると述べています。

「宣言する」と書けていれば、何回流しても同じ状態になります。書けていなければ積もります。

どれだけ積もるかを数えました。手順200個のうち、一定の割合が「足す」形だとします。

流す回数を増やす

text
手順 200個。同じ手順を繰り返し流したときの、意図した状態との差を数える
「足す」形の手順は流すたびに増える。「そうする」形の手順は何回流しても同じ

足す形の割合           1回         2回         5回        20回       100回   (意図と違う項目)
0%                     0個         0個         0個         0個         0個
2%                     0個         4個        16個        76個       396個
10%                    0個        20個        80個       380個      1980個

1回目はどの行も0個です。最初に流した時点では違いが出ません。

2回目で差が出ます。2%なら4個、10%なら20個です。

確かめ方は簡単

表の2列目が、そのまま確かめ方になります。同じ手順を2回流して、2回目に何も変わらなければよいのです。

変わったものがあれば、そこが「足す」形です。4個という数は、200個のうち4個を直せばよいという意味でもあります。

1回しか流さない前提で書いていると、この確認が抜けます。100回流したときの396個は、その積み重ねです。

1回目では差が出ない。2回目から積もりはじめる。

意図と違う項目(個)流した回数(回)→4361101回2回5回20回100回手順200個のうち2%が「足す」形の場合。10%なら同じ形で5倍になる。
図1 ── 流した回数と、意図と違う項目
出典Ansible 公式ドキュメント「Introduction to Ansible」2026-08-18 確認
You declare the desired state of a local or remote system in your playbook.
原文Ansible 公式ドキュメント「Introduction to Ansible」 この内容の有効期限2027-02-18

変わらない分を飛ばせると、100回ぶんが40.0分から3.0分になる

宣言として書けていれば、状態を確かめて飛ばせます。繰り返せるかどうかが速さにも効きます。

Ansibleの手順書について、公式はAnsibleは、手順書と呼ばれる単純で人が読める記述を使って、作業を自動化すると説明しています。

この手順書を繰り返し流す前提だと、飛ばせるかどうかが時間に効きます。

流し直しの時間

text
流し直しにかかる時間(変わらない手順は飛ばせるかどうかで比べる)

やり方                  1回目  2回目以降  100回ぶんの合計
毎回すべて実行する                 24.0秒      24.0秒             40.0分
変わらない分は飛ばす                24.0秒       1.6秒              3.0分

1回目はどちらも24.0秒です。差が出るのは2回目からになります。

100回ぶんでは40.0分と3.0分です。13倍の違いになります。

前の節と合わせると、宣言として書けていることは2つの効き目を持ちます。

  1. 積もらない。何回流しても意図した状態のまま
  2. 飛ばせる。変わっていない分は確かめるだけで済む
  3. 差が読める。流す前に何が変わるか分かる
  4. 途中で止めても戻せる。もう一度流せばよい

3番目が運用で効きます。流す前に確かめられるので、想定外の変更を止められます。

出典Ansible 公式ドキュメント「Introduction to Ansible」2026-08-18 確認
Ansible uses simple, human-readable scripts called playbooks to automate your tasks.
原文Ansible 公式ドキュメント「Introduction to Ansible」 この内容の有効期限2027-02-18

流す側と流される側が分かれている

手元から対象へ向かって流す形です。だから流す間隔を、こちらで決めることになります。

Ansibleの手順書の中身は、公式が定めています。手順書はプレイを含む。プレイはAnsibleの実行の基本の単位であるという説明です。

実行するのは手元の側です。対象の側に常駐する仕組みを置きません

流す間隔を決める

常駐していないので、流していない間はずれていきます。その量を数えました。

text
管理する対象 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件

1日ごとに流せば、ずれは平均1.9件に収まります。30日ごとなら30.0件です。

前の節の時間と合わせて考えます。飛ばせる形なら1回1.6秒なので、毎日流しても負担になりません。

飛ばせない形だと1回24.0秒です。繰り返せるように書けているかどうかが、流す間隔の選択肢を決めます

常駐する仕組みとの違い

対象の側に常駐して突き合わせ続ける形もあります。その場合の数字はArgoCDの記事で扱いました。

違いは誰が間隔を決めるかです。流す側から流す形では、こちらの都合で決められる代わり、忘れれば直りません。

余談 この計測での注意

手順の数、1手順あたりの時間、手で触られる件数はいずれも置いた値です。「足す」形の手順が何個あるかも割合で置きました。実際には、同じ手順でも対象の状態によって積もり方が違います。ここで見せているのは、繰り返せるかどうかが2回目に現れること、それが流し直しの時間にも効くという2つの関係です。どちらも自分の手順書で、2回流せば確かめられます。

出典Ansible 公式ドキュメント「Ansible concepts」2026-08-18 確認
They contain Plays (which are the basic unit of Ansible execution).
原文Ansible 公式ドキュメント「Ansible concepts」 この内容の有効期限2027-02-18

よくある質問

Ansibleには何を書きますか
望ましい状態です。公式は、対象の望ましい状態を手順書の中で宣言すると述べています。
繰り返し流しても平気ですか
書き方によります。「足す」形の手順が2%あると、100回流して396個の余分が積もりました。
流し直しは重いですか
変わらない分を飛ばせるかどうかです。100回ぶんで40.0分と3.0分の差になりました。
どれくらいの間隔で流せばよいですか
ずれの量で決めます。直さなければ平均88.0件、1日ごとなら1.9件でした。

まとめ

  • 望ましい状態を書く
  • 何回流しても同じにする
  • 「足す」形は積もる
  • 飛ばせると流し直しが軽い

今日から始められること

  1. 手順のうち「足す」形のものを数える
  2. 同じ手順を2回流して差を確かめる
  3. 変わらない分が飛ばされているか見る
  4. 流す間隔を決める

実務で組んだAnsibleのワークフローには、値段が付きます

同じ課題を持つ会社にとって、動いている設定は「作る時間」を買えるということです。ServiceDockは自作のワークフローやテンプレートを出品できるマーケットプレイスです。手数料や出品の流れは出品者向けページにまとまっています。

出品の仕組みを見る