Instiq
第6章 · 自動化とプログラマビリティ·v1.0.0·更新 2026/7/17·読了目安 約15分

変更要約: 初版

6.4構成管理ツール(Ansible・Terraform・Puppet/Chef)

この節の要点

設定をコードとして管理するIaC(Infrastructure as Code)の考え方、冪等性の意味、専用エージェント不要でSSH経由・プッシュ型・YAMLで書くAnsible、宣言的にインフラを構築するTerraform、そしてエージェント常駐・プル型のPuppet/Chefの位置づけを、ツール選定の判断として学びます。

手作業のCLIをスクリプトで置き換える先に、「あるべき設定状態をコードで宣言し、ツールに実現させる」という構成管理の世界があります。設定をコード化すればバージョン管理・レビュー・再現ができ、IaC(Infrastructure as Code)と呼ばれます。この節では、CCNAで問われる代表的なツール——Ansible・Terraform・Puppet・Chef——が「エージェントの要否」「プッシュかプルか」「記述言語」でどう違うかを整理し、要件に応じたツール選定の判断を身につけます。

6.4.1IaCと冪等性

  • IaC(Infrastructure as Code)=サーバやネットワークの設定を手作業ではなくコード(テキストファイル)として記述・管理する考え方。Git等でバージョン管理でき、変更のレビューや過去状態への復元、環境の再現が容易になる。
  • 冪等性(idempotency)=同じ設定コードを何度適用しても結果が同じになる性質。既に望む状態なら変更せず、差分がある部分だけを直すため、繰り返し実行しても安全。構成管理ツールが備えるべき重要な性質。
  • 宣言的 vs 手続き的=「最終的にどうあってほしいか(状態)」を書くのが宣言的、「どの手順で行うか(順序)」を書くのが手続き的。宣言的な記述は冪等性と相性が良い。

6.4.2Ansible(エージェントレス・プッシュ・YAML)

  • Ansibleエージェントレス(管理対象に専用の常駐ソフトを入れず、SSHで接続して設定を適用する)ツール。設定はプレイブックというYAMLファイルに記述し、冪等に適用される。
  • プッシュ型=管理側(コントロールノード)から対象機器へ設定を押し出す方式。対象側に何かを常駐させる必要がなく、既にSSHが有効な機器へすぐ適用できるため導入障壁が低い。

続きは無料登録で読めます

冒頭を無料で公開中。無料登録でこの節の全文と、第4章以降を含む全参考書・全問題集が読めます。