awsの障害監視はシステム運用で最も重要

awsの運用面では安定稼働を継続させることが最も大事なポイントです。そのためには、正常に稼働していることを確認する障害監視を行うことが必要不可欠です。標準機能でも最低限の障害監視は備わっていますが、より強固な障害監視を行うには専用のツールの導入を検討するのがおすすめです。

awsの障害監視方法とおすすめのツール、そして障害発生時の復旧方法について紹介します。

システムの安定運用に欠かせない障害監視

awsはAmazonが提供するクラウドサービスで大企業でも導入されているメジャーなシステムです。企業の基幹システムとして導入するケースも多く、awsを活用することで社内に限らずインターネットが接続されている環境であれば、どこでも社内と変わらない作業を実施することが可能となり、時間の節約など業務の効率化に大きく寄与しています。

awsは導入したら終わりというわけではなく、安定運用させることが第一条件となります。システムが予期せぬ事象により停止すると業務が停止するばかりでなく、利用しているエンドユーザーにまで影響を及ぼし、会社の信用の失墜に直結するケースも想定します。

そのためシステムが正常に稼働しているかどうかを監視することは最も大事なポイントとなります。システムの安定運用は保守監視体制を敷いて管理します。最もアナログな方法は24時間365日体制で監視人員を配置しておく事ですが、人件費がかかったり、人為的な漏れやミスの可能性も秘めています。

そこで障害を自動的に監視するシステムを取り入れるのが有効策です。一定の閾値を設けておき、閾値を超過するような異常な事態が発生したときに何かしらのアクションを起こすのが障害監視機能です。不正アクセスの監視や、アクセス集中、データの改ざん、ネットワーク状況など障害と判断できる事象は様々です。

これら一つ一つ考えられるケースを想定して障害監視を取り入れるのが大切です。

障害検知は早ければ早いほど復旧も早い

障害検知はスピードとの戦いと言っても過言ではありません。障害により異常が発生するとシステムに何かしらの不具合を生じさせます。不正アクセスなど悪意を持った行為の場合には、障害発生から時間が経過するとその被害はどんどん拡大してしまいます。

そのため障害検知は早ければ早いほど有効であると言えます。被害が小さいときには元に戻す復旧作業への時間や工数も少なく済みます。不正なアクセスや、作業状況の監視においてはイベントが発生した状況で障害を検知できるため、最も早い段階で検知できますが、データやインスタンス、ネットワークなどの異常の検知については、一定スパンで異常確認を行う仕組みであるため、早期発見するためにはスパンを短く設定しておく事が必要です。

しかし、スパンを短くすることでシステム負荷もかかるため、リスク状況を鑑みて個別に適正に設定することが大事なポイントです。また、障害検知のアラート方法についても検討する必要があります。一般的にはメール通知などが多いですが、メールに気づくまでのタイムラグがあります。

重大なインシデントの場合にはサーバーを切り替えたり、再起動させる、システムを一時停止させるなどシステムを自動で制御する方法を取り入れておくことが有効な手段です。

一般的なawsのシステム障害を検知する方法

awsのシステム障害を検知する方法はいくつかあります。一つはダッシュボードで確認する方法です。これはシステム管理者が管理画面にログインし、ダッシュボードで稼働状況を確認する方法で、Open Issueという項目にイベント内容と事象が発生したリージョン名、発生日時が表示されています。

イベントをクリックすれば詳細情報も確認できるため、原因追及にも役立ちます。各リージョンのサービス状態を一覧化して見ることができるため、保守の人員が常駐している場合には準備しておきたい機能です。awsの異常は、常駐していなくも監視することができます。

Twitterやメールで情報を受け取ることができます。Twitterはエンドユーザーの声が反映されるツールです。システムの挙動が異常である場合、Twitterでユーザーの声が最も早いアラートとなります。

そのためどのような事象が起きているのか一次情報を取得するのには有効な手段となり得ます。また管理者宛にメールを自動配信する機能も標準で備わっているため、異常が起きていることを管理者が把握する事ができます。

awsの障害監視はAmazon CloudWatchがおすすめ

一般的な障害検知では不十分なケースも多々あります。そのためより強固な障害検知を行うためには専用のツールを利用するのがおすすめです。awsにはAmazon CloudWatchという機能があります。Amazon CloudWatchはaws上で動作している各サービスを監視する専用のサービスで、即時にシステム異常を検知し障害の時間を最小化する事と、サーバーのリソース利用率をモニタリングし最適なリソース配分を実現するための情報を提供する2つの目的に準じた機能が備わっています。

サーバーにインストールする事でCPUやメモリの使用状況、利用料金の変化などを監視し、インスタンスの追加や変更などにも追従するため、都度設定などを行う必要がありません。また、グラフィカルなグラフが完備されたダッシュボード機能でaws上のサービスとアプリケーションログを統合的に可視化できるのも特徴です。

さらにメトリクスが特定の閾値を超過した場合に自動的にメール通知などを行う機能も備わっています。加えてシステムイベントをリアルタイムに取得し、イベントに応じたアクションやスケジューリングも自動で行います。

awsを安定して運用させるための最大限の機能が凝縮されたAmazon CloudWatchにより、aws監視にかかる工数を大幅に削減させることが可能です。

awsで障害が発生した時の対策

awsで障害が発生したときには、復旧作業が必要となります。awsで行う復旧作業について4種類の方法があります。まずインスタンスを自動復旧させるAuto Recoveryと呼ばれる方法です。基板単位の復旧はawsの標準機能として備わっていますが、復旧までの間システムを停止しなければならないなど注意しておく点もあります。

次に手動操作による復旧です。監視ツールでアラートを受け取るもしくはダッシュボードで異常を確認した際には手動で復旧します。管理者の知識や経験などに依存する部分もあり一長一短ですが、最適な判断をすることができる方法の一つです。

3つめはバックアップデータによる復旧です。過去の定点におけるバックアップされたデータを用い、当時の状況に戻す方法です。バックアップ時点から現在までのデータが損失してしまう事と、データロードの時間がかかることが懸念事項ですが、データ面での対策としては最も有効な方法です。

最後はHAクラスターを用いる方法です。稼働系システムに障害が発生した際に自動的に待機系システムに切り替える仕組みでシステムを停止させないメリットはありますが、サーバーを2台維持するコストなども問題もあります。

awsの監視にはAmazon CloudWatchが有効

awsには標準で監視を行う機能は最低限備わっていますが、インスタンスの基盤の監視はできても中で動作するアプリケーションまで検知できないなど、実運用を行う上では不十分な面もあります。

そのため障害監視を行うために専用で設計されたAmazon CloudWatchを用いるのがおすすめです。

インスタンス内のすべてを対象とし、最適な監視体制を構築することが可能です。