開閉ボタン
ユーザーメニュー
ユーザーメニューコンテンツ
ログイン

  • 会員限定
  • 2020/11/27

Ansibleとは何か?超入門、Playbookはなぜ有用? 構成管理ツールで使われる3つの理由と活用方法

連載:サーバ自動化の勘所

2005年にオープンソースの構成管理ツール「puppet」がリリースされて以降、「自動化」「構成管理」「DevOps」「Infrastructure as Code(IaC)」といったキーワードをシステム開発の現場では耳にする機会が増えてきた。いずれもITの運用管理の品質を向上したり、負荷を軽減するために用いられるものだが、今回はその中でも「オーケストレーションツール」の代名詞ともなっている「Ansible(アンシブル)」について解説していこう。

BFT 基盤統括部 課長 島田 勝也

BFT 基盤統括部 課長 島田 勝也

大学卒業後、独立系SIerに入社しインフラエンジニアとして金融、通信、サービス、官公庁など多岐にわたる業種と業界のシステム構築プロジェクトに従事。その後、システムインフラに強みを持つBFTに入社。入社後はプロジェクトリーダとして、パブリッククラウドへの移行案件や構成管理ツールなどトレンド技術を活用したプロジェクトを推進。近年は新規事業立ち上げメンバとして教育事業(BFT道場)を推進し、社内教育だけでなく、SIerやユーザ企業向けにITスキルに関する研修の企画・実施に加え、システム提案や導入支援に至るまで幅広く活動している。

BFT
東京、名古屋にてシステムインフラの強みを活かした基盤構築自動化サービスやIT技術の教育サービスなどを展開している。
https://www.bfts.co.jp/biz

BFTオウンドメディア
https://www.users-digital.com/

画像
構成管理ツールを使うメリットとは?スマホの機種変更で利用したイメージ

そもそも構成管理ツールとは?

 構成管理ツールとは、簡潔に言うと「機器のあるべき姿(構成)をファイルで管理する」ためのツールである。

 もう少しかみ砕くと、機器のあるべき姿(たとえば、マシン名やIPアドレスなど)をあらかじめファイルに定義しておくことで、その定義内容と差分があるときは、すべてあるべき姿へと設定(変更)してくれる便利なツールである。

 日々の日常生活に例えると、みなさんお持ちのスマートフォンを買い替えた時をイメージしていただきたい。スマートフォンを買い替えた時、まずみなさんは何を行うだろうか。ほとんどの方は「アカウント/本体設定」や「アプリの導入/設定」など旧スマートフォンと同じ状態になるように作業を行うことだろう。

 この旧スマートフォンの状態(本体設定や導入アプリなど)を定義ファイルで管理し、新しいスマートフォンに対して1つの命令を実行するだけで旧スマートフォンと同じ状態にしてくれるものこそが「構成管理ツール」なのである。


構成管理ツールを活用する4つのメリット

 つまり、今まで手動で1つ1つ設定(変更)を行っていた作業が不要となり、自動で何度行っても同じ状態に構成されるのである。この何度行っても、同じ状態(品質)になることを「冪等性(べきとうせい)」という。

 「冪等性」とは、対象がどんな状態であっても、誰が実行しても、何回実行しても、必ず同じ状態(品質)になることを保証するものである。この「冪等性」こそが構成管理ツールの真髄であり、必要不可欠な考え方である。

 以下に構成管理ツールを導入した際のメリットをまとめる。

  1. 工数削減:
    複数台へ一括設定が可能。手動オペレーションのタイムロス削減

  2. 運用業務の標準化:
    運用手順書への反映漏れ。定義ファイル管理による属人化防止

  3. 品質の向上:
    人的ミスの低減。同品質の大量生産が可能

  4. セキュリティの向上:
    直接ログインする機会を最小化

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つのポイント

統合運用管理・サーバ監視 ジャンルのセミナー

統合運用管理・サーバ監視 ジャンルのトピックス

統合運用管理・サーバ監視 ジャンルのIT導入支援情報

ビジネス+IT 会員登録で、会員限定コンテンツやメルマガを購読可能、スペシャルセミナーにもご招待!