AWSにおける運用自動化とは?
目次
運用自動化とは?
運用自動化とは、システムの運用に係る様々な業務を自動化していくことを指します。システムと一言でいっても、サーバーやネットワーク、ミドルウェアやアプリケーションプログラムなどさまざまなものが組み合わさっており、それらの運用に係る業務や運用方法は多様化しています。
また、近年ではDX(デジタルトランスフォーメーション)への取り組みが加速しており、様々な業務がデジタル化されているため、それにともない運用を必要とするITシステムが増えてきています。運用業務はDXの風潮の中で増加傾向にありますが、システムは増えてもそのぶん人が増えるわけではありませんので、限られたリソースのなかで効率良く対応することが求められます。
そのような状況下でシステム運用を実現するための手段として注目されているものが、運用自動化です。
なぜ運用自動化が必要なのか?
運用自動化は今後の企業のIT戦略を考えるうえで、非常に重要な要素になってきます。
システム部門の負荷は増えていく
システムの運用は、直接的な利益を生むものではありません。ただし、システム開発の投資効果を実現する上では重要な業務となります。
例えばシステム開発の計画時にはシステム化による業務効率化等を試算し、ROI(投資収益率)やNPV(正味現在価値)といった指標をもとにシステム開発の効果を経営層に提案すると思います。しかし運用フェーズにおいて、人手や工数が想定以上にかかってしまうと、事前に提示していたROIなどの指標に相反してしまい、他のシステム化案件等に影響が出てしまうことがあります。
また、DXが各企業で進められている環境においては、IT人材の争奪戦が激化しており、人材の不足が懸念されます。同時にシステムは規模も大きくなり、種別や内容も多様化していきます。システムを運用していく人材の不足と、運用対象の多様化により、システムの運用を自動化をしなければ企業のDXがうまく進んでいかないという事態も発生します。
システム運用の過大な業務負荷により、せっかく確保した人材が他の企業に流出してしまうというリスクも存在します。これらのことから、運用自動化は今後の企業の競争力を確保する上でも非常に需要になっています。
運用自動化によって得られるメリット
運用自動化によって得られるメリットとしては、下記の3点が挙げられます。
- コストの効率化
- 人材の有効活用
- システム障害の削減
具体的にどのようなメリットがあるのか、記載していきます。
コストの効率化
システムの運用には様々な手動の業務が伴います。それに伴い、システム運用を行う部門で抱えるタスクが増えてしまい、人件費コストがかかります。また、システム運用の場は24時間365日、システムの監視を行う必要があり、夜勤手当等が必要になることで、さらなるコスト負担が増えます。運用を自動化することで、人件費に係るコストを大きく削減することが可能です。
AWSに最適化された24時間365日の運用・監視をご提供するスタイルズのAWS監視、運用・保守サービスはこちら→
人材の有効活用
先述の通りシステムの運用は直接的な利益を生むものではありませんが、そのような業務に人員を当てることは経営上効率がいいと判断されるものではありません。また、DX人材は今後さらなる不足が予想されています。運用自動化によって、運用に関わる人手を減らし、より企業業績を向上させられるような領域に人を回すことが可能です。
システム障害の削減
システムの運用で考慮しなければならない点として、「人はミスをするもの」という前提があります。ハインリッヒの法則にもあるように、300の軽度なミスから30の重大または中程度のミスが発生してしまいます。人の手だけで運用を続けていると人的ミスが発生するリスクがあります。このようなミスはITシステムにおいては思わぬトラブルに発展する可能性があり、場合によっては経営リスクにもなりえます。運用自動化によって人手の作業を極力なくしていくことで、このような人為的ミスによるトラブルを削減することが可能になります。
運用を自動化すべき業務とは?
具体的に、どのような業務について運用を自動化するとよいのでしょうか?Googleでは、自動化すべき業務を『トイル』(Toil)と呼称し、次のように定義しています。
『トイルとは、手作業、繰り返される、自動化が可能、戦術的、長期的な価値がない、サービスの成長に比例して増加する、といった特徴を持つ作業です。』
(出典:https://cloud.google.com/blog/ja/products/gcp/identifying-and-tracking-toil-using-sre-principles)
このような業務は、やりがいがなく、従業員のモチベーション向上にもならないため撲滅すべきであると考えられます。具体的には、サーバーのパッチ適用といった、限られた時間に多大なリソースを割いて行われる保守作業や、サーバーにインストールされているミドルウェアのバージョンを把握するための情報収集といった作業です。
AWS上のサーバ運用を自動化・効率化する「AWS Systems Manager」
世界シェアNo.1のパブリッククラウドサービスであるAWS(Amazon Web Services)には、運用を自動化するためのサービスが用意されています。AWS Systems Managerと呼び、こちらを利用することで、AWSだけでなく他クラウドやオンプレミス環境上のリソースを可視化し、統合的かつ自動的な運用を実現できます。AWS Systems Managerは運用にかかわる様々な機能が具備されています。具体的な例を列挙していきます。
例えば、「AWS Systems Manager」でパッチを自動化する
AWS Systems Managerは様々な機能が存在していますが、その中でもPatch Managerという機能を用いると、パッチ適用が自動化されます。パッチ適用は、限られたシステムのメンテナンス時間に、指定されたパッチを適用し、サーバーの再起動を行うなど、非常に手順が複雑で自動化しにくいものと思われるかもしれません。
しかしPatch Managerの機能を使えば、これらの懸念点を設定によって指定することで、複雑な作業でも自動化することができます。パッチ適用の時間はメンテナンスウィンドウの設定によって可能です。また、すべてのパッチを充てる必要もなく、「承認ルール」と呼ばれるルールを作成することによって、パッチの重要度によってパッチ適用を行う、または行わないことを指定できます。
また、EC2インスタンスにタグを付与することで、タグベースEC2をグループ化し、グループ単位でのパッチ適用管理も可能になります。
例えば、全サーバーのJavaバージョンの情報を可視化する
『SSM Agent』と呼ばれるエージェントファイルがインストールされたEC2インスタンスおよびオンプレミス環境にあるサーバー(以下、マネージドインスタンスと呼びます)について、一元的に管理できる機能を提供します。具体的な管理項目としては、
- マネージドインスタンスに対してスキャンを実行し、パッチの適用が正しく行われているか・否かの把握
- マネージドインスタンスに対し、アプリケーション、ファイル、適用されているパッチやバージョンの把握
が可能です。この機能を使えば、各サーバーにインストールされているミドルウェアなどのバージョンを把握・一元管理することができ、都度情報収集を行うといったタスクを削減することができます。
AWSに最適化された24時間365日の運用・監視をご提供するスタイルズのAWS監視、運用・保守サービスはこちら→
まとめ
ITシステムの運用はシステムを計画通りに動かし、利用者に不便を強いないためにも、企業のIT戦略のためにも、非常に重要な要素の一つです。だからといって、人手をかけて手動で運用を行っているとかえってコストがかさんでしまいます。ITシステムの運用は極力自動化を行うべきです。
AWS Systems Managerを利用すれば、AWSだけでなくオンプレミス環境でも自動化を行うことが可能です。様々な機能が備わっているので、是非使いこなしてITシステムの運用を極力自動化していきましょう。
AWS環境におけるシステム運用の自動化を更に詳しく知るには、スタイルズのオンラインウェビナー「30分でわかる! AWS 運用の自動化」をご覧ください。こちらのページより「30分でわかる! AWS 運用の自動化」をお申し込みください。いつでも視聴可能です。