エージェントの逆襲!

2019年12月27日

ワイドテック プロダクト企画担当のYです。

映画「スター・ウォーズ」シリーズの新作が公開されましたね。今回はエピソード(EP)7~9 3部作の最終作ですが、個人的にはスター・ウォーズといえば旧作のEP4~6、中でもEP5こと「帝国の逆襲」がお気に入りだったりします。

2019年最後のPOLESTARコラムは、POLESTAR Automationを語るのに欠かせない「エージェント」をテーマに選んでみました。エージェントレスについては何回か取り上げましたが、エージェント側をメインにコラムを書くのは、実は初めてです。既に書いたような覚えがあるのですが、2016年10月オープンの当Webサイトで最古のコンテンツのひとつ、こちらを書いた記憶からかもしれません。

■「エージェントレス」対応後になぜか「エージェント可」の依頼が増えている件

代理人、代理店などの意味を持つ「エージェント」は、SF映画やテレビ番組にもよく登場しますね。どちらかといえば悪役・敵役として出てくることが多いです。映画「マトリックス」シリーズのエージェント・スミスが有名でしょうが、1970年代のテレビ特撮作品「超人バロム・1」には「悪のエージェント・ドルゲ」なんていうのがいたそうですね。
ネット動画で少し見ただけですが、タイトルにもなっているバロム・1も「正義のエージェント」と呼ばれているのに、「悪のエージェント」という肩書があまりにも語呂が良すぎて、なるほど日本で「エージェント」という言葉がネガティブイメージなのは、この辺が由来なのか! と妙に納得してしまったほどです。

さて、POLESTAR Automation V3で実現された、サーバー管理のエージェントレス対応は、本当に多くのお客様から要望をいただいていたものです。管理対象サーバーにエージェントが必須だった前バージョンの時代、「エージェントレスができたら、また来てくださいね」 という案件があまりにも多かったので、V3完成以降、営業がそうしたお客様のところを順に回っているところなのですが、どういうわけか最近「エージェントありでも構いませんから」「むしろエージェントでお願いします」という案件が増えてきています。
まさに「帝国の逆襲」ならぬ「エージェントの逆襲」とでも呼びたくなるような現象です。

実は、今年後半に重要テーマとして取り組み、前回のコラムでもご紹介したクラウド運用案件も「エージェント可」案件でした。
パブリッククラウドのインスタンス上では、さまざまなエージェントが動いています。例えばAWSのEC2(サーバーインスタンス)でいうAMI(Amazonマシンイメージ)では、標準で入っているものやカスタムインストールできるものなど、いくつかのAWS謹製・公式エージェントが動いているのが普通です。
Amazon LinuxのSSM Agent、Windows用のEC2Launch/EC2Configといったエージェントは、AMIの種類に応じて基本で入っているものです。インスタンス監視サービスであるCloudWatchのエージェントは標準では入っていませんが、CloudWatchを使うには、インスタンスごとにエージェントのインストールが必須です。
AWSのユーザーさんの大半は、普段そんな公式エージェントの存在を意識することは少ないのかもしれませんが、AMIの仕様を調べていくと、実に多彩なサービス固有の公式エージェントが存在していることに気付きます。
何が言いたいのかというと、クラウドのインスタンス(サーバー)にエージェントが入っているのは普通なことで、オンプレミスよりクラウドを中心にやっているユーザーさんほど、エージェント導入に対する抵抗も薄い傾向があると感じています。
もちろん、クラウドサービス側が公式に提供し、半ば強制的に入ってくるエージェントと、POLESTAR Automationのように任意の判断で導入されるエージェントとでは、性格が異なるといえなくもないですが、OSに標準装備ではないという点では、本質的には同じといって構わないでしょう。

■いま、改めて問う「エージェント」のメリット

POLESTAR Automationをリリースした2016年時点で、すでにエージェントレス対応の運用自動化製品は複数存在していましたので、営業先で他社のエージェントレスと比べられてしまった場合には、なるべくエージェント方式の良い点を理解していただく努力を重ねてきました。
それがクラウド利用の拡大とともに、エージェントの存在と役割への理解が広がってきていると実感するようになり、少々意外にすら思っているのですが、一方で今なお、エージェントの導入に抵抗感を抱かれるお客様も少なくないようです。とりわけ、社内システムの運用管理ではなく、他のお客様の運用業務を受託しているようなケースでは顕著なようです。

日本国内の運用管理ソリューション分野において「エージェントレス」という表現が使われるようになったのは、監視(モニタリング)系ツールが最初だと思います。監視系におけるエージェントレスとは、SNMPやIPMI、WMIなど、監視対象OSにあらかじめ用意されている既存のシステム情報収集用インターフェースを用いてシステム監視を行うものをいいます。
実は、こうした監視用の標準インターフェースを提供するプログラムも「エージェント」と呼ばれ、例えば「SNMPエージェント」などは各OSに用意されているのですが、一般にはOSに標準で入っているプログラムは、「エージェント」の概念からは除外する、という定義になっているようです。
POLESTAR Automationのような運用自動化・構成管理ソリューションにおけるエージェントレスは、監視系のそれと比べると歴史が浅いですが、自動化は内部的には各OSごとのシェルコマンドの発行によって実現していますので、SSH、WMI、WinRMといったコマンド文字列の通せるインターフェースを利用します。
例えば、管理対象サーバーの構成情報の取得を行う場合、管理サーバーから管理対象サーバーに対してリモートでスクリプトを投入し、その結果を別のコマンドで取得しているのですが、この方法はリアルタイム性にはやや欠ける上、権限に阻まれてリモート実行が困難な作業(例: Windowsのレジストリ操作)などもあります。
何より、SSHは既知のプロトコルであり、標準のポート番号のままだと総当たり攻撃の対象になるので、特にグローバルIPでインターネットに露出するような環境では、セキュリティ上の懸念から使用を避ける傾向もあります。独自プロトコルを用いるエージェント方式の方がベター、という判断になることも多いです。
一方、管理対象サーバーにエージェントプログラムを常駐させるエージェント方式では、エージェントが管理対象サーバー側のroot/admin権限で動作していますので、ローカルサーバーと同水準の権限で作業が可能となり、直接ハードウェアにアクセスしてリモートコマンドでは集められない構成情報を集めてきたり、Windowsのレジストリを操作したり、ファイルの送受信が容易に実現できたりと、さまざまなメリットがあります。

以上、前述のページと内容が重複しているところもありますが、個人的には今でもエージェント推しですので、POLESTAR Automationエージェントレス元年でもある令和元年の年末に、改めてエージェントの良さを説明させていただきました。
もちろん、POLESTAR Automation V3ならエージェント、エージェントレスを適材適所で使い分けていただけます。以前にも一度触れましたが、現状POLESTAR Automationでエージェントを提供していないOSや仮想化ハイパーバイザーなどでは、エージェントレスが唯一の自動化手段となります。

■Zabbixエージェントのインストールからホスト登録まで自動で。Linuxでも、Windowsでも!

あと、エージェントつながりでもう1つ。POLESTAR Automation V3でエージェントレスとともに追加された新機能「API連携」ですが、現在は要望の特に多かった、監視ツールのZabbixとの連携を中心に、ユースケースの開発に取り組んでいます。
このZabbixもまた、SNMPやWMIなどを用いたエージェントレス監視に対応していますが、エージェントを用いることで、本来の機能をフルに発揮できます。しかし、すべての監視対象サーバーにエージェントをインストールするのは面倒ですし、Zabbixホスト(管理サーバー)からエージェントを認識できるようにするには、エージェントがインストールされている監視対象サーバー側でのファイアウォールの設定なども、適切に実施する必要があります。
そこでPOLESTAR Automationのような自動化ツールが活躍するわけですが、そのZabbixエージェントのサーバーへのインストールからZabbixホストへの登録までを自動的に行うデモは、前回のコラムでもご紹介した通り、10月のJapan IT Week 秋でも披露させていただきました。しかし、当時はLinuxでだけ可能でした。
それが年末もギリギリになって、早めに長めの冬休みに突入した若いエンジニアが、年内の最終出勤日になって、Windows用のZabbixエージェントインストールからファイアウォール設定、Zabbix側のホスト登録までの流れを自動化するジョブを完成させました。これでLinux・Windowsともに対応可能となりましたので、お知らせしておきます。
Zabbixエージェントの一斉展開・追加展開・削除の手間がなくなります。ご興味のある方は、ぜひともこちらのページからお問い合わせいただければと思います。

Zabbix連携関連ジョブツリー(左)と新開発のWindows用Zabbixエージェントインストール/削除ジョブ
Zabbix連携関連ジョブツリー(左)と新開発のWindows用Zabbixエージェントインストール/削除ジョブ

最後に、現在開発中の「関連性情報表示」をチラ見せしておきます。
サーバーやネットワークのトポロジーマップを瞬間的に自動作成し、表示する機能です。前バージョンにもあった機能ですが、V3でも年明けに復活することになりました。

関連性情報表示
関連性情報表示

以上、今年1年もPOLESTAR Automation Webサイトをご覧いただき、ありがとうございました。
どうか来年もよろしくお願いします。