サーバーダウンとは
あなたの会社では、利用しているサーバーがダウンしたことはありますか?サーバーダウンとは、アクセス集中やサイバー攻撃、故障などにより、サーバーの稼働が停止することを指します。
サーバーのダウンは会社に大きな損失を与えかねません。具体的には以下の3点が挙げられます。
・経済的な損失
たとえば、ECサイトを提供するWebサーバー、DB(データベース)サーバー、AP(アプリケーション)サーバーのいずれかがダウンすると、ユーザーはWebサイト経由で商品の購入ができなくなり、損失が発生します。
また、従業員が業務で必要なサーバーを利用できないと、その間は業務が停止してしまいます。
・信頼の喪失
ユーザーへアプリケーションやWebサービスを提供している場合、サーバーがダウンするとそれらのサービスが利用できなくなり、顧客満足度の低下や会社のイメージダウンを招きます。
・ユーザー・サイト閲覧者・その他システム利用者の離脱
信頼を失った結果、ユーザーがサービスやシステムの利用を中止し、競合製品に乗り換える可能性も考えられます。Webサイトの場合は閲覧できないと離脱が発生し、多くのケースでは復旧を待たずに他のサイトが利用されます。いずれの場合も深刻な機会損失につながります。
これらの損失を回避するには、サーバーダウンを未然に防ぐための対策が必要であり、実際にサーバーダウンが発生した際は正しい対応を迅速に行うことが重要です。
サーバー・ネットワーク監視ツール OpManager
そもそもサーバーとは
サーバーダウンの詳細に入る前に、前提を簡単に整理しておきましょう。そもそもサーバーとは何でしょうか。
サーバーとは利用者にサービスを提供するコンピューターを指します。サーバーからサービスを受ける対象はクライアントと呼ばれ、一般的にはPCやスマートフォンなどの端末が該当します。
サーバーの具体例としては、前述のWebサーバー、DBサーバー、APサーバーに加え、メールサーバーやファイルを共有できるファイルサーバー、IPアドレスを割り当てるDHCPサーバーなど、多くの種類が存在します。
サーバーダウンの原因
それでは、どのような原因でサーバーはダウンするのでしょうか。サーバーの外部で発生する外的要因と、サーバーそのものに起因する内的要因に大別できます。
外的要因
アクセス集中
サーバーがダウンする代表的な原因はアクセスの集中です。処理能力を超えるアクセスが短時間のうちに行われると、サーバーの処理が追いつかなくなり、最終的にはダウンします。
たとえば、ブラックフライデーやサイバーマンデーのような大規模なセールイベントでは、多くの消費者がお得な商品を求めて一斉にオンラインショップにアクセスします。これにより想定以上のトラフィックが発生し、サーバーがダウンしてWebサイトにアクセスできなくなるケースがあります。
サイバー攻撃
サイバー攻撃とは、システムの停止や情報の改ざん・窃取を試みる行為を指します。攻撃対象は個人・組織どちらもあり、攻撃方法としてDDoS攻撃や、総当たり攻撃(ブルートフォースアタック)などが挙げられます。
特にDDoS攻撃は代表的なサイバー攻撃であり、複数のパソコンを踏み台にして標的となるサーバーへ大量アクセスを行い、サーバーダウンを狙います。総当たり攻撃では、文字や数字などを組み合わせて入力し、何度もログインを試行することで不正な侵入を試みます。ツールの利用により、IDやパスワードを割り出すことが簡単になります。サーバーに侵入できれば、サーバー内の機密情報を盗み出したり、改ざんしたりします。
内的要因
人為的なミス
サーバーダウンは、設定ミスや重要なデータの削除・破損でも発生することがあります。たとえばWebサーバーのApacheでは、設定ファイルのhttpd.confを編集して、メモリーの処理能力を調整可能です。こちらが適切に設定されていないと、メモリーの処理能力が限界に達してサーバーダウンとなるかもしれません。
また、管理者がサーバーの設定ファイルを更新する際に、サーバーの起動に必要な設定ファイルを誤って削除したため、再起動後に正常に起動しなくなるケースなども考えられます。
人為的なミスの発生を可能な限り避けるためには、定められた作業手順の遵守や、チェック体制の強化が重要です。また、専用のアプリケーションなどを活用して作業を自動化し、手動の操作を最小限に抑える仕組みをつくるのが良いでしょう。
OSやソフトウェアの問題
OSやソフトウェアの不具合によるサーバーダウンもみられます。サーバーに新しいソフトウェアをインストールした直後や、OS・ソフトウェアを更新またはそれらの設定を変更したとき、パッチを適用した場合などは特に注意しましょう。テスト環境を用意してこれらの変更を先に行い、サーバーが適切に稼働し問題がないことを確認してから本番環境で変更を行うと、予期せぬ不具合や問題によるサーバーダウンを回避しやすくなります。
ハードウェアの故障
サーバーはCPUやメモリー、ハードディスクなど多くの要素で構成されており、これらの故障がサーバーダウンを引き起こす場合があります。
税制上、減価償却資産としてのサーバーの耐用年数は5年となっていますが、3~4年で劣化することも多いです。フリーズする、処理に時間がかかるなどの不具合が生じている場合は、サーバーの入れ替えを検討しましょう。
サーバーダウンを未然に防ぐ方法
サーバーダウンを未然に防ぐにはどのように対策すればよいのでしょうか。ダウンする前に日頃とるべき対応について紹介します。
サーバーのスペック向上
サーバーをできる限りダウンさせないためには、CPU、メモリー、ストレージなどが優れたサーバーを用意することが得策です。スペックの高いサーバーは処理件数や接続数の増加に対応しやすくなります。サーバー更改のタイミングでは、今後の事業規模やアクセス件数の伸長などを考慮したうえで、スペックの強化を検討しましょう。
CPUは可能な限り処理能力が高いものが良いです。コア数が多い、クロック数が高い製品が候補となります。もしくは同時マルチスレッディングを有効にしましょう。同時マルチスレッディングは、CPUのコアを論理的に分割して同時にタスクを処理できるようにし、処理能力を向上します。
メモリーに関しては、より容量が大きい、読み書きスピードが速いものに交換することでスペックを向上できます。スロットが空いている場合はメモリーの追加も可能です。
データの保存先となるストレージは HDDとSSDに分類されます。HDDでは、磁気ヘッドが回転するディスクに書き込むことで、データを磁気的に記録します。一方でSSDは物理的な動作を行わずにデータを電子的に記録するためHDDよりも高速です。そのため、ストレージからデータを読み込む、またはストレージにデータを書き込む時間であるディスクI/Oは短くなります。SSDはHDDよりも高価ですが、読み書きが優れているため特にDBサーバーでの採用に適しています。
ディスクの読み書き速度の向上には、複数台のHDDとSSDにデータを分散するRAIDも役立ちます。RAIDにはいくつか種類があり、方法によっては耐障害性を高めるほか、データの読み書きをより高速にできます。
予備のサーバーやデータを用意
複数台のサーバーを用意することで、1台がダウンしても他のサーバーによりサービスを継続できます。これらのサーバーを並列で稼働させることで、サーバーダウンのためサービスやシステムが停止する事態を防止できるでしょう。
また、普段から定期的にサーバーのデータをバックアップしておくことで、ダウン時の復旧が比較的容易になります。バックアップに加えてレプリケーションも効果的です。レプリケーションとは、予備のサーバーでリアルタイムにデータを複製することを指します。バックアップよりも即座に復旧でき、障害発生時にもダウンタイムを最小限に抑えながらシステムの運用を継続できる点がメリットです。
サーバーの負荷軽減
複数台のサーバーで処理を行っている場合、ロードバランサーによりサーバー間の負荷を均等に分散させることができます。1台のサーバーにアクセスが集中しないように調整でき、サーバーを通じて提供しているサービスの可用性を高く保ちます。さらに、サーバーで障害が発生した際はそれを検知し、他のサーバーへリクエストを自動的に振り分けます。
加えて、キャッシュサーバーを活用することでサーバーの負荷を軽減できます。キャッシュサーバーは、他のサーバーが提供するデータの複製を保持します。リクエストを受けた場合は、元データがあるサーバーの代わりに応答します。
サーバー監視ツールの導入
サーバー監視ツールで各種項目を監視するとダウンの防止に役立ちます。サーバーをツールに登録すれば、画面から各サーバーの状況を一覧で把握でき、個別にCPU使用率やディスク使用率、トラフィック使用率などの詳細を確認することも可能です。
サーバーはダウンする前にこれらの値が異常に高くなる場合があります。ツールが異常を検知した際はメールなどで通知可能です。大量のサーバーを保有している場合では1台ずつ状況を確認する手間を削減できます。
チューニングの実施
サーバー監視ツールを用いるとトラフィック量を把握でき、アクセスが集中しているかを確認できます。アクセス集中によるサーバーダウンを可能な限り防ぐためにチューニングを行いましょう。チューニングの方法として、Webサーバーでは静的コンテンツのキャッシュやコンカレンシーの設定、データベースにおいてはインデックスやクエリの最適化が挙げられます。
静的コンテンツでは、Webサイトへアクセスするユーザー全員に毎回同じものが表示されます。静的コンテンツをキャッシュすることで、2回目以降のアクセスで表示までの時間を短縮できます。
コンカレンシーは複数のタスクの並行処理を指します。Webサーバーが同時に処理できるリクエスト数の上限を適切に設定することで、短時間で大量のリクエストを効率的に処理可能です。
データベースでは、適切に管理されたインデックスの活用により処理時間を短縮できます。インデックスとは、データベースにおいてデータを効率的に検索する仕組みです。インデックスを通じてデータベースエンジンが対象となるデータを素早く発見でき、処理がより高速になります。
データベースにおいてクエリとは、データの検索や抽出、追加、更新、削除などを命令する文字列を意味します。クエリの最適化にあたっては、不必要なデータの読み取りを行わずに、必要なデータのみが操作の対象となるようにしましょう。これによりデータベースのパフォーマンスが向上します。
セキュリティ強化
サーバーダウンの原因の1つにサイバー攻撃があると前述しました。セキュリティ対策を通じて、この要因でダウンする可能性を下げることができます。
具体的な対策としては、ファイアウォールやWAF(Webアプリケーションファイアウォール)、IDS(不正侵入検知システム)、IPS(不正侵入防止システム)などの導入が挙げられます。ファイアウォールはインターネットと内部ネットワークの間に設置され、事前に設定したルールに基づいてサイバー攻撃や不正アクセスなどを防ぎます。通信の送信元・送信先の情報を確認するので、IPアドレスやポート番号、プロトコルなどに応じてフィルタリング可能です。
より詳細な通信の中身を把握したい場合はWAFが適しています。WAFとは不正な攻撃からWebアプリケーションを守るツールです。ファイアウォールは、送信元・宛先のIPアドレスなどの通信に関する情報から、内部ネットワークへ通信を許可してよいかを判別します。一方でWAFではアプリケーション層の通信内容を確認したうえで、特定の通信を遮断できます。そのため、WAFによりWebアプリケーションの脆弱性を狙った攻撃を防げるでしょう。なお、攻撃の起点となり得る脆弱性を排除するため、ソフトウェアやOSのバージョンを最新に保つことも重要です。
IDS、IPSはリアルタイムでトラフィックを解析します。不正アクセスなどの異常な通信が発生すると、IDSは検知してすぐに管理者へ通知しますが、その通信を遮断することはできません。IPSは不正な通信を検知すると遮断でき、社内ネットワークを守ります。
また、サイバー攻撃のリスク軽減には、踏み台サーバーの活用も有効です。踏み台サーバーは、目的となるサーバーに接続する際に中継されます。サーバーへアクセスする際に踏み台サーバーの経由が必須となるように設定し、かつ関係者を除いて踏み台サーバーにアクセスできないように制限や認証をかけることでセキュリティが担保され、不正アクセスのリスクを削減します。
サーバーがダウンした際の対応
これらの対策をとっていても、サーバーがダウンする事態が生じてしまうかもしれません。その場合は、サーバーダウンが実際に起きているかを確認したうえで、迅速に担当者へ連絡しましょう。また、ダウンの原因に応じて適切な対応を行う必要があります。
サーバーダウンが実際に発生しているかを確認
各種サービス・システムの利用やWebサイトの閲覧などができなくなった際は、まずその原因がサーバーダウンであるかを確認しましょう。サーバーではなくネットワークなどの外部に問題が起きているケースも考えられるため、障害の切り分けが必要です。
サーバー監視ツールを利用している場合は、アラートや通知によりダウンを迅速に検知しやすくなります。また、マップ上でサーバーの監視結果を可視化できる機能を用いることで、どのサーバーがダウンしているかを一目で把握できます。
担当者へ連絡
自社で保有しているサーバーがダウンした場合は、社内のサーバー担当者に速やかに報告する必要があります。レンタルサーバーがダウンした際は、管理会社が復旧に向けて対応するため管理会社へ連絡しましょう。どちらの場合においても、サーバーが復旧するまでの見込時間を把握することが重要です。サーバーを通じてサービスを提供している場合は、利用者に対して適切なタイミングで見込時間についても案内しましょう。
アクセス集中の場合
サーバーへのアクセスが集中した場合は、可能であればスケールアウトを行いましょう。スケールアウトとは、サーバーの台数を増やして複数台のサーバーで分散して処理することです。これによりサーバー1台当たりの負荷が軽減され、ダウンの防止につながります。
ただし、いつもすぐに追加のサーバーを用意できるとは限りません。その際はアクセスを制限してサーバーへの負荷を抑えましょう。
サイバー攻撃の場合
サイバー攻撃が原因のケースでは、ファイアウォールによるアクセス制御や、ログの監視などが効果的です。
攻撃元のIPアドレスを特定できれば、ファイアウォールでそのIPアドレスからのアクセスをブロックできます。特定の国・地域からの通信を拒否することも可能です。
サーバーのログ監視を行っていれば、アクセスログを確認することで不正アクセスなどを検出できます。原因が不明なサーバーダウンが起きた場合でも、ログの分析により原因を解明できる可能性があります。
ハードウェアが故障した場合
ハードウェアが故障してサーバーダウンが起きると、部品の交換などの修理対応が必要になります。事前にサーバーの予備機を用意しておくと、修理が終わるまで予備機を活用できます。また、修理の際に故障直前の状態に復旧するため、データや設定に関して定期的にバックアップをとりましょう。加えて、修理後はスムーズに配線などを整備できるように構成も把握することが重要です。なお、レプリケーションを行っていれば、ダウンタイムをはさまずに素早く復旧できます。
監視ツール「OpManager」によりサーバーダウンを防止・迅速に把握
サーバーダウンの原因は様々であり、それぞれの原因にあった対策をとる必要があります。サーバーの状況を迅速かつ網羅的に把握するには監視ツールの活用が有効です。ネットワーク・サーバー監視ツール「OpManager」はサーバーダウンの防止や迅速な検知に役立ちます。
OpManagerでは各サーバーの状況を監視でき、CPU使用率、ディスクI/O、メモリー使用率などを把握できます。
加えて、受信・送信別トラフィックなどの各インターフェースの詳細を確認できます。
注意・警告・重大の3段階でしきい値を設定でき、障害が起きる前にアラートを発して異常を検知可能です。
アラートは一覧画面のほかメールなどでも確認することができます。
また、マップからサーバーを含む機器の状態を一目で把握できます。管理対象の機器について、クリア(問題なし)・注意・警告・重大別に色分けします。
さらに、OpManagerではプロセス監視も可能です。監視対象のサーバーで動作するプロセスの稼働状況を監視し、アプリケーションが正常に動いているかを判断できます。各プロセスのCPUやメモリーの使用率、インスタンス数などを一覧で把握可能です。
OpManagerの機能や特徴についてさらに知りたい方は、ぜひ製品概要資料をご覧ください。また、登録不要で操作できる体験サイトもご用意していますので、ぜひご活用ください。
インストール不要で操作できる体験サイト
ManageEngineのネットワーク監視ツール「OpManager」では、ツールの使用感を確認できるGUIベースのサイトを提供しております。制限はありますが、実際に操作いただくことも可能です。
インストールや設定は一切必要ないので、お気軽にお試しください。
関連するおすすめページ
- サーバーの死活監視とは?実施方法と注意点を徹底解説
- ネットワーク監視とサーバー監視の違いをイラスト付で解説
- サーバー運用監視とは?概要から手軽に実施する方法まで解説
- プロセス監視とは?SNMPで簡単に実現する方法
なお、アプリケーション性能管理ツール「Applications Manager」では、データベースクエリのパフォーマンスをはじめ、各種サーバーのより詳細な情報を監視できます。OpManager上で、プラグインとしてApplications Managerの機能を使用することも可能です。
Applications Managerの機能や特徴についてさらに知りたい方は、ぜひ製品概要資料や下記の体験サイトをご活用ください。
インストール不要な体験サイト
ManageEngineのアプリケーション性能監視ツール「Applications Manager」では、ツールの使用感を確認できるGUIベースのサイトを提供しております。制限はありますが、実際に操作いただくことも可能です。
インストールや設定は一切必要ないので、お気軽にお試しください。