最初に
Ansibleを業務で使用することになりました。
そのため勉強したことをまとめています。
Ansibleとは
IaC(Infrastructure as code)でOSSの自動構成管理ツールの一種
Ansibleの利点
・エージェントレス
⇒管理対象のサーバ等にエージェントのインストールが不要
SSHで接続することが出来れば管理が可能なため自動化するさいのハードルが低い
・冪等性(べきとうせい)の担保
⇒冪等性とは何度繰り返し行っても常に同じ結果になること。
Ansibleは上記を保証する設計になっており、例としてNginxをインストールしようとするさい既にインストールされていなければインストールしインストールされていたら処理をスキップしてくれる。
・インフラ構成を定義するPlaybookはYMAL形式で記載
⇒YMALというもので書かれており読みやすく、低い学習コストで文法を取得しやすい
・多種多様な環境に対応
⇒Linuxサーバのほか、Cisco/Winodws等も管理することが可能
環境の違いを意識せず統一された方法でインフラに対する変更作業等の自動化が可能
Ansible動作要件
・Pythonが導入された環境で動作する。
・動作するホストをコントロールノード
自動化対象をターゲットノードと呼ぶ
・ターゲットモジュールにはPythonがインストールされている必要がある。
Ansibleのコンポーネント
Ansibleには下記4つのコンポーネントがある。
☆:Ansible利用時にユーザが作成しなければいけない対象
・プレイブック(Playbook)☆
・インベントリ(Inventory)☆
・モジュール(Module)
・プラグイン(Pligin)
最後に
次はプレイブックとインベントリについて勉強しまとめたい