サーバー・ネットワークの安定運用に不可欠な「構成管理ツール」とは
ITインフラの構築や運用・維持管理に携わる、管理者や最前線に立つ担当者の皆様の間で、近年「構成管理ツール」という用語を目や耳にする機会が増えてきたと思います。
ITインフラ運用管理における「構成管理」とは、ITインフラを構成するサーバーやネットワークなどのハードウェア、オペレーティングシステム(OS)、ミドルウェア、アプリケーションといったソフトウェアの稼働状態を把握し、期待された状態を維持するための、運用管理上のプロセスを指します。
そうしたプロセスを手作業によらず、自動的に行うのが「構成管理ツール」というわけですが、ここではもう少し詳しく、構成管理の具体的な中身と、なぜ構成管理ツールが必要なのかについて、解説します。
■そもそも「構成管理」とは何か
例えばサーバーにおいて、メモリやストレージの容量、OSやミドルウェアの種類とバージョン、パッチの適用状態、設定変更などに影響され、新たに構築・導入したITサービスが正常に稼働しなかったり、稼働していたものが稼働しなくなったり、といったことが往々にしてあります。
そのようなケースでは、サーバーの仕様を適切に把握していれば、例えばパッチをロールバックしたり、変更した設定ファイルの内容を元に戻すなどの対応で、問題の解決が可能です。これが最も基本的な構成管理といえます。
管理するサーバー台数の少ない運用現場では、サーバーの基本的なハードウェア・ソフトウェア構成を、Windowsではsysteminfoやmsinfo32、Linuxなどではcpuinfoやdf、uname、lsmodといったコマンドを実行して確認し、紙やExcelファイルなどに書き出して文書化するという一連の構成確認業務が、手作業で行われているようです。
OSパッチの適用や周辺ハードウェアの増設といった変更があれば、作成した文書を随時更新して行く、という具合です。
しかし、管理台数が増加してくるにつれ、このような手作業による構成管理は煩雑になる一方でしょう。徐々に疎かになり、結果の更新を忘れてしまった結果、いざという時の復旧対応に、不必要な時間と手間を掛けてしまうことにもなりかねません。 また、対象がルーター・スイッチのようなネットワーク機器の、コンフィグ管理や変更作業となると、対象台数がサーバーの数倍になることも多く、作業に長い時間と人員が投入されることになります。
■自動化、省力化と作業フローの標準化
こうしたITインフラ環境の構成管理における構成情報の取得や更新・変更を、手作業によらず自動的に実施できるのが、構成管理ツールです。
「運用自動化ツール」と呼ばれることもあります。ITインフラでいう「運用自動化」の本質は構成管理にあることから、構成管理ツールという呼称の使用が増えている傾向にあるようですが、本質的な違いはありません。 構成管理ツール、ないしは運用自動化ツールを導入する直接の目的は、まずは多数の管理対象機器を相手に手作業で実施していた煩雑な構成管理業務を、自動化・省力化することにありますが、構成管理の徹底によって得られるもっとも意義ある収穫物といえば、構成管理業務や構成そのものの「標準化」でしょう。
構成管理ツールを適切に使用することで、まず、構成管理業務の作業手順が標準化されます。もちろん、導入してただちに使えるというものではなく、最初に従来の手作業を構成管理ツールのワークフローに移し替えるステップを踏むことになりますが、そこをクリアすれば、あとは構成の把握や維持、変更などが標準的な手順で行えるようになります。
ヒューマンエラーの低減も、大きなメリットです。コマンドの打ち間違いのような些細なミスから、誤った作業手順の実行による大きなトラブルまで、手作業で発生しがちな作業エラーの発生を、未然に防止できる効果があります。
■属人化の排除、熟練エンジニアのノウハウ継承
構成管理ツールの異称のひとつに「ランブックオートメーション(RunBook Automation=RBA)」というものがあります。ランブックとは「手順書」のことで、「手順書に基づく自動化」と訳されます。
構成管理ツールが登場する前、大規模なITインフラ運用の現場では、構成管理業務をテキストエディタやWord、Excelなどで作業手順書を作成し、記述するということがよく行われていました。多くは、熟練した運用エンジニアによって作成され、作業実行のためのシェルスクリプトやバッチファイルなども、セットになっていたものです。
しかし、他人、特に熟練エンジニアが作成した手順書やスクリプトは、その人がその時点の構成を反映して書いたものです。ハードウェアやOSなどの変更内容を、常に反映し、更新し続けて行かなければなりません。
また、作業内容が複雑であればあるほど内容も高度になり、新人や経験の浅いエンジニアが読みこなし、活用するには、高いハードルがあることも少なくありません。
特定の作業が、特定の人に結び付いてしまうことを「属人化」といいます。手作業の多い運用現場では、属人化が当然のように起きています。熟練エンジニアの突然の退職や、病気等による長期の離脱は、手順書をもってしても解決し難いものがあります。
構成管理ツールにサーバーやネットワーク運用の作業手順を組み込むことは、手順書を残すのと同じです。しかし、手順書を解釈するのは人ではなく、構成管理ツールというコンピュータープログラムであり、解釈のズレによるミスは原理的に起こりえません。
同じ操作を何度繰り返しても、同じ結果が得られることを「冪等性(べきとうせい、idempotence)」と呼びます。本来は数学用語ですが、IT、特に構成管理の分野でも同様な意味で用いられています。
構成管理ツールによる自動化された運用では、誰がいつ実行しても結果は同一です。構成管理ツールの導入は、運用業務に冪等性をもたらし、属人化問題の解決に役立ちます。
■GUIベースの構成管理ツールで、運用にまつわる積年の問題を一気に解決!
では、構成管理ツールにはどんなものがあり、何を選べばよいのでしょうか?
基本的なライセンス形態としては商用とOSS(オープンソース・ソフトウェア)があり、商用製品には買い取り+保守とサブスクリプション型があります。
ユーザーインターフェースはCLI(コマンドライン)とGUI主体のものに分かれますが、GUIベースを謳っていても、CLIベースの構成管理ツールにGUIからのコマンド実行機能を追加した程度のものから、最初からGUIを前提に設計され、あらゆる操作と結果の収集・管理がGUIで可能なものまで、幅広いです。
とりあえず無料でスタートできるということで、OSSの構成管理ツールが利用されることも多いのですが、大半はCLIベースで、しかも手順書にあたるファイルの記法や関数などは、そのツールに固有なものです。つまり、手順書記述を学習する必要があり、習熟の度合いによって実現可能な構成管理作業の水準に差が出やすくなります。結局は学習した人にしか使えないツールであり、新たな「属人化」を生んでしまいかねないというジレンマを抱えてもいます。
標準化、冪等性、属人化の排除といった構成管理ツール導入の本来の目的を達成するには、GUIベースで設計されたものの方が適しているといえるでしょう。
完全にGUIベースで設計された商用ツールながら、OSSを保守サービス付きで導入するのに匹敵する低価格で導入でき、しかも予算や管理対象機器の台数に応じて、ライセンス買い取りとサブスクリプションの2種類の導入体系が選べます。
・CISCOスイッチ/ルータ パスワード変更の自動化