友人から「Ansible」使えるか?と聞かれた。知らないとは言いたくなかったし、業務で使うこともあるかもしれないので、勉強してみる。
学んだ内容を投稿していこうと思う。
Ansibleとは?
2012年にAnsible社(2015年にRed Hat社が買収)が提供し、オープンソースで開発が進められている、Pythonで記述された、Infrastructure as Code実践のための構成管理ツールのひとつ。https://docs.ansible.com/ansible/latest/index.html
Ansibleで構成管理するには下記の4つの要素が必要。
- Ansibleの本体
- Inventory
- Module
- Playbook
Ansibleの本体
Ansibleのソフトウェア。Module,Playbookを実行するときに、コマンドラインからAnsibleを実行することになる。
Inventory
操作対象となるサーバーへの接続情報の定義。
Module
Ansibleから実行するコマンドのようなもの。
Playbook
YAMLで書かれたスクリプト。
ModuleがAnsibleにとってのコマンドなら、Playbookはスクリプト。
Ansibleの特徴
Puppet、Chefといった類似のツールはあるが、根本的に異なる点は、エージェントレスでうごくということ。