HA( High Availability )とは?安全なシステム運用を実現するための技術・構成を徹底解説!
- Cloud
- HA
- HA 構成
- 可用性
HA という単語をご存知でしょうか? High Availability の略であり、システムなどの可用性が高いことを意味する言葉です。企業がシステムを利用する上で、可用性はとても大切な要素の一つです。
本記事では、 HA とは何か?という基礎的な内容から、システムにおいて重要視される HA 構成や具体的な構成例まで、あらゆる観点から一挙にご紹介します。
目次
HA とは?
HA は High Availability の略語であり、システムの可用性が高いことを意味する言葉です。可用性とは、システムに災害や障害などのトラブルが発生した際、停止せずに継続稼働できることを指す指標です。
また、可用性に似た言葉として「信頼性」が挙げられます。システムの信頼性とは「そのシステムがどれくらい壊れにくいか?」を示す指標であり、「どれくらい正常なシステム稼働を維持できるか?」を表す可用性とは区別して使われています。
システムにおいて、可用性はとても大切な要素の一つです。仮に、トラブル発生時にシステムが停止した場合、自社の業務もストップしてしまいます。また、エンドユーザー向けにサービスを提供している場合は、ユーザーにもその影響が及び、クレームに発展するリスクがあります。
このように、システムにおける可用性は非常に重要であると言えます。昨今、事業継続計画(BCP)や災害対策(Disaster Recovery)など、企業活動における様々なリスクを最小限に抑えるため、業種や規模を問わずに多くの会社で可用性が大きな注目を集めています。
ただし、一口に「可用性」とは言っても、その種類は多岐にわたります。例えば、システムだけではなく、オンプレミスやクラウドにも可用性という概念が存在します。この点に関しては次章で詳しくご説明します。
事業継続計画(BCP)に関心のある方は以下の記事がオススメです。
可用性の種類
前述の通り、可用性にはいくつかの種類があります。順番に見ていきましょう。
システムの可用性
システムの可用性を考える際に用いられる指標として「稼働率」という考え方があります。これは、特定の期間においてシステムが稼働している割合を意味する言葉であり、稼働率と可用性は比例の関係にあります。例えば、システムが故障した際に、復旧までの時間が長いと稼働率は下がり、可用性も低いと言えます。
ただし、自然災害などの予期せぬリスクが存在する以上、システムの停止を確実に避けることはできません。そのため、重要なシステムでは、実際に利用しているシステムと同じ構成のシステムを予備として用意する「冗長化」と呼ばれる対策が広く講じられています。
オンプレミスの可用性
オンプレミスの可用性を高めるためには、サーバーやストレージ、ネットワークなどのハードウェアを複数用意し、障害発生時に別のハードウェアへ切り替える「 HA クラスター」という構成を組むことが一般的となっています。
これにより、万が一の場合でも障害による影響を最小限に抑えることができます。このハードウェアの切り替えを手動で実施することをスイッチオーバーと呼び、自動で実施することをフェイルオーバーと呼びます。また、ハードウェアだけではなく、インターネットに接続するための回線を冗長化しておくことも重要なポイントです。
クラウドの可用性
クラウドは第三者のサーバーを仮想的に利用するため、自社でハードウェアを冗長化する必要はありません。しかし、クラウドにおいても可用性という考え方は存在します。
クラウドを利用する場合でも、その裏側には物理的なサーバーが必ず存在するため、このサーバーにトラブルが発生すればクラウドサービスは使えなくなります。そして、オンプレミスでは復旧作業を自社で行いますが、クラウドは他社のサーバーを利用しているため、サービス提供元の復旧作業を待つしかありません。
また、一口にクラウドと言っても、その機能や可用性はサービスごとに異なります。そのため、導入前に SLA ( Service Level Agreement :サービス品質保証)などを確認しておくことが大切です。万が一の場合でも自社の業務に支障が出ないよう、複数のクラウドサービスを比較検討して、安心できるものを選ぶと良いでしょう。
HA 構成とは?
概要
HA や可用性について語る場合、文脈の中に「 HA 構成」という言葉が多く登場します。 HA 構成とはその名前の通り、 HA を実現できるシステム構成のことです。つまり、災害や障害などが発生しても、停止することなく稼働し続けることができる構成を HA 構成と呼んでいます。
ここで、前述した「稼働し続ける」という部分について考えてみましょう。例えば、システムの裏側で何かしらのトラブルが発生している場合でも、ユーザー目線で通常どおりにシステムを利用できる状態であれば、それは可用性が保たれている、と言えます。
そのため、 HA 構成においては、障害発生を未然に防ぐ、という観点だけではなく、仮に障害などが発生した場合でも、システムを継続的に稼働させるための対策を講じていることが重要になります。
仕組み
HA 構成では、複数のサーバーを利用してシステムを稼働させます。仮に1台のサーバーのみでシステムを構成した場合、そのサーバーに障害が発生したらシステムは停止してしまいますが、複数サーバーで構成されていれば、別のサーバーに処理を引き継ぐことができます。これにより、システムの可用性を担保するのが HA 構成の基本的な考え方です。
また、障害そのものの発生を防ぐという観点でも、複数サーバーによるシステムは効果的だと言えます。複数のサーバーに処理を分散することで、急激なアクセス増加などによるサーバーダウンを避けることができます。
クラスタリング
前述した、複数サーバーでシステムを構成するための代表的な技術として、クラスタリングが挙げられます。これは複数のコンピューターをインターネット回線で接続し、1つの大きなコンピューターのように利用するための技術です。
このクラスタリングは HA 構成に限らず、システムを拡張する際にも用いられる技術となっており、 HPC クラスタや HA クラスタなど、複数の種類が存在します。 HPC クラスタはシステム性能を向上させるためのクラスタシステムであり、 HA クラスタは可用性を向上させるためのクラスタシステムです。
クラスタの種類は多岐にわたるため、自社の目的や実現したいことに応じて、最適なものを選択することが重要です。
HA (可用性)を高めるための方法
ハードウェアの冗長化
システムの HA (可用性)を高める上でハードウェアの冗長化は有効な手段になります。冗長化とは、メインで利用するハードウェアとは別にサブのハードウェアを用意しておき、想定外のトラブルなどに備えるための手法です。仮にメインで使っているハードウェアに故障や不具合が起きたとしても、緊急時には冗長化で用意したサブのハードウェアを利用することで、システムを止めることなく継続稼働させることができます。
複数リージョン・複数ゾーンの利用
リージョンとゾーンはクラウドを語る上で欠かせない存在であると言えます。リージョンとは「データセンターが設置されているエリア」を指す言葉であり、ゾーンは「リージョンをさらに細分化して分割した単位」を意味しています。
先程、冗長化に関してご説明をしましたが、仮に冗長化をしていた場合でもデータセンター自体が機能しなくなればシステムはストップしてしまいます。しかし、複数のリージョンやゾーンを組み合わせてシステムを構築することで、システム稼働における HA (可用性)を高めることができます。
リージョンとゾーンについて詳しく知りたい方は以下の記事がオススメです。
【クラウドの必須知識】「リージョン」と「ゾーン」の違いや選ぶときのポイントを徹底解説!
単一障害点のないシステム設計
単一障害点とは、システム構成の中で「その箇所に障害が発生するとシステム全体の稼働が停止してしまうポイント」を意味する言葉です。単一障害点が存在するシステムは稼働停止のリスクが高まるため、設計段階から単一障害点を作らないように注意することで、 HA (可用性)の高いシステムを構築可能になります。
代表的な HA 構成の例
HA 構成には、具体的にどのようなものがあるのでしょうか。代表的な構成例をいくつかご紹介します。
コールドスタンバイ
コールドスタンバイとは、メインで稼働しているサーバーとは別に、電源をオフにした状態のサーバーを予備として待機させておく構成です。メインサーバーに障害などが発生した場合、予備サーバーに切り替えることでシステムの可用性を担保します。
コールドスタンバイはシンプルな構成なので、運用工数を小さく抑えることができます。また、予備サーバーの電源はオフの状態で待機しているため、コスト削減にも直結します。ただし、電源オフの状態だからこそ、切り替え時のリードタイムが長くなってしまう点はデメリットだと言えるでしょう。
ホットスタンバイ
ホットスタンバイでは、コールドスタンバイと同じように予備サーバーを用意します。ただし、ホットスタンバイでは予備サーバーの電源をオフにせず、常に電源を入れた状態で待機させておきます。そのため、コールドスタンバイの場合と比較して、メリット・デメリットが逆になります。
メインサーバーに異常が認められた場合、予備サーバーへスムーズに切り替えることができるため、コールドスタンバイよりも可用性は高くなります。その一方で、ホットスタンバイは構成が複雑になる傾向があり、運用コストも高いので、運用工数やコストを極力抑えたい企業にとっては不向きだと言えます。
負荷分散
負荷分散とは、サーバーへの負荷を分散させることで可用性を高める構成です。同様の処理を実行できるサーバーを複数用意し、すべてのサーバーが常時処理を行える状態にしておきます。
これにより、不足の事態が生じた場合でも、複数のサーバーに負荷を分散することで、サーバーダウンを防ぐことができます。常に複数のサーバーが稼働しているため、切り替え作業は必要なく、コールドスタンバイやホットスタンバイよりも可用性の高い構成になります。
DR ( Disaster Recovery )
DR とは、災害発生時にシステムの可用性を担保するための構成であり、日本語では災対構成と呼ばれることもあります。メインで利用するデータセンターから離れた場所に冗長用のシステムを用意し、万が一の場合はそのシステムに切り替えることで可用性を担保します。
まとめ
本記事では、 HA とは何か?という基礎的な内容から、システムにおいて重要視される HA 構成や具体的な構成例まで、あらゆる観点から一挙にご紹介しました。
自社システムを安定的に稼働させる上で、 HA はとても重要なポイントになります。可用性の高い構成を用意しておくことで、万が一の場合でもシステムが停止することなく、ビジネスを継続することができます。
最近では、クラウドサービスの利用が主流になっていますが、クラウドはサービスごとに機能や可用性が異なるため、安全性の高いサービスを選択することが大切です。複数サービスを比較検討して、安心して使えるものを慎重に選んでください。
市場には多くのクラウドサービスが存在しますが、安全な環境でクラウドを使いたいのであれば Google Cloud (GCP)がオススメです。
Google Cloud (GCP)は Google の強固なインフラをバックボーンとしており、とても可用性の高いサービスであるため、安心して実業務に利用できます。また、 Google Cloud (GCP)には数多くのセキュリティ対策機能が搭載されているため、自社のセキュリティ強化をあらゆる観点から一気通貫で行うことができます。
本記事を参考にして、ぜひ Google Cloud (GCP)の導入を検討してみてはいかがでしょうか。
弊社トップゲートでは、Google Cloud (GCP) 利用料3%OFFや支払代行手数料無料、請求書払い可能などGoogle Cloud (GCP)をお得に便利に利用できます。さらに専門的な知見を活かし、
- Google Cloud (GCP)支払い代行
- システム構築からアプリケーション開発
- Google Cloud (GCP)運用サポート
- Google Cloud (GCP)に関する技術サポート、コンサルティング
など幅広くあなたのビジネスを加速させるためにサポートをワンストップで対応することが可能です。
Google Workspace(旧G Suite)に関しても、実績に裏付けられた技術力やさまざまな導入支援実績があります。あなたの状況に最適な利用方法の提案から運用のサポートまでのあなたに寄り添ったサポートを実現します!
Google Cloud (GCP)、またはGoogle Workspace(旧G Suite)の導入をご検討をされている方はお気軽にお問い合わせください。
メール登録者数3万件!TOPGATE MAGAZINE大好評配信中!
Google Cloud(GCP)、Google Workspace(旧G Suite) 、TOPGATEの最新情報が満載!