Ansible (アンシブル) とは何なのかわかりやすく解説

Ansible(アンシブル)をわかりやすく言うと、

ITプロセスの管理効率化自動化するツール

のこと。

ひとつの端末またはサーバーから、複数のサーバーなどのIT機器を管理・運用するためのソフトウェアである。

企業によっては、所有するサーバーが数十台にも及ぶことがあり、これらをAnsible一つで一元的に管理・運用することが可能となるため、管理者の負担軽減と時短において、非常に優れていると言える。

例えば、SE(システムエンジニア)が、複数のサーバーに対してソフトウェアのインストールや設定変更を行う場合、Ansibleを使えば、AnsibleがインストールされたPCまたはサーバーからタスクを実行するだけで、各サーバーへの設定変更やインストールなどを同時かつ自動的に行うことができるようになるため、管理者の負担が大幅に軽減され、タイパ(タイムパフォーマンス)が非常良くなる。

つまり、Ansibleを使える管理者が一人いるだけで、前述の諸作業は完了する。

Ansibleを使わずにそれらの作業を、サーバー1台ずつ順番に行うと非常に時間がかかってしまい、作業効率のタイパ(タイムパフォーマンス)が大きく低下する。

人海戦術で作業効率を補うことも可能だが、その場合は人件費の問題や、知識や技量の差による人的ミス(ヒューマンエラー等)の可能性も出てくる。

Ansibleを使用することで、そういった諸問題を一気に解決することが可能となる。

つまり、Ansibleは、IT機器の管理を一元化することで、効率化・自動化できる優れたソフトウエアである。

ちなみに、Ansibleは、元々は「Ansible, Inc.」により開発され、2012年2月20日にリリースされていたが、2015年10月にIBM系列のレッドハット社により買収された。

それによって、Ansibleの知名度は2016年1月に急激に高まり、世界各国のIT化の風潮も相まって、2018年11月には検索エンジンでのAnsibleの検索数がピークを迎えた。

現在では、IT関連業界でサーバー管理業務を行う企業では、Ansibleは当たり前のように知られており、わざわざ検索エンジンでAnsibleを調べる人は、Ansibleを全く知らない人か、英語の「ansible」の意味を調べる際に表示されるくらいである。
(※オーソン・スコット・カードの小説「エンダーのゲーム」に登場する架空の超光速通信機「アンシブル(Ansible)」を由来に持つといわれる言葉)

そのため、Ansibleのキーワードのランキングは、ピーク時と比べると非常に低いものとなっている。

・Ansibleの特徴

Ansibleの主な特徴は以下のとおり。

  • Ansibleは基本的にオープンソースであり、プログラミング言語「Python」で書かれている。
  • 「Playbook」と呼ばれるファイルで構成管理を記述して運用する。
  • Playbookは、YAML(ヤメル、ヤムル)形式のテキスト(文字列)で書かれるため、パッと見て読むことは可能。
    つまり、理解と記述がしやすい。
  • 以下の条件を満たせばAnsibleのみで運用可能。(エージェントが不要)
    ・管理する機器(サーバー)側でPythonが使用可能。
    ・プロトコルのSSH(Linuxサーバー)またはWinRM(Windowsリモートマネージャー)が疎通する。
    ※サーバーを一か所で一元管理する場合、一元管理用のソフトに対応した専用のプログラムソフト(エージェント)をあらかじめサーバー側にもインストールしないといけなかったが、Ansibleは前述の条件を満たせばエージェント無しで運用できる。
  • 幅広いタスクの自動化が可能
    システムの設定、ソフトウェアのデプロイ、ネットワークの構成・運用などを一元化し自動化できる。

・Ansibleの活用例

Ansibleの活用例には、以下のようなものがある。

◆Webサーバーの構築

WebサーバーのOSのインストールと初期設定、ソフトウェアのインストール、設定ファイルの作成などを自動化することで、Webサーバーを短時間で構築することが可能。

◆アプリケーションのデプロイ

アプリケーションのインストール、設定、データベースの作成などを自動化することで、アプリケーションを迅速にデプロイすることが可能。

◆ネットワークの構成変更

ネットワーク機器のIPアドレスの変更、ファイアウォールの設定変更などを自動化することで、ネットワークの構成変更を迅速かつ安全に行うことが可能。

◆セキュリティ対策

専用のセキュリティソフトウェアを一括でインストールすることが可能なため、サーバーを監視・管理することが容易になる。

故に、ハッキングやクラッキングといった情報テロへのセキュリティ対策にも有効である。

・Ansibleの導入と運用

Ansibleは、WindowsやLinuxなどのさまざまなプラットフォーム(OS)で動作する汎用性の高さがある。
Ansibleの導入方法と運用は以下のとおり。

◆Ansibleのダウンロードとインストール

Ansibleの公式ページから、OSに対応したバイナリをダウンロードしてインストールする。

◆インベントリーの作成

管理対象となるIT機器(サーバーなど)をインベントリーファイルに定義する。
インベントリーファイルには、IT機器のホスト名やIPアドレスなどの情報を記載する。

◆Playbookの作成

Playbookは、Ansibleのタスクを記述したファイルである。
Playbookには、タスクの順序や条件など、管理機器側に設定したい条件などを記述する。
記述はYAML形式で書きこむ必要がある。

◆Playbookの実行

Playbookを実行することで、記述されたタスクが実行される。
正常に実行されたかどうかを画面上で通知してくれる。
実行中のタスクのプロセスを表示させることも可能。

・Ansibleの使用方法を学ぶには?

Ansibleの使い方を学ぶには、以下の方法がある。

  • Ansibleの公式ウェブサイトのチュートリアルを参照する。
  • Ansibleの書籍やオンラインコースを受講する。
  • Ansibleのコミュニティに参加して、他のユーザーから学ぶ。

Ansibleの公式ウェブサイトのチュートリアルは、Ansibleの基本的な使い方を学ぶのに役立つ。

Ansibleの書籍やオンラインコースは、Ansibleのより高度な機能を学ぶのに役立つが、実際にAnsibleを扱う職業に就いている(または就く予定の)人以外が学ぶには、少々専門的であり、敷居が高めである。

しかしながら、Ansibleのコミュニティに参加することで、他のユーザーから直接アドバイスを受けることが可能なため、独学で学ぼうという人にとっては窓口が開けている方だと言える。

 


関連項目

なし


 

TOPへ戻る

索引a行へ戻る

索引あ行へ戻る

サイトトップへ戻る