#コラム

システム運用者必見!可用性を高める方法や意味などについて解説

更新日:
  • システム運用をする上で欠かせない指標の一つが、可用性です。可用性とは、システムが安定的に稼働し続けられる能力のことです。ネットワークトラブルの原因は多岐に渡るため、それらを完全に排除することは難しいかもしれません。

    しかし、トラブルが発生しても、事前に対策をしておくことでシステムが完全にストップしてしまうことを避けることが可能になります。
    本記事ではシステムの可用性を高める方法について解説します。

  • 可用性とは

    可用性とは、一つのシステムが停止することなく稼働し続ける能力のことで、「アベイラビリティー」と呼ばれることもあります。可用性とは「稼働率(%)」で表すことができ、あるシステムを10時間稼働した際に、実稼働が6時間、残りの4時間停止となった場合、稼働率を60%と表すことが可能です。

    可用性は、クラウドサービスやネットワークサービス、レンタルサーバーなどでサービス品質を判断する一つの指標として使われることが一般的です。そのため、可用性が高いシステム=システムが停止することなく安定的に使用できるといえます。

  • 信頼性と保守性の違い

    可用性に似た意味を持つ言葉として「信頼性」「保守性」の2つが挙げられます。

    まず信頼性とは、システムの壊れにくさを評価する指標のこと。
    日々技術のレベルが向上しているとはいえ、システムの不具合を完全にゼロにすることは難しいものです。

    しかし、事前に対策を講じることでシステム障害による性能低下を最小限に留めることは可能です。信頼性は、システムが安定稼働し続ける「平均故障間隔」を指標とし、これが長いほどシステムの信頼性が高くなります。

    保守性とは、システムの性能を維持するための手軽さを評価する指標のこと。
    保守性の評価基準となるのが、サービスの停止時間です。システム障害や定期メンテナンスによってシステムが停止した場合であっても、保守性が高いシステムであればすぐに復旧することができます。

  • 可用性を高める方法

    システムの可用性を高める手段の中で代表的な方法が、単一障害点を作らないようにしたり、ハードウェアの冗長化を行ったりすることです。
    ここでは、下記の3つに分けて、可用性を高める方法を詳しく解説します。

    ・ハードウェアを冗長化する
    ・複数のリージョンやゾーンを利用する
    ・単一障害点を作らないようにシステムを設計する

    ハードウェアを冗長化する

    冗長化とは、システム構成の予備を配置し、多重化すること。あらかじめ予備のサーバーを組んでシステムを構築することで、メイン系統で何らかの障害が発生した場合であっても、予備系統での稼働が可能です。

    冗長化の方法として「アクティブ・スタンバイ構成」「アクティブ・アクティブ構成」の2つが挙げられます。以下でそれぞれの詳細をご説明します。

    アクティブ・スタンバイ構成

    アクティブ・スタンバイ構成とは、同一のシステムを2つ以上用意し、一つを稼働系、それ以外を待機系として運用する仕組みのことです。稼働系にシステム障害が発生した場合であっても、待機系に切り替えることで処理を引き継ぐことができます。

    アクティブ・スタンバイ構成は切り替えやデータ同期に時間を要することもありますが、構造が簡単で運用コストを安く済ませられるといった理由から、多くのシステムで採用されているのです。

    アクティブ・アクティブ構成

    アクティブ・アクティブ構成とは、同一のシステムを2つ以上用意し、それらを常時運用する仕組みのことです。平常時はシステム処理で発生する負荷を複数のシステムに分散し、トラブルの発生リスクを抑えています。
    いずれかのシステムでトラブルが発生した場合、稼働している他のシステムで処理を続けることが可能です。

    複数のリージョンやゾーンを利用する

    クラウドサービスを運用する上で知っておきたい概念の一つに、「リージョン」と「ゾーン」があります。リージョンとはデータセンターを設置している独立したエリアを指す言葉で、ゾーンとは一つのリージョンの中をさらに分割したエリアのことです。

    システム本体のサーバーを冗長化していても、データセンターが停止するとシステム全体が機能しなくなってしまいます。あらかじめ複数のリージョンやゾーンを組み合わせてシステムを構築することで、システム全体の冗長化につなげることが可能です。

    単一障害点を作らないようにシステムを設計する

    単一障害点とは、システムを構成している要素のうち、一箇所が停止するとシステム全体が停止してしまうポイントのことです。冗長化が強いシステムを構築するためには、単一障害点を作らないようにシステムを設計することが重要に。

    先ほどご紹介した「アクティブ・スタンバイ構成」「アクティブ・アクティブ構成」のように、メイン系統でトラブルが発生した場合であっても、自動で切り替えられるようなシステムを組むことをおすすめします。

  • 冗長化する方法はオンプレミス型とクラウド型によって異なる

    冗長化を行う目的は、システムの可用性を高めることです。システムが停止すると日常業務に影響が出るだけではなく、場合によっては取引先に迷惑をかけてしまうことも。ここでは、システムを冗長化する方法についてオンプレミス型とクラウド型に分けてご紹介します。

    オンプレミス型の場合

    オンプレミス型とは、サーバーやソフトウェアといったシステムを利用者が管理する設備内に設置して運用する仕組みのことです。利用者がシステムを管理する必要があるため、運用コストがかかりますが、自社内でシステム構築を行う分、自由にカスタマイズできるメリットがあります。

    オンプレミス型のシステムを冗長化する場合、「アクティブ・スタンバイ構成」「アクティブ・アクティブ構成」のいずれかを選択することが一般的です。

    クラウド型の場合

    クラウド型とは、利用者がサーバーを持たなくてもインターネット上で必要に応じてサービスを利用できる仕組みのことです。クラウド型のシステムを利用している場合、自社で運用やメンテナンスを行うことは基本的にできません。

    冗長化のオプションサービスなどがある場合、これらを積極的に利用することで有事に備えることが可能です。

  • システムを停止することなく使い続けるためには可用性を高くする必要がある

    今回はシステムを円滑に運用する上で欠かせない、可用性についてご紹介しました。可用性が高いシステムは、トラブル発生時にシステム全体がストップしてしまうリスクを抑えることが可能です。

    可用性を高める手段として、複数のサーバーを組んで冗長化する方法や複数のリージョン、ゾーンを利用する方法などが挙げられます。安定的にシステムを利用するために、今回ご紹介した内容を参考に、あらかじめシステムの可用性を高めておくようにしましょう。