運用自動化ツール(Ansible)について
株式会社テイクーワンのT.Kです。
普段はサーバーの運用監視をしております。日々の業務に、ファイアウォール設定(ポート開放やユーザー追加など)での手動作業を専用の設定サイトやWindowsの管理画面を開き、マウスを使って一つ一つ項目をチェックし、ポート番号やユーザー名を入力する……という、いわゆる「手作業(GUI操作)」が当たり前でした。最近この作業がAnsibleによって自動化され、興味を持って調べたのでその話をしたいと思います。
![]()
運用自動化とは?
運用自動化とは、サーバーやネットワークの設定変更、ソフトウェアのインストール、定期作業などを「人の手」ではなく「仕組み」で実行することです。
ポイントは、「同じ結果を、同じ手順で、誰がやっても再現できる」ことにあります。
手作業では、設定漏れや入力ミス、手順の解釈違いが起きがちです。
自動化することで、こうしたヒューマンエラーを減らせる点が大きなメリットだと感じました。
Ansibleとは?
「サーバーやネットワーク機器の設定を、あらかじめ書いた『指示書』通りに自動でやってくれるツール」です。
ポイントは以下の3つです。
エージェントレス: 管理したいサーバー側に特別なソフトを入れる必要がありません。SSHなどの標準的な通信さえできれば、すぐに自動化を始められます。
「Playbook」が読みやすい: 指示書(Playbook)はYAMLという形式で書かれます。プログラミングの知識がなくても「何が書いてあるか」が直感的にわかります。
冪等性(べきとうせい):同じPlaybookを何度流しても、サーバーの状態が変わらない(正しい状態に保たれる)これを冪等性と呼ぶそうです。
Firewall設定はどう自動化できるのか?
例えば、
- 特定ポートの許可
- 特定ユーザーの通信許可
- 同じ設定を複数環境に適用
こうした作業を、AnsibleのPlaybookとして定義しておけば、ボタンひとつ、あるいはコマンドひとつで反映できます。「設定内容がファイルとして残る」ため、変更履歴の管理やレビューがしやすくなる点も魅力だと感じました。firewall設定が自動化されたことで、数分かかっていた作業が数秒で終わり、作業証跡もログとして残るようになります。
まとめ
今回のfirewall設定のように、
- 作業内容が決まっている
- 何度も繰り返す
- ミスが許されない
業務ほど、自動化の効果は大きいのではないかと思いました。
