派遣で働くエンジニアのスキルアップを応援するサイト

PRODUCED BY RECRUIT

【イベントレポート】ニーズの多い研修をリリース前に受講!ITインフラ運用管理の自動化・一元管理

株式会社リクルートスタッフィングが運営するITSTAFFINGでは、弊社に派遣登録いただいている皆さまのスキル向上を支援するイベントを、定期的に開催しています。

10月12日に開催したのは「ITインフラ運用管理の自動化・一元管理」。トレノケート株式会社(※旧グローバルナレッジネットワーク株式会社)の神田直也さんにご登壇いただきました。今回のイベントは、神田さんが新しく作られた研修プログラムを正式リリースする前に、ITSTAFFINGでいち早く受講することができました。

■今回のイベントのポイント

・自動化ツールが使える人材になれば、仕事はなくならない
・オープンソースの統合監視ツールZabbixを理解する
・オープンソースの構成管理ツールAnsibleも活用しよう

近ごろ、「自動化ツールの研修はないのでしょうか?」とよく問い合わせを受けるという神田さん。現場からの強いニーズを感じるそうです。今後を担うITインフラエンジニアなら、自動化ツールを使えるようにしておくとよいでしょう。

【講 師】神田直也さん

▲【講 師】神田直也さん
トレノケート株式会社にて現在、トレーナー/インストラクターとして、ITインフラの技術を中心とした研修を担当。前職は銀行向けのシステムを担当しており、ネットワーク技術の設計、構築を専門としていた。

システムの運用管理。これまでとこれから

現在、企業のシステムはさまざまな種類のサーバで構成され、多様化しています。例えば、社内ネットワークにファイルサーバ、メールサーバ、認証サーバ、アプリサーバ、DBサーバなど、きりがありません。また、外部から接続可能な公開用のWebサーバなどもあるでしょう。自社のサーバだけでなく、クラウド上でインフラを構築するケースも増えています。

これらのシステムは、構築するだけでなく運用管理をしていくことが大切です。システムのライフサイクルは、「1.企画」「2.設計」「3.構築」「4.運用」と回っていきます。運用フェーズでは使える状態を維持し、壊れたらすぐに直さなくてはなりません。

イメージ

では、運用管理にはどのような項目があるのでしょうか。一般的には、次の5つの要素が含まれます。

・障害管理(Fault Management)
・構成管理(Configuration Management)
・課金管理(Accounting Management)
・性能管理(Performance Management)
・セキュリティ管理(Security Management)

これは、Open Systems Interconnection(OSI)におけるシステム管理共通のフレームワークで、頭文字を取って「FCAPSモデル」と呼ばれます。

さらに、インソース(自社)かアウトソース(外部受託)の体制を整えます。また、担当者の役割と責任、運用ルールなども計画しなくてはなりません。その基準には、例えばSLA(Service Level Agreement)があります。

SLAとは、サービスの提供者・事業者と、サービス利用者の間でサービスレベルを同意し、計画することです。運用管理はシステムを使える状態にして、これを維持しなくてはなりませんが、障害は起こるときには起こるもの。どれくらいのレベルで維持するのかを双方で合意する必要があります。例えば、Webシステムなら、稼働率99.5%、レスポンスは8秒以内、障害が起きたら30分以内で使える状態に戻す、などを合意事項として握っておくのです。

ここまで説明してきたシステム運用管理ですが、まだまだ課題もあります。まずは、情報システムの大規模化・複雑化により、作業量が増大し、難易度が上がっていること。また、クラウドの普及により、システムが簡単に作れるようになったため、ライフサイクルが短期化しています。構成変更が頻繁に起こるため、オペレーションでミスするリスクが高まるのです。さらには、ビッグデータやAIといった「攻めのIT」へ投資したいというニーズから、運用コストをできる限り下げたいという要望もあります。

イメージ

このような背景から、最近注目されているのが自動化ツールといえるでしょう。

統合監視ツールで即座に障害を検知

運用管理で復旧までに何時間以内、と決まっている場合、利用できない状況をいち早く検出して復旧作業に取りかからなくてはなりません。人が24時間見ているわけにはいかないので、ツールで検知できるようにします。

イメージ

システム監視の種類には、大きく分けて次の3つがあります。

・稼働監視
・アプリケーション監視
・リソース監視

稼働監視は、「ping」や「traceroute」といった疎通管理など、監視対象となるサーバ上で動いているOSのチェックが主体。また、アプリケーションごとにポートが割り当てられているため、そのポートへの接続や、サービスの起動などを確認します。アプリケーションの処理自体が正常かどうかまでは、稼働監視ではわかりません。

アプリケーション監視では、アプリケーション内部の動作が正常であることを監視します。アプリケーション特有のステータスを確認するなど、専用の監視項目が必要な場合もあります。稼働監視とは監視対象のレイヤが異なります。

最後のリソース監視は、アプリケーションを動かしているCPUやメモリに十分な空きがあることを確認します。例えば、HDDの空き容量が少なくなっていれば、必要に応じて増設の計画を立てなくてはなりません。これらは、ネットワーク管理を行うためのプロトコルであるSNMP(Simple Network Management Protocol)を使用して情報収集できます。

これらのシステム監視を人手で行うのは現実的ではありません。そこで設定、実行、結果の一元管理を行う「統合監視ツール」が注目されています。監視結果をツール上のDBに記録するなど、障害の発生をメールなどで通知をすることができます。

イメージ

今回は、オープンソースの統合監視ツール「Zabbix」を紹介。LinuxWindows、Mac OSなどのさまざまなOSに対応したエージェントで、監視される側のサーバにインストールします。監視設定や監視データの参照は業務用のPCからWebブラウザを通して行い、使い勝手がいいことも特徴です。

ここでは、PCにインストールしたZabbixを使って実際にデモを見せました。ドメインコントローラやWebサーバなどを監視対象として、すでに登録済みの状態です。デモでは、Webサーバを手動で停止させ、監視に失敗する状況を作りました。pingによる疎通確認を1分ごとに実施しており、5回失敗した時点でシステム担当者にメールが送られました。また、監視画面も赤く表示されます。他に、パトライトが回るような設定も可能で、メールや設定画面を見ていなくても障害を検知できます。

イメージ

構成管理ツールを活用し、サーバ構築も自動化へ

運用監視において、サーバ構築も自動化したいというニーズがあります。例えば、Webサーバのアクセスが増加した際、すぐに負荷を分散するためのサーバを追加したいような場合。その際には、「構成管理」が必要になります。

構成管理とは、ITサービスを効率よく管理するために必要な資産や成果物を維持管理するプロセスのこと。障害が起きた際に早く問題解決するためには、システムの状態を正確に把握する必要があり、さらにサーバ追加などの変更を加える際には必要なタスクや影響範囲がわからなくてはなりません。そのためには構成管理が必須なのです。

ところが、この構成管理を取り巻く背景が近年変化しています。クラウドコンピューティングの普及や、システムのライフサイクルの短縮化により、構成情報の維持管理にさらなる効率化が求められているのです。

イメージ

その際に有効なのが「Infrastructure as Code」で、インフラリソースをコードで記述し、オペレーションを自動化するもの。オペレーションの効率化やミスの削減、運用プロセスの標準化を図ることができます。自動化のためのスクリプトを作成するので、必然的にサーバの構成要素がプログラム上に記述されます。つまり、ドキュメントを別途管理しなくてもコードから読み取ることができ、効率的です。

主な構成管理ツールには、「Ansible」「Chef」「Puppet」などがあります。ところが、自動的に構成したシステムが想定通りなのかを人の手でチェックしていては非効率。そのためのテストも「Serverspec」などの自動化ツールを利用するとよいでしょう。

イベントでのデモでは、Ansibleを使いました。Playbookと呼ばれる構成情報を記述したプログラムを利用します。プログラミングの知識がなくても、コードを見ればイメージが湧くようなわかりやすい記述方法が特徴です。今回は、Linuxサーバ上でタスクを実行し、ApacheやPHP、MySQLなどのインストールを一気に処理。その後データベースやユーザー定義なども作成します。接続にはSSHという汎用的なプロトコルを使っているので、対象サーバにエージェントソフトをインストールする必要がありません。さらには冪等性(べきとうせい)を保証しており、同じ処理を繰り返し実行しても、結果が同じになります。Ansibleで構築後、Serverspecでのテストも実施しました。

イメージ

いくつか具体的なツールを紹介しましたが、それぞれ、得意分野と不得意分野があります。例えば、Zabbixにはジョブ管理機能がありません。しかし、別途ジョブ管理ツールを利用すればいいだけです。上手に組み合わせましょう。公式ドキュメントやWeb、書籍なども参考にして、まずは使ってみることが一番です。これからは、手順書通りに作業するだけのオペレーターは不要になっていくでしょう。現場で活躍するためには、ツールを活用する側になることが求められるのです。

※グローバルナレッジネットワーク株式会社は、2017年10月1日をもちまして社名を「トレノケート株式会社」へ変更いたしました。
http://www.trainocate.co.jp/info/company/trainocate-rebranding.html