AnsibleでLinuxサーバー構成管理入門|playbookの書き方と実践的な自動化パターン

現場実践|構成管理自動化
AnsibleでLinuxサーバー構成管理入門|playbookの書き方と実践的な自動化パターン
「サーバーの設定を手作業でやるのが辛い」「同じ設定を100台に展開したい」——Ansibleを使ったLinuxサーバーの構成管理・設定の自動化・playbookの書き方を実践的に解説します。
💡 Ansibleはエージェントレス・YAMLベースの構成管理ツール。「インストール不要・学習コスト低・シェルスクリプトより可読性が高い」という特徴でインフラ自動化の最初の一歩として最適です。
1. Ansibleの基本的な仕組み
Playbook
「何をするか」をYAML形式で記述したファイル。複数のtaskから構成される。
Inventory
「どのサーバーに対して実行するか」を定義するファイル。IPアドレス・グループ等を記述する。
Module
「パッケージインストール・ファイルコピー・サービス起動」等の個別作業の部品。組み込みモジュールが豊富。
2. シンプルなPlaybookの例(Nginx導入)
---
- name: Nginxをインストールして起動する
hosts: webservers
become: yes
tasks:
- name: Nginxをインストール
ansible.builtin.package:
name: nginx
state: present
- name: Nginxを起動・自動起動設定
ansible.builtin.service:
name: nginx
state: started
enabled: yes
- name: 設定ファイルをコピー
ansible.builtin.copy:
src: files/nginx.conf
dest: /etc/nginx/nginx.conf
notify: Nginx restart
handlers:
- name: Nginx restart
ansible.builtin.service:
name: nginx
state: restarted3. Inventoryファイルの書き方
[webservers]
192.168.1.10
192.168.1.11
192.168.1.12
[dbservers]
192.168.1.20
[all:vars]
ansible_user=ec2-user
ansible_ssh_private_key_file=~/.ssh/id_rsa# Playbookの実行
ansible-playbook -i inventory.ini nginx.yml
# 特定のホストのみ実行(--limit)
ansible-playbook -i inventory.ini nginx.yml --limit webservers4. 実務での活用パターン
- 新規サーバーのベースライン設定:SSH設定・タイムゾーン・ミドルウェアのインストール・ユーザー作成を1回のPlaybook実行で完了させる
- 定期的なパッケージ更新:cronまたはAWS Systems Managerと組み合わせて定期的なOSパッチ適用を自動化する
- 設定変更の一括適用:100台のWebサーバーのnginx.confを同時に更新する場合にAnsibleが真価を発揮する
📌 この記事のポイント
- Ansibleはエージェントレス・YAMLベースの構成管理ツール。シェルスクリプトより可読性が高い
- PlaybookはYAML形式でhosts(対象)・tasks(作業)・handlers(通知処理)を記述する
- 新規サーバーのベースライン設定・定期パッチ適用・一括設定変更がAnsibleの代表的な活用パターン
キャリアの疑問、一緒に解決しませんか?
Route Bloomでは、インフラ系ITエンジニアを目指す方への個別サポートを行っています。2026年7月からフリーランス講師として本格始動予定です。
ABOUT ME




