インフラでいう可用性とは?初心者向けに意味や重要性、高可用性(HA)との違いをわかりやすく解説
結論
インフラでいう可用性(Availability)とは、システムやサービスを利用したいときに、いつでも正常に利用できる状態を維持する能力のことです。
企業のシステムでは「止まらないこと」が非常に重要です。そのため、冗長化や負荷分散、レプリケーションなどの技術を組み合わせて可用性を高めています。
可用性とは?
可用性とは、システムが必要なときに正常に稼働し、利用者がサービスを継続して利用できる状態を表す指標です。
例えば、社内のファイルサーバーが24時間利用できる状態であれば、可用性が高いといえます。一方、頻繁に停止したり、障害で利用できない時間が長かったりするシステムは可用性が低いと判断されます。
どんな場面で使われる?
可用性は、ほぼすべてのITシステムで重要視されています。
| 利用場面 | 可用性が求められる理由 |
|---|---|
| Webサイト | 24時間サービスを提供するため |
| ECサイト | 売上機会を失わないため |
| 社内システム | 業務を止めないため |
| 金融システム | 取引を継続するため |
| クラウドサービス | 利用者へ安定したサービスを提供するため |
なぜ重要なのか
システムが停止すると、業務の中断や売上の減少、顧客からの信頼低下などにつながります。
そのため、多くの企業ではシステム停止時間をできるだけ短くするために、可用性を重視したシステム設計を行っています。
高可用性(HA)とは?
高可用性(High Availability:HA)とは、障害が発生してもサービスを継続できるように設計されたシステムのことです。
例えば、サーバーを2台以上用意し、1台が故障しても自動で予備サーバーへ切り替える仕組みは、高可用性を実現する代表的な方法です。
可用性を高める主な技術
| 技術 | 役割 |
|---|---|
| 冗長化 | 予備機を用意して障害に備える |
| 負荷分散 | アクセスを複数サーバーへ分散する |
| フェールオーバー | 障害時に予備機へ切り替える |
| レプリケーション | データを複製する |
| バックアップ | データを復元できるように保存する |
| オートスケーリング | アクセス数に応じてサーバーを増減する |
これらの技術を組み合わせることで、高い可用性を実現できます。
可用性と信頼性の違い
| 項目 | 可用性 | 信頼性 |
|---|---|---|
| 意味 | 利用したいときに使えること | 故障しにくいこと |
| 重視する点 | サービス継続 | 故障の少なさ |
| 例 | 障害時もサービスを提供できる | そもそも障害が発生しにくい |
故障しにくいシステムは信頼性が高いといえますが、万が一故障してもすぐ復旧できる仕組みがある場合は、可用性も高くなります。
実際のIT現場での利用例
Webシステム
ロードバランサーで複数のWebサーバーへアクセスを分散し、1台が停止しても他のサーバーでサービスを継続します。
Windows Server
Windows Server Failover Clusterを利用し、障害発生時に別サーバーへ自動で切り替えます。
クラウド環境
AWSやAzureでは、複数のアベイラビリティゾーン(AZ)へシステムを配置し、障害時の影響を最小限に抑えます。
業務でよくあるトラブル例
システムが停止して利用できない
主な原因
- サーバー障害
- ネットワーク障害
- ストレージ障害
- 電源障害
- ソフトウェア障害
冗長化しているのに停止した
主な原因
- フェールオーバー失敗
- ロードバランサー障害
- 共有ストレージ障害
- 設定ミス
障害発生時の確認する順番
- 利用者への影響範囲を確認する
- サーバーの状態を確認する
- ネットワーク通信を確認する
- ロードバランサーやクラスタの状態を確認する
- イベントログを確認する
- フェールオーバーが実行されたか確認する
障害対応では、システム全体を確認し、どこで障害が発生しているのかを切り分けることが重要です。
GUIでの確認方法
Windows環境では、次のツールを利用して状況を確認できます。
- サーバーマネージャー
- フェールオーバークラスターマネージャー
- イベントビューアー
- パフォーマンスモニター
クラウド環境では、各クラウドサービスの管理コンソールから稼働状況やアラートを確認できます。
CUI(コマンド)での確認方法
環境に応じて、次のようなコマンドが利用されます。
- ping(通信確認)
- tracert(通信経路確認)
- ipconfig(ネットワーク設定確認)
- Get-Cluster(クラスタ状態確認)
- Get-ClusterNode(ノード状態確認)
Linuxでは、systemctl、journalctl、topなどを利用してサービスやシステムの状態を確認します。
確認結果の見方
- サーバーが正常に稼働しているか
- クラスタやロードバランサーに異常がないか
- イベントログにエラーがないか
- ネットワーク通信が正常か
- サービス停止時間がどれくらい発生したか
原因の切り分け
| 確認項目 | 確認内容 |
|---|---|
| サーバー | OSやサービスは正常か |
| ネットワーク | 通信障害はないか |
| ストレージ | ディスク障害はないか |
| クラスタ | フェールオーバーは正常か |
| アプリケーション | エラーや異常終了はないか |
初心者がやりがちなミス
- 可用性と信頼性を同じ意味だと思う
- 冗長化だけで可用性が確保できると思う
- バックアップだけで十分だと考える
- 障害発生時にログを確認しない
- システム全体ではなく1台だけを調査する
上司へ報告するポイント
- 障害発生日時
- 影響範囲
- 停止時間
- 障害原因
- フェールオーバー実施状況
- 実施した確認内容
- 現在の復旧状況
エスカレーションするタイミング
- サービス停止が継続している
- フェールオーバーが失敗した
- 複数サーバーで障害が発生している
- データ損失の可能性がある
- 原因が特定できない
応用知識
可用性は「99.9%」「99.99%」「99.999%(ファイブナイン)」のように稼働率で表現されることがあります。例えば、年間の稼働率が99.9%の場合、約8時間45分の停止が許容されます。一方、99.99%では約53分、99.999%では約5分程度しか停止できません。そのため、高い可用性を求めるシステムほど、冗長化や監視、自動復旧などの仕組みが重要になります。
関連するIT用語
- 高可用性(HA)
- 冗長化
- フェールオーバー
- 負荷分散
- レプリケーション
- バックアップ
- 信頼性(Reliability)
- 保守性(Maintainability)
- オートスケーリング
よくある質問(FAQ)
可用性とは簡単に言うと何ですか?
利用者が必要なときにシステムやサービスを正常に利用できる状態を維持する能力のことです。
高可用性(HA)とは何ですか?
障害が発生してもサービスを継続できるように設計されたシステムや構成を指します。冗長化やフェールオーバーなどの技術が利用されます。
可用性と信頼性の違いは何ですか?
可用性は「利用できる状態を維持すること」、信頼性は「故障しにくいこと」を意味します。故障が発生しても素早く復旧できれば、可用性を高く保つことができます。
可用性を高めるには何をすればよいですか?
冗長化、負荷分散、フェールオーバー、レプリケーション、監視、自動復旧、定期的なバックアップなどを組み合わせて運用することが重要です。
まとめ
可用性とは、システムやサービスを必要なときに利用できる状態を維持する能力です。企業のシステムでは業務停止を防ぐために、高可用性(HA)を意識した設計が行われています。
また、「冗長化で予備機を用意する」「フェールオーバーで自動切り替えを行う」「負荷分散でアクセスを分散する」「レプリケーションでデータを複製する」といった技術を組み合わせることで、可用性を高められます。インフラエンジニアにとっては、「システムを止めないための考え方」が可用性であると理解しておくことが重要です。

コメント