Instiq
第4章 · システムの保守と運用管理·v1.0.0·更新 2026/7/7·読了目安 約13分

変更要約: 初版(主題2.04・副主題2.04.1〜2.04.6に対応)

4.6システム構成ツール(Ansible)

この節の要点

構成管理の自動化がもたらす標準化効率化スケール可能性冪等性という価値と、Ansibleの基本概念(インベントリモジュールPlaybookYAML)、実行コマンドansibleansible-playbook、代表的な用途(仮想サーバー/コンテナ払い出し・アプリケーションリリース・ネットワーク機器の設定変更)を学びます。

台数が増えるほど、手作業でのサーバー設定は再現性のなさ作業ミスの温床になります。システム構成ツールはこの課題に「あるべき状態」を宣言的に記述し、自動で反映する仕組みを提供し、LinuCの範囲では代表格としてAnsibleが扱われます。

4.6.1自動化がもたらす価値

  • 標準化=手順書ではなくコード(Playbook)で構成を定義するため、誰が実行しても同じ結果になる。効率化=繰り返し作業を自動化し人的コストを削減。
  • スケール可能性=1台向けの手順を数百台へそのまま適用できる。冪等性同じPlaybookを何度実行しても、対象が既にあるべき状態なら変更を加えない(結果が収束する)性質。

4.6.2Ansibleの基本概念とコマンド

  • インベントリ=管理対象ホストの一覧(グループ化も可能)を記述したファイル。モジュール=ファイル配置・パッケージ導入等、個々の操作単位の実行部品。Playbook=モジュールをタスクとして順に並べた構成の定義書YAML形式で記述)。
  • 実行コマンド=ansible(アドホックに1コマンドだけ実行、例 ansible all -m ping)・ansible-playbook(Playbookファイル全体を実行、例 ansible-playbook site.yml)。
  • 代表的な用途=仮想サーバー/コンテナの払い出しアプリケーションのリリース作業ネットワーク機器の設定状態取得と変更。エージェント不要でSSH等の既存経路を使う点も特徴。
試験ポイント

「冪等性=何度実行しても既にあるべき状態なら変更しない」の定義が最頻出です。「1コマンドだけ即時実行=ansible/Playbook全体を実行=ansible-playbook」の対比、PlaybookがYAMLで書かれる点、インベントリ=対象ホスト一覧・モジュール=操作の実行部品・Playbook=タスクの定義書、という用語の階層関係も定番です。

冪等性の実務的な意味は「Playbookを安全に何度でも再実行できる」ことです。たとえばパッケージ導入をstate=presentで記述したタスクは、未導入なら導入し、既に導入済みなら何もしません。これはシェルスクリプトでapt installを毎回無条件に叩くのと対照的で、後者は実行するたびに何かが変わる可能性があるため冪等ではありません。冪等性があるからこそ、定期実行(cron等での定常的な適用)や、途中で失敗したPlaybookの再実行による復旧が安全に行えます。実務のワークフローは、まずインベントリで対象ホスト(例:webサーバー群を [web] グループとして)を定義し、各ホストに適用したい状態をモジュールpackagecopyservice等)の組み合わせとしてPlaybookYAML形式)に記述します。単発の疎通確認や緊急のワンショット操作はansible web -m pingのようにansibleコマンドで済ませ、恒常的な構成の適用はansible-playbook site.ymlのようにansible-playbookで全体を流す、という使い分けが一般的です。用途としては、新規に払い出した仮想サーバー群へ同一の初期設定を一括投入する、アプリケーションの新バージョンを多数のサーバーへ順にリリースする、ネットワーク機器から現在の設定状態を取得し変更を計画的に反映する、といった場面で威力を発揮します。

概念役割
インベントリ対象ホストの一覧・グループ化[web]グループ
モジュール個々の操作の実行部品package・copy・service
Playbookタスクの定義書(YAML)site.yml
ansible-playbookPlaybook全体を実行ansible-playbook site.yml
注意

ひっかけ: 「ansible コマンドは Playbook ファイル全体を実行するためのもの」は誤りです。Playbook全体の実行はansible-playbookの役割で、ansibleコマンドはアドホックな単発コマンド実行用です。また「冪等性とは実行のたびに必ず何らかの変更を加える性質」も誤りで、冪等性は既にあるべき状態なら変更を加えない性質です。

インベントリ・モジュール・Playbookの関係とansible/ansible-playbookの使い分けを示す図。
冪等性=何度実行しても収束

4.6.3この節のまとめ

  • 自動化の価値=標準化・効率化・スケール可能性・冪等性(既にあるべき状態なら変更なし)
  • インベントリ=対象ホスト/モジュール=操作部品/Playbook=YAMLの定義書。単発は ansible、全体実行は ansible-playbook

進捗の記録にはログインが必要です。

理解度チェック

(軽い確認用)

Q1. あるタスクを含む Playbook を、同じ対象ホストに対して誤って2回連続で実行してしまった。Ansible の冪等性という性質を踏まえると、2回目の実行結果はどうなるか?

Q2. 複数台のサーバーに疎通確認だけをその場で1回行いたい。site.yml という Playbook 全体は実行せず、単発のコマンドで済ませたい場合に使うべきものは?

Q3. 新規に払い出した仮想サーバー群に対して、パッケージ導入・設定ファイル配置・サービス起動という一連の初期設定を、対象ホストを増やしても同じ手順で適用できるようにしたい。適切な構成管理の進め方は?

理解度を確認第4章「システムの保守と運用管理」の問題を解く

学習の記録を残しませんか

参考書はすべて無料で読めます。無料登録すると、問題集での演習・既読と進捗の記録・間違えた問題の復習・ハイライトが使えます。