こんにちは、Tomです。
クラウド上で運用しているWebサイトに、突然アクセスできなくなったとします。
このとき、誰が原因を調査し、誰が復旧作業を行うのか考えたことはありますか?
- さくらのクラウド(クラウドベンダー)に連絡すれば、すべて対応してもらえる
- MSPサービスを契約していれば、クライアント側では何もしなくてよい
- サーバで起きた問題は、すべてクラウドベンダーの責任である
このように考えてしまうことがありますが、実際には、障害が発生した場所や契約内容によって対応する組織が異なります。
そこで重要になるのが、責任分界点です。
本記事では、次の3者に分けて、障害発生時の責任範囲を解説します。
- さくらのクラウドなどのクラウドベンダー
- サーバの監視・運用を担当するMSP
- クラウドサービスを利用するクライアント
責任分界点とは
責任分界点とは、システムを構成するそれぞれの範囲について、誰が管理し、問題が発生した場合に誰が対応するのかを区切る境界です。
クラウドサービスでは、物理サーバからアプリケーションまでを一つの会社がすべて管理するわけではありません。
例えば、一般的なIaaS環境は、次のような複数の層で構成されています。
- データセンターの電源や空調
- 物理サーバやストレージ
- 仮想化基盤
- 仮想サーバ
- OS
- Webサービスやデータベースなどのミドルウェア
- Webサイトや業務アプリケーション
- アプリケーションで利用するデータ
このうち、どこまでをクラウドベンダーが管理し、どこからを利用者側が管理するのかを明確にしたものが、クラウドにおける責任分界点です。
さくらのクラウドの公式な責任範囲では、物理設備や仮想化基盤などをさくらインターネットが担当し、OS、ミドルウェア、アプリケーション、業務データなどは利用者側の責任範囲とされています。
ただし、MSPサービスを利用している場合は、利用者側の責任範囲の一部をMSPが代わりに運用します。
そのため、実際の運用では、責任範囲を次の3者に分けて考えると分かりやすくなります。
1.さくらのクラウドの責任範囲
さくらのクラウドは、仮想サーバを動かすためのクラウド基盤を提供します。
主な責任範囲は次のとおりです。
- データセンターの電源、空調、ラック
- 物理サーバ
- 物理ストレージ
- クラウド側のネットワーク機器
- ハイパーバイザーなどの仮想化基盤
- クラウドのコントロールパネルやAPI
- クラウドベンダーが管理する設備の障害復旧
例えば、仮想サーバが収容されている物理ホストに障害が発生した場合や、クラウド基盤側のネットワーク機器に障害が発生した場合は、さくらのクラウド側の責任範囲となります。
さくらのクラウドでは、クラウド基盤を24時間監視し、基盤障害を検知した場合には復旧対応を行うと案内しています。
一方で、仮想サーバの中にインストールされたOSやWebサーバ、データベース、アプリケーションについては、原則としてクラウドベンダーの管理対象ではありません。
つまり、仮想サーバを動かす土台はクラウドベンダーが管理しますが、その上で何を動かし、どのように設定するかは利用者側が管理するという考え方です。
2.MSPサービスの責任範囲
MSPは「Managed Service Provider」の略称で、サーバやネットワークの監視・運用を利用者に代わって行う事業者です。弊社もMSPをメイン事業として活動しております。
MSPが担当する範囲は契約によって異なりますが、一般的には次のような業務が含まれます。
- サーバやWebサイトの監視
- 障害検知時の一次調査
- OSやミドルウェアのログ調査
- Webサーバやデータベースの再起動
- CPU、メモリ、ディスク使用量の確認
- クラウドベンダーへの問い合わせ
- 障害状況や復旧状況の報告
- バックアップやセキュリティアップデートの運用
MSPの重要な役割は、単にサーバを操作することだけではありません。
障害が発生した際に、問題が次のどの範囲にあるのかを切り分けます。
- クラウド基盤の問題
- OSやミドルウェアの問題
- アプリケーションの問題
- クライアント側ネットワークの問題
クラウド基盤に問題がある可能性が高い場合は、MSPからクラウドベンダーへ問い合わせを行います。
OSやWebサーバなどに原因がある場合は、MSPの契約範囲に応じて、設定確認や復旧作業を実施します。
ただし、MSPを利用していても、あらゆる障害対応が自動的に契約範囲に含まれるわけではありません。
例えば、次のような作業は、別途契約やクライアントの承認が必要になる場合があります。
- アプリケーションのソースコード修正
- データベース内の業務データ修正
- サーバ構成の大幅な変更
- バックアップからのデータ復元
- 利用料金が増加するリソース追加
- サービス停止を伴う作業
そのため、MSPを利用する際は、監視対象だけでなく、障害発生後にどこまで調査・復旧してもらえるのかを確認しておくことが重要です。
3.クライアントの責任範囲
クライアントは、クラウド環境やMSPサービスを利用して、実際の業務やサービスを運営する立場です。
MSPに運用を委託している場合でも、クライアント側には次のような役割が残ります。
- システムの利用目的や要件を決める
- アプリケーションの仕様を管理する
- 業務データの内容や正当性を管理する
- 障害時の業務上の優先順位を決める
- サービス停止を伴う作業を承認する
- データ復元の実施や復元時点を判断する
- システム変更に必要な予算を承認する
- アプリケーション開発会社などの関係者と調整する
例えば、データベースのバックアップが存在していたとしても、どの時点のデータへ戻すかは、技術担当者だけでは判断できないことがあります。
1時間前の状態に戻せばサービスは復旧するものの、直近1時間に登録された注文データが失われる可能性がある場合、復元を実施するかどうかは業務上の判断になります。
このような判断は、MSPやクラウドベンダーではなく、原則としてクライアントが行います。
クライアントはすべての技術作業を自ら行う必要はありませんが、事業上の判断と最終的な意思決定を行う責任を持っています。
障害事例:Webサイトにアクセスできない
ここからは、Webサイトにアクセスできなくなった場合を例に、3者がどのように対応するかを見てみましょう。
1.MSP業者が異常を検知する
MSPの監視システムが、Webサイトへアクセスできない状態を検知します。
MSPは、次のような情報を確認します。
- 仮想サーバが起動しているか
- サーバへネットワーク接続できるか
- CPUやメモリが高負荷になっていないか
- ディスク容量が不足していないか
- Webサーバのプロセスが動作しているか
- OSやアプリケーションのログに異常がないか
- クラウドベンダーから障害情報が発表されていないか
さくらのクラウドでも、サーバへ接続できない場合には、クラウド側の障害情報だけでなく、OSのログ、ディスク容量、プロセス、ネットワーク設定などを確認するよう案内しています。
2.障害の発生箇所を切り分ける
調査の結果によって、その後の対応者が変わります。
クラウド基盤に原因がある場合
物理ホストやクラウドネットワークに障害が発生している場合は、さくらのクラウドが復旧対応を行います。
MSPは、次の対応を行います。
- 障害情報を確認する
- 必要に応じてさくらのクラウドへ問い合わせる
- クライアントへ状況を報告する
- 基盤復旧後に仮想サーバやWebサイトの状態を確認する
この場合、クラウド基盤そのものを修理・復旧するのはクラウドベンダーです。
MSPは、クラウドベンダーとクライアントの間に立ち、情報収集、問い合わせ、復旧確認を行います。
OSやWebサーバに原因がある場合
仮想サーバは起動しているものの、Webサーバのプロセスが停止していた場合は、クラウド基盤ではなく、OSやミドルウェア側の問題です。
契約範囲に含まれていれば、MSPが次のような対応を行います。
- ログの確認
- Webサーバ停止原因の調査
- Webサーバの再起動
- 設定ファイルの確認
- 復旧後のWebサイト表示確認
- クライアントへの報告
この場合、さくらのクラウドへ問い合わせても、Webサーバの設定変更やプロセス再起動までは原則として実施されません。
アプリケーションに原因がある場合
Webサーバやデータベースは正常でも、アプリケーションの不具合によってエラー画面が表示されることがあります。
この場合、MSPはログ調査やサーバ状態の確認を行いますが、プログラムの修正はアプリケーション開発会社の担当となることがあります。
MSPからクライアントへ調査結果を報告し、クライアントが開発会社へ修正を依頼します。
ここでは、次のように役割が分かれます。
- MSP:インフラ側の調査と技術情報の提供
- クライアント:影響範囲の確認と開発会社への依頼
- 開発会社:アプリケーションの修正
障害発生時の役割を表で整理
| 対応内容 | さくらのクラウド | MSP | クライアント |
|---|---|---|---|
| 物理設備の監視・復旧 | 主担当 | 状況確認 | 報告を受ける |
| 仮想化基盤の障害復旧 | 主担当 | 問い合わせ・復旧確認 | 報告を受ける |
| 仮想サーバの死活監視 | 対象外またはサービスによる | 主担当 | 契約内容を決定 |
| OSのログ調査 | 原則対象外 | 契約範囲内で対応 | 必要な情報を提供 |
| WebサーバやDBの復旧 | 原則対象外 | 契約範囲内で対応 | 重要作業を承認 |
| アプリケーション修正 | 対象外 | 原則対象外または別契約 | 開発会社と調整 |
| 業務データの正当性確認 | 対象外 | 技術面を支援 | 主担当 |
| データ復元の実施判断 | 対象外 | 復元作業を実施 | 復元時点などを決定 |
| 障害状況の取りまとめ | 基盤側の情報を提供 | 主担当 | 報告を受けて事業判断 |
なお、実際の対応範囲は、利用するサービスやMSPとの契約内容によって異なります。
MSPを利用しても責任分界点はなくならない
MSPを利用することで、サーバ監視や障害対応の負担を大きく減らすことができます。
しかし、MSPサービスを契約したからといって、クライアントの責任がすべてMSPへ移るわけではありません。
また、MSPがクラウドベンダーの責任範囲まで自由に操作できるわけでもありません。
それぞれの役割は、次のように整理できます。
- クラウドベンダー
クラウドを動かす基盤を提供し、基盤障害を復旧する - MSP
システムを監視し、障害の切り分け、復旧作業、関係者との連携を行う - クライアント
システムの利用方針を決め、業務上の判断と最終承認を行う
重要なのは、問題が起きてから責任範囲を確認するのではなく、平常時から役割を決めておくことです。
契約前に確認しておきたいポイント
クラウドやMSPサービスを利用する際は、少なくとも次の点を確認しておくことをおすすめします。
- 何を監視してもらえるのか
- 障害発生時に誰へ連絡されるのか
- 一次調査には何が含まれるのか
- プロセスやサーバの再起動を実施してもらえるのか
- 夜間や休日にも対応してもらえるのか
- クラウドベンダーへの問い合わせを代行してもらえるのか
- アプリケーションの調査は含まれるのか
- バックアップ取得と復元作業は含まれるのか
- どの作業からクライアントの承認が必要になるのか
- 障害報告では、どのような情報が提供されるのか
責任分界点を明確にすることは、責任を押し付け合うためではありません。
障害発生時に、適切な担当者がすぐに行動し、復旧までの時間を短縮するために必要な準備です。
まとめ
クラウド環境では、一つのシステムを複数の組織が分担して管理しています。
さくらのクラウドは、物理設備や仮想化基盤など、クラウドを動かす土台を管理します。
MSPは、サーバやサービスを監視し、障害の原因を切り分け、契約範囲内で復旧対応を行います。
クライアントは、システムの利用方針や業務データを管理し、サービス停止やデータ復元などの重要な判断を行います。
障害発生時に「誰が対応するのか分からない」という状況を避けるためには、クラウドベンダー、MSP、クライアントの責任分界点をあらかじめ明確にしておくことが重要です。