0
会員になると、いいね!でマイページに保存できます。
共有する
2005年にオープンソースの構成管理ツール「puppet」がリリースされて以降、「自動化」「構成管理」「DevOps」「
Infrastructure as Code(IaC) 」といったキーワードをシステム開発の現場では耳にする機会が増えてきた。いずれもITの運用管理の品質を向上したり、負荷を軽減するために用いられるものだが、今回はその中でも「オーケストレーションツール」の代名詞ともなっている「Ansible(アンシブル)」について解説していこう。
そもそも構成管理ツールとは?
構成管理ツールとは、簡潔に言うと「機器のあるべき姿(構成)をファイルで管理する」ためのツールである。
もう少しかみ砕くと、機器のあるべき姿(たとえば、マシン名やIPアドレスなど)をあらかじめファイルに定義しておくことで、その定義内容と差分があるときは、すべてあるべき姿へと設定(変更)してくれる便利なツールである。
日々の日常生活に例えると、みなさんお持ちのスマートフォンを買い替えた時をイメージしていただきたい。スマートフォンを買い替えた時、まずみなさんは何を行うだろうか。ほとんどの方は「アカウント/本体設定」や「アプリの導入/設定」など旧スマートフォンと同じ状態になるように作業を行うことだろう。
この旧スマートフォンの状態(本体設定や導入アプリなど)を定義ファイルで管理し、新しいスマートフォンに対して1つの命令を実行するだけで旧スマートフォンと同じ状態にしてくれるものこそが「構成管理ツール」なのである。
▼この記事を動画・音声でご覧いただけます▼
VIDEO
構成管理ツールを活用する4つのメリット
つまり、今まで手動で1つ1つ設定(変更)を行っていた作業が不要となり、自動で何度行っても同じ状態に構成されるのである。この何度行っても、同じ状態(品質)になることを「冪等性(べきとうせい)」という。
「冪等性」とは、対象がどんな状態であっても、誰が実行しても、何回実行しても、必ず同じ状態(品質)になることを保証するものである。この「冪等性」こそが構成管理ツールの真髄であり、必要不可欠な考え方である。
以下に構成管理ツールを導入した際のメリットをまとめる。
工数削減: 複数台へ一括設定が可能。手動オペレーションのタイムロス削減
運用業務の標準化: 運用手順書への反映漏れ。定義ファイル管理による属人化防止
品質の向上: 人的ミスの低減。同品質の大量生産が可能
セキュリティの向上: 直接ログインする機会を最小化
Ansibleとは何か?なぜよく使われているのか
では構成管理ツールの中で最も有名なソリューションとなっている「Ansible」はどういう存在なのであろうか。
構成管理ツールの歴史を振り返ると、2005年にPuppet、2009年にChefがリリースされており、Ansibleは2012年にリリースされている。そのため、他の製品に比べると後発の部類に入り、他の製品の弱点をうまく解消しているツールとも言われている。
Ansibleは元々Ansible社で開発されていたが、2015年にレッドハットがAnsibleを買収し開発を引き継いでいる。この買収は当時も大きな話題を呼び、Ansibleへの注目度が高まるきっかけになった。実際、今ではOSS(オープンソースソフトウェア)で最も有名な構成管理ツールと言えるだろう。
以下は構成管理ツールの中でも代表的な3つの製品の概要をまとめた表である。
#
項目
Ansible
Chef
Puppet
1
リリース年
2012年
2009年
2005年
2
会社
レッドハット(注1)
Chef
Puppet
3
開発言語
Python
Ruby
Ruby
4
書式
yaml
Ruby DSL
独自DSL
5
エージェント
不要(注2)
必要
必要
主要な構成管理ツールとその特徴
注1:2015年に買収
注2:専用のクライアントソフトウェアは不要だがPythonは必要となる。
【次ページ】Ansibleが優れている3つのポイント、Playbookのサンプルコード
関連タグ