IT環境の設定を自動化!構成管理ツールにAnsibleが選ばれる理由

IT環境が複雑化しエンジニアリソースも縮減せざるをえない現在、IT環境の設定を自動化する構成管理ツールは必要不可欠になりつつあります。

構成管理の自動化ツールにもさまざまな種類がありますが、プログラミングの知識も必要でエージェントも不可欠など、不便な点もあります。
Ansibleは、先発の構成管理ツールのデメリットをフォローし、手軽に構成管理の自動化ができるRed Hatのオープンソースソフトウェアです。

Ansibleがなぜ構成管理ツールとして選ばれるのかという解説と、Ansibleの導入事例をご紹介しますのでぜひご覧ください。


目次


構成管理ツールのメリット

運用管理者の負担が増加する一方の昨今、IT環境の設定を自動化する構成管理ツールは必要不可欠になりつつあります。
シンプルな構成で手作業でも十分間に合っていた各種サーバやアプリケーションの動作環境も、近年は仮想化・大規模化やクラウド化などで複雑な様相を呈する状況になりました。


人手でのデプロイや構成管理設定ファイルの管理はすでに限界に達し、シェルスクリプトやエージェントなどを駆使して、できるかぎり手動部分が少なくて済む方向、つまり構成管理作業の自動化が発展してきています。
Webアプリケーションのバージョンアップなどのメンテナンスも、自動化していなければ作業ミスが起こり、デグレードや本番直後の障害発生などに繋がりかねません。


また、構成管理の自動化は、ミス防止だけでなく、アプリケーションの開発からデプロイまでのスピードアップができ、開発スピードが向上します。これまで構成管理に割いていた人員も開発やインフラ構築のコアな作業に集中できる点も大きなメリットです。


現在は小規模だからと手動で構成管理をしていると、構成管理担当者が職場から去った時引き継ぎがうまくいかず環境を把握しているメンバーが誰もいない、という危険な状態を作る要因ともなります。
構成管理ツールを導入して構成管理全体を自動化しておくことは、技術者不在のリスクを下げる効果もあるのです。


なぜAnsibleが選ばれるのか

Ansibleは、2012年にリリースされた比較的新しい構成管理ツールです。
Ansibleは、記述形式 (YAML)が分かりやすく、構成管理対象のサーバーマシン(開発環境・本番環境)へエージェントをインストールする必要もない点が大きな特徴の構成管理ツールです。


Ansibleは、構成管理対象のリソースに対して、命令を実行するのではなく、そのリソースが「あるべき姿はこうである」ということを実現する性質も、他のツールに対して優位性があります。


例えば、ユーザー追加の命令なら、「このユーザーを追加」と命令すると、すでにユーザーが追加されている場合エラーになりますが、Ansibleの場合は「このユーザーが追加されている状態にする」と指定することで、Ansible側でユーザーの有無を確認して処理し、常に指定のユーザーが追加されている状態だ、という結果を返します。


このように、事前の状態に関係なく、最終的な結果を記述した目的の状態にすることを「冪等性(べきとうせい)」といい、Ansibleの優位性として覚えておきたい性質です。


昔から動いている本番環境などは、特にインストールするソフトウェアに制限がある場合が多く、ソフトウェアを追加する場合は本番環境に支障が出ないかどうか、調査やテストのコストが必要になります。
そのような手間やコストが必要ないAnsibleなら、導入時も負担がかかりません。


Ansibleは、拡張性の高さも大きな魅力です。
400種類以上もの拡張モジュールが用意され、メジャーなプラットフォームやミドルウェアなどと連携でき、多くの環境ですぐ導入できるようになっています。


近年デファクトスタンダードなりつつあるオープンソースのクラウド環境構築プラットフォームのOpenStackや、開発環境から運用までをワンストップで管理できるコンテナ化プラットフォームのOpenShiftは同じRed Hatのオープンソースシリーズで、シームレスな連携ができ相性抜群。
OpenStackやOpenShiftの運用を円滑にするためには、Ansibleの導入は欠かせません。


Ansibleの導入事例

IT環境の自動化にAnsibleが選ばれる理由を知るには、実際に社内導入している企業の事例に触れることが早道です。
Ansibleの導入事例をいくつかご紹介しましょう。

【大手デジタルコンテンツ配信事業者の開発環境構築例】

大手デジタルコンテンツ配信事業者では、開発環境と運用環境、そして開発フェーズごとに別々の自動化ツールが適用されていいました。
開発者はすべてのツールについてある程度の知識が求められ、自動化ツールを統一したい、という課題を解決するためにAnsibleを全体で利用することに。

Ansibleでは、Macや仮想マシンの環境構築をして、開発と運用共通の言語として使用するようになった結果、運用担当者にもYAML形式の内容が分かりやすく、インフラ側で本番環境が組みやすくなったそうです。

【C4SAの活用事例】

C4SAとは、インターネットサービスプロバイダなどが提供するアプリケーション開発のプラットフォームで、ブラウザ上で操作できる開発ツールが揃っている点がウリの一つです。

従来、クライアントからは、インターネットサービスプロバイダなどが提供するC4SAで開発したアプリケーションを本番サーバーにエクスポートしたいという要望が出ていました。
しかし、本番環境にエージェントを入れる訳にもいかず、本番環境に影響を与えないで済むデプロイツールを探すことになりました。
その結果、エージェントレスでデプロイができるAnsibleを採用し、クライアントの要望通り開発環境から本番環境へのエクスポートを可能にしました。


まとめ

IT環境の設定自動化にとても便利な構成管理ツール、Ansibleについて説明しました。
簡単な命令の記述方法、エージェントレス、冪等性が保てることなど、Ansibleは、構成管理とデプロイの両方を包含して、IT自動化を一手に引き受けてくれるツールとして、今度も選ばれ続けるでしょう。


構成管理ツールをお探しでAnsibleに興味を持たれた方は、ぜひ当社までご連絡ください。
​​​​​​​お客様の環境に合わせた使い方など、ご相談をお待ちしております。