では、以上のような混在環境とどのように付き合いながら運用を改善していけばよいのだろうか。混在環境で直面しがちな問題をいくつか取り上げ、注意すべきポイントを見ていこう。
混在環境でIT部門が最初に直面する問題は、環境ごとに少しずつ異なる運用手順やスクリプトをメンテナンスしなければならない点だろう。かつてはシステムごとに個別に運用設計書・運用手順書を書いても保守することができたが、管理するシステム数が増え、設計期間自体も短くなった昨今では、可能な範囲での運用の標準化、自動化、横展開を行うことが運用効率を向上させる上で急務である。
しかし、土台となる環境や利用する製品がシステムごとに異なれば、運用手順やそれを自動化するスクリプトの横展開も難しくなってしまう。また同種の環境や製品でもバージョンが異なると、同一手順で管理できなくなる場合も数多く存在する。
運用上も人材育成の都合からも、可能な限り同種の環境や製品でそろえられることが理想ではあるが、実際には予算や要件に合わせて異なる環境や製品が選ばれることが多い。それでも要件に影響しにくい箇所はなるべく統一することが望ましいが、新しい技術や製品を採用する際にはどうしても過渡期が発生し、一定期間は混在が続くことが避けられない。
こうした混在環境においても運用を改善するためには、運用プロセスを小さな単位に分割して、共通している箇所から少しずつ標準化・自動化を進め、部分的であっても運用現場の負担を軽減していく継続的な努力が必要である。最初は一部分を標準化・自動化しても、それを実現する労力に効果が見合わないと感じるかもしれない。だが「標準化・自動化による効率改善」を、運用担当者だけではなく皆が数値上の変化として一度でも認識できれば、次に設計するシステムでは「要件に関わらない箇所はなるべく他のシステムと合わせて標準化しよう」とするインセンティブが働く。
こうした運用プロセスの標準化は、ツールによる自動化と組み合わせるとさらに大きな効果を発揮するが、必ずしも自動化が必須なわけではない。例えば「脆弱性情報の収集」などの業務では、個々のシステムの担当者が独立して行うよりも、全社で集約、また時には社外のコミュニティなども含めて協力して相互に情報を共有した方が、各人の運用負荷は下がり早期対応も可能になる。そうした取り組みを行うための社内体制の確立も、一つの運用プロセス標準化による運用改善といえる。
次に気になるのは、障害時の切り分け作業の複雑化だろう。物理サーバと物理ネットワークだけでも、障害箇所を正確に特定するのはなかなか難しい作業である。さらに仮想環境になると、多数の仮想マシンが仮想ネットワークで接続されて動作しており、確認しなければならないポイントは増える。
クラウドサービスを利用している場合、注意すべきポイントはさらに増える。クラウドサービス事業者側の管理範囲については対応を任せられるのがクラウドの利点だが、「どこまでがユーザー側の責任範囲なのか」を意識しておく必要がある。
例えばIaaSの場合、OSより上の層はユーザーが管理するため、障害発生時の切り分け自体はユーザー側が主体となって行う必要がある。さらにオンプレミスとクラウドの連携などが行われていると障害時の切り分け作業はより複雑になる。
こうした複雑な環境において、迅速に障害を切り分けるためには、システムの全体像を把握しておくだけではなく、監視やログ分析などで普段の傾向を知っておくことが欠かせない。しかし管理対象が増えている現在、監視結果やログに常時、人が目を通しておくのは現実的ではない。うまく可視化したり、普段と異なる傾向が出ていることを検出して通知したりするための仕組みがあることが望ましい。
変化に素早く追従するためには、構成管理の迅速化もまた大きな課題である。今後は、ビジネス上の要望に応じて柔軟にシステム構成の規模を拡大・縮小させることも求められてくる。そういった場合に、クラウドを利用すればオートスケーリングなどの機能を用いて負荷やスケジュールに応じて、自動的にサーバの追加・削除を行うことも可能になる。
しかし、自動で増減したサーバに対して、手動で台帳管理や監視・バックアップなどの設定を行っていたのでは話にならない。自動化が必要である。
幸い昨今の運用管理製品には、こうした動的な構成変更に対応するための機能を備えているものも多い。例えば監視製品であればエージェントの起動時に自動的に親サーバに情報を登録しに行くものもある。また、専用の機能がなくともAPIによる操作を受け付けている製品であれば、スクリプトによる自動連携が可能である。
以前は非定常であった構成変更作業が定常業務に近づきつつある現在、こうした自動化は対応速度の面でも正確さの面でも大きな助けとなる。
新たにクラウドサービスを利用し始めることで必要になる運用として、利用料金の管理が挙げられる。「AWS(Amazon Web Services)」や「Microsoft Azure」といったパブリッククラウドのIaaS/PaaS機能では、利用料金は使った分だけ支払う従量課金が主体となっている。
こうしたサービスにおいてうっかり不要なリソースを稼働させたままにしていたり、予期せぬ巨大なデータ転送などが行われていたりすることを見逃すと、予想以上の利用料金となってしまう可能性もある。請求額は毎月請求が実際に発生してから確認するだけではなく、日々の料金の推移を見て、予想以上のペースで増えていないか常に把握しておくことが欠かせない。
利用料金の管理はクラウドサービスの利用が1種類で済んでいるうちは人手でも対応できるかもしれないが、複数に増えていくと管理は難しくなる。クラウドの利用料金を既存の監視ツールの監視項目に組み込んだり、クラウドの利用料金を管理可能なツールを用いたりすることが望ましい。
管理対象の種類が増えるにつれ、管理用のアカウントの増大も大きな問題となる。各機器やサーバの接続用アカウントから、運用管理製品のアカウント、各種クラウドサービスのアカウントまで、運用現場には多数のアカウントが存在する。
内部統制上は、運用担当者1人1人に最低限の権限を付与したアカウントを発行し、都度棚卸しを行うのが原則である。しかし実際には運用上の都合で部分的にアカウントを共用しているケースも少なからず見受けられ、また利用頻度の低いサービスのアカウントが適正に管理されないまま放置されているケースもある。
それでも従来のオンプレミス内のシステムであれば、アクセスが可能なのは内部の限られた人間に絞られていた。しかしパブリッククラウドサービスの場合、世界中からアクセスが可能になる場合が多いため、もし脆弱なアカウントが外部の攻撃者に見つかれば、情報流出やシステム停止などの大きな損害につながる恐れがある。
クラウド利用が一般的になりつつある現在は、なるべく人手をかけずに厳格なアカウント管理を行う方法が必要になる。認証基盤の統合とシングルサインオンの採用は、こうしたアカウント管理の助けとなるだろう。
最後に、運用効率改善を妨げる最大の問題と思われるのは、要求される技術的な知識・スキルの高度化と、それに伴う特定の担当者への属人化である。現行の手順に従って運用するだけではなく、新しい技術を取り入れて運用を改善するためには、従来よりも高度な知識やスキルが要求される。
ここ数年だけでも、APIを用いたプログラムによるクラウドの管理、ChefやAnsibleのような構成管理ツールを用いた自動化、Serverspecなどを活用したインフラ環境の自動テスト、Dockerのようなコンテナ技術など、運用改善の糸口となる技術が数多く登場している。クラウドサービス自体も従来では考えられなかったスピードで進化を続けている。
しかし、多数の環境やサービスが入り乱れ、現行の運用作業で手一杯の状況では、新たな技術を活用できる人材の育成もおぼつかない。その結果、やっとの思いで運用改善に着手したとしても、スキルのある担当者に負荷が集中し、後任の担当者がメンテナンスできずに元の運用に戻るという事態にもなりかねない。
残念ながら、この問題に対する特効薬はないように思われる。おそらく組織の風土によって適切な対応は異なるだろう。「注力する技術を選別して本腰を入れて人材育成を行う」といった正攻法から、「技術的な要素を隠蔽(いんぺい)して誰でも容易に扱えるようにした製品を導入する」「大鉈を振るって混在した環境を全てクラウドに移して運用を標準化する」など、さまざまな対応が考えられる。
ただし、何も試みずに現状維持を続けることが可能な期間は、もうそれほど残されていない。今のうちに何らかの方針を立て、少しずつ試行錯誤しながら自分たちに合った対策を模索しておくことが重要だろう。
オンプレミスや各種クラウドが混在する環境では、それに合わせた運用方法が求められる。混在環境における多様な課題に対応し、運用改善へのサイクルを回し始めるためには、運用の標準化や自動化、多様な環境の統合管理などを支援する製品やサービスの助けが欠かせない。次回は、実際にこれらの課題に対応するための足掛かりとなる製品やサービスを紹介する。
ITサービスのパフォーマンスが、ビジネスのパフォーマンスを左右する時代になって久しい。こうした中、企業にはニーズビジネスを取り巻く環境の変化に応じてサービス、インフラをスピーディに最適化するための「動的な運用管理」が不可欠となっている。だが現在は、仮想化環境やクラウド、商用ソフトやOSSが混在した複雑なインフラが主流。ニーズの変化に応えながら、サービスを止めることなくシステムを運用するには、もはや人手中心の管理は限界を迎えている状況だ。にもかかわらず、サービス/インフラ運用には一層のスピードが求められている――。本特集では、人手、スキル、コストに制約がある中でも、こうした時代に対応できる運用スタイルを紹介。「障害が起こる要因」をひもときつつ、クラウド/OSS時代の運用スタイルに不可欠な要件、無理なくステップアップするための運用ノウハウを分わかりやすく解説する。
Copyright © ITmedia, Inc. All Rights Reserved.