Ansible
Description:
構成管理とアプリケーションデプロイを自動化するツール
Tags:
Updated:
2026/02/12
📰 最新情報
- ・ プラグイン方式による拡張: 対応するモジュールを追加するだけで、環境に合わせた柔軟な機能拡張が可能。
- ・ 冪等性(べきとうせい)の保証: 同じ操作を何度実行しても、システムがあるべき状態に保たれ、不整合の発生を防ぐ。
- ・ 活発な開発コミュニティ: GitHubでの人気が非常に高く、継続的なアップデートと豊富な情報源が確保されている。
- ・ APIを活用したシステム連携: 外部の自動化ツールやCI/CDパイプラインとシームレスに統合し、運用の自動化を加速できる。
- ・ 生成AIとの高い親和性: 自然言語によるPlaybookの自動生成や、エラー解析の支援など、AIを活用した効率的な開発が可能。
Comparison
活用デモ・設定方法
自動化の活用例
Section titled “自動化の活用例”- ・ ホストの初期セットアップ: OSインストール直後のユーザー作成、SSH設定、パッケージ更新などの自動化。
- ・ コンテナ・オーケストレーション: Docker や Podman のインストールから、docker-compose を用いた複数サービスの展開。
- ・ 定期メンテナンス: システムアップデートや不要なログ・キャッシュの削除、SSL証明書の更新などの一括実行。
- ・ バックアップの自動化: 重要データのアーカイブ作成から、リモートストレージやクラウドへの転送。
生成AIと連携した活用例
Section titled “生成AIと連携した活用例”- ・ Playbook の自動生成: ChatGPT などの LLM を使い、自然言語での指示から Playbook の雛形を作成。
- ・ エラー修正の支援: 実行時に発生したエラーログを AI に解析させ、修正案や代替モジュールの提案を受ける。
- ・ ドキュメントからの構成管理化: 基盤構成の設計書やメモを AI に読み込ませ、コード(IaC)に変換。
- ・ 自動ワークフローへの組み込み: difyやn8nなどのワークフローツールと連携して、自動化ワークフローを構築。
構築・初期設定
Section titled “構築・初期設定”Ansibleのみ
Section titled “Ansibleのみ”graph LR
subgraph ControlNode ["コントロールノード (管理側)"]
CLI["Ansibleホスト"]
end
subgraph ManagedNodes ["ターゲットノード (操作対象)"]
Srv["Linux / RPi"]
WindowsSrv["Windows"]
end
CLI -- SSH/WinRM --> ManagedNodes
Ansible AWXあり
Section titled “Ansible AWXあり”graph LR
subgraph ControlNode ["コントロールノード (管理側)"]
CLI["Ansibleホスト"]
AWX["AWX (GUI / API)"]
end
subgraph ManagedNodes ["ターゲットノード (操作対象)"]
Srv["Linux / RPi"]
WindowsSrv["Windows"]
end
CLI -- SSH/WinRM --> ManagedNodes
AWX -- SSH/WinRM --> ManagedNodes
AWX -. API .- CLI
インストール
Section titled “インストール”- ・インストール場所はAnsibleホスト(Linux/macOS)になります
構成ファイル
Section titled “構成ファイル”Ansible を動作させるための最小限の構成は以下の通りです:
- ・
ansible.cfg: インベントリファイルの場所やデフォルトのリモートユーザーなど、Ansible の動作設定を記述します。 - ・インベントリファイル (通常は
hostsという名前): 操作対象となるサーバーの IP アドレスやホスト名をグループ分けして記述します。Ansible の用語では「インベントリ(Inventory)」と呼びますが、慣習的にファイル名としてhostsがよく使われます(INI形式やYAML形式が利用可能)。 - ・Playbook (
.yml): 実際の「何を自動化するか」という手順を記述したファイルです。
ad-hoc コマンド(一時的な実行)であれば、インベントリファイルさえあれば動作しますが、管理をコード化(IaC)する場合はこの 3 つが基本セットとなります。
- ansible.cfg
- hosts
- playbook
SSH 接続設定
Section titled “SSH 接続設定”Ansible は SSH を介して対象ホストを操作するため、パスワードなしでログインできる「公開鍵認証」を設定するのが一般的です。
3.1. SSH キーペアの作成
Section titled “3.1. SSH キーペアの作成”コントロールノード(Ansibleホスト)でキーペアを作成します。すでにある場合はスキップしてください。
- ・-t : 作成する鍵のタイプ(アルゴリズム)を指定します。Ed25519 は最新の標準であり、RSA よりも高速で、短い鍵長で非常に高いセキュリティを提供します。
- ・-C : 鍵の末尾に記録されるコメントを指定します。一般的には、用途や作成者を識別するために使用されます
3.2. 公開鍵をターゲットホストへ配布
Section titled “3.2. 公開鍵をターゲットホストへ配布”作成した公開鍵を操作対象のサーバーにコピーします。
3.3. 接続の確認
Section titled “3.3. 接続の確認”パスワードなしでログインできるか確認します。

