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

現場実践|Ansible自動化入門
Ansible入門|インフラエンジニアのためのPlaybook設計と冪等性のある設定自動化
「サーバー設定を手動でやっていて属人化している」「同じ設定を複数台に適用したい」——Ansibleを使ったサーバー設定の自動化・Playbookの書き方・冪等性の概念・AWSとの統合を解説します。
💡 Ansibleは「コードでサーバーの状態を定義する」ツール。エージェントレスでSSH経由で動作するためインストールが簡単で、インフラエンジニアが最初に学ぶ設定管理ツールとして最適です。
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: restarted3. 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月からフリーランス講師として本格始動予定です。
ABOUT ME




