現場実践|Ansible自動化入門

Ansible入門|インフラエンジニアのためのPlaybook設計と冪等性のある設定自動化

「サーバー設定を手動でやっていて属人化している」「同じ設定を複数台に適用したい」——Ansibleを使ったサーバー設定の自動化・Playbookの書き方・冪等性の概念・AWSとの統合を解説します。

読了目安:約18分更新日:2026年3月

💡 Ansibleは「コードでサーバーの状態を定義する」ツール。エージェントレスでSSH経由で動作するためインストールが簡単で、インフラエンジニアが最初に学ぶ設定管理ツールとして最適です。

この記事を書いた人
現役ITエンジニア・IT講師(経験14年)
CCNA・CCNP 取得LPIC-1 保有SES現場を複数経験

Ansibleを使ったサーバー設定自動化を複数のオンプレ・クラウド環境で担当してきた立場から解説します。

1. Ansibleの基本概念

📋
Inventory
管理対象のホスト(サーバー)の一覧。IPアドレスまたはホスト名を記載。グループ化して「webサーバー」「DBサーバー」を別々に管理できる。
📜
Playbook
実行したい設定作業をYAML形式で記述したファイル。「nginxをインストールする」「設定ファイルを配置する」等の手順を順番に定義する。
🔧
Module
Ansibleに組み込まれた実行単位。ansible.builtin.apt・ansible.builtin.service・ansible.builtin.template等のモジュールを使って設定を適用する。
🔄
冪等性(Idempotency)
「何度実行しても同じ結果になる」性質。既にnginxがインストールされている場合は「changed」でなく「ok」を返す。

2. Playbookの基本的な書き方

---
- name: Webサーバーのセットアップ
  hosts: webservers
  become: yes  # sudo権限で実行
  vars:
    nginx_port: 80
    
  tasks:
    - name: Nginxをインストール
      ansible.builtin.apt:
        name: nginx
        state: present
        update_cache: yes

    - name: Nginxを起動して自動起動を有効化
      ansible.builtin.service:
        name: nginx
        state: started
        enabled: yes

    - name: カスタム設定ファイルを配置
      ansible.builtin.template:
        src: nginx.conf.j2
        dest: /etc/nginx/nginx.conf
      notify: Restart nginx
        
  handlers:
    - name: Restart nginx
      ansible.builtin.service:
        name: nginx
        state: restarted

3. AWS Dynamic Inventoryの活用

AWS EC2インスタンスを対象にする場合、Ansibleのaws_ec2プラグインを使ってEC2インスタンスを動的にInventoryとして取得できます。「productionタグが付いたEC2全台にPlaybookを適用する」という操作が実現します。インスタンスが追加・削除された場合も自動でInventoryに反映されます。

📌 この記事のポイント
  • Ansibleはエージェントレス・SSH接続・YAML記述でサーバー設定を自動化する。冪等性で何度実行しても安全
  • Playbook=hosts(対象)+tasks(実行内容)+handlers(通知時の処理)の構造で設定作業を記述する
  • aws_ec2プラグインのDynamic Inventoryでタグベースにターゲットを動的取得してAWSに適用できる

キャリアの疑問、一緒に解決しませんか?

Route Bloomでは、インフラ系ITエンジニアを目指す方への個別サポートを行っています。2026年7月からフリーランス講師として本格始動予定です。

※Ansibleのバージョンにより構文が異なります。公式ドキュメントもご参照ください。

ABOUT ME
たから
サラリーマンをしながら開業して経営やってます。 今年、本業で独立・別事業を起業予定です。 ◆経験:IT講師/インフラエンジニア/PM/マネジメント/採用/運用・保守・構築・設計 ◆取得資格:CCNA/CCNP/LPIC-1/AZ-900/FE/サーティファイC言語 ◆サイドビジネス:アパレル事業/複数のWEBメディアを運営