orangeitems’s diary

クラウドで働くインフラエンジニアの日々の感想です(ほぼ毎日更新)。

ホスティングサービスでのトラブルを考えてみる

f:id:orangeitems:20191225112002j:plain

 

ホスティングサービスでのトラブル

サーバーのホスティングサービスを提供することについて、事業者側の大変さは経験上分かっています。

分かったうえで、この文書のことを考えてみます。

 

qiita.com

さくらで専用サーバーを10年ほど利用しています。
単体のハードを利用するもので、外部からの操作はsshでログインすることしかできないものです。
作業時間を必死に捻出して、こつこつと長期間システムを開発して何とか動作するものを作り上げていました。
さくらのレンタルサーバーを利用することは、ほんとうに危険で怖いことだとおもいます。
自分が体験したトラブルをレンタルサーバーの利用を検討している方々に共有させていただきたく初めて記事を書いてみました。

 

この文書がノンフィクションかどうかはわからないですが、ホスティングサービスには契約があり契約書があります。この状況について契約的にはどういうことが言えるかを考えてみたくなりました。

ユーザー側にもベンダー側にも立つつもりはなく、ただただ契約書をながめてみたいのです。

 

考察

「さくらの専用サーバー」の契約書は以下に置いてあります。

 

f:id:orangeitems:20191225101239p:plain

https://server.sakura.ad.jp/payment/

 

契約書を読まないで契約することは良くあることだと思います。Apple MusicだAmazon Primeだありますが、あれらもながーい契約書が表示され「同意する」を押しているはずです。見ないで。

でもサーバーホスティングなど仕事が絡むものについては注意深く読んだ方がいいと思います。問題が発生したときには確実に契約書がすべてになります。日本人は情意に任せて「けしからん」「倫理的/道義的には」と言いがちですがそれより先だって契約書が先に立ちます。

 

さて、今回の問題で該当するポイントは基本約款の下記部分でしょう。

 

第23条(提供の中断)

1.当社は、次に掲げる事由がある場合は、本サービスの一部または全部の提供を中断することがあります。

i. サーバ設備または電気通信設備等の保守、工事、移設等のため必要である場合

ii. 電気通信事業法第8条の規定に基づき、天災その他の非常事態が発生し、または そのおそれがあるため、公共の利益のため緊急を要する通信を優先させる必要が ある場合

iii. 電気通信事業者等が、電気通信サービスの提供を中断した場合

iv. 日本又は日本以外の国の公権力(公的機関を含みます。以下、「公的機関等」とい います)による命令、処分、要請等があった場合

v. 第三者の行為(不作為を含みます)により当社のサーバ設備または電気通信設備等に支障が生じ、またはそのおそれがある等、当社の業務の遂行に支障が生じると当社が認めた場合

 

2.当社は、前項に基づき本サービスの提供を中断する場合には、各利用者に対して、事前にその旨ならびに理由および期間を通知します。ただし、緊急を要する場合はこの限りではありません。

 

3.当社は、第1項に基づき本サービスの提供を中断する場合、当該中断の目的達成のために必要な範囲で、サーバ設備または電気通信設備等を移設等することができるものとします。

 

4.当社は、第1項に基づき本サービスの提供を中断する場合に当該中断または前項に基づく移設等により各利用者が被った損害について、賠償する責任を負いません。

 

5.当社が第1項に基づき本サービスの提供を中断した場合であっても、利用者は、当該中断期間における本サービスの利用料金を支払うものとします。

 

赤字にした部分が今回のケースを説明してくれているように見えます。

専有サーバーの移設をすることそのものは23の1にはっきり書いてあり、その際は事前通知するとあります。また事業者が移設することができると23の3にあります。

そのうえ23の4に「移設等により各利用者が被った損害について、賠償する責任を負いません。」と記載されています。

結構はっきり書いたな、という印象です。

保守や移設は事業者側の権利だと置いたうえで、それに伴う損害は賠償しない、と。

 

一方、損害賠償については下記の記載があります。

 

第31条(損害賠償の制限)

1.当社の責めに帰すべき事由により、利用者が本サービス(一定の期間継続して提供されるものに限ります)を全く利用できない状態に陥った場合、当社は、当社が当該利用者における利用不能を知った時刻から起算して24時間以上その状態が継続した場合に限り、当該本サービスの基本サービスの利用料金1ヶ月分相当額の30分の1に利用不能の日数を乗じた額(円未満切り捨て)を限度として、利用者の請求により利用者に現実に発生した損害の賠償に応じます。

 

当社の責め、つまり事業者側の責任に帰するのならユーザーに賠償する、とあります。ただし今回は移設と保守に伴うため責任はないよ、というのが事業者側のサポートが繰り返し言っていることだと思います(表現はともかく)。

 

一方で、基本契約には移設や保守の内容を具体的に説明しているものではありません。本文中にはマザーボードの障害による物理的な変更が伴っていました。そのためにハードディスクの区画認識に差異がありOSが起動しなくなったとという事象です。

障害復旧についての記載が基本契約にではなく、専用サーバサービス約款にありました。

 

第9節 障害復旧(以下、本節において「本オプションサービス」といいます)

第23条(作業)

1.本オプションサービスにおける当社の義務は、当社所定の運用手順書に従って作業を行うことに限られるものとし、社が当該障害を解消する等の義務を負うものではありません。

2.前項に規定する運用手順書に従った作業によって対象利用者サーバ設備が復旧しない場合、当社は、利用者に対して状況の報告を電子メールによって行うものとします

 

マザーボード障害については交換する、というのが運用手順なのでしょう。

さて、その後のコンソール作業によって、さらに問題が悪化したくだりですが・・。

 

第12節 コンソール作業(以下、本節において「本オプションサービス」といいます)

第28条(保証)

1.本オプションサービスは、障害原因の特定および障害の復旧の実現をいかなる意味でも何ら保証するものではありません。

2.本オプションサービスにおいて実施された作業により利用者に損害等が発生した場合 であっても、当社はその理由の如何を問わず、一切の責任を負わないものとします。

 

うん、はっきり書いてあります。

 

サーバーホスティングで考えるべき運用設計

今主流の、仮想サーバーを借りる方式(Amazon EC2など)は良くできていると思うんですよね。OS以上を抽象化しているので、物理サーバー(ハードウェア)で何が起こっても事業者側がオンラインで切り離すことができる。でもユーザー側にはわからない。また物理サーバー側の部品が変わったとしても、仮想サーバーの構成は一切変わらない。

これが物理サーバー(今はベアメタルサーバーと呼ばれる傾向にある)は、どうしてもハードウェアとの結びつきは分離できません。ハードウェアの構成が変更された場合は、OSまで影響する可能性がある。

最善策とすれば、物理サーバーで動かしているものについて、データ部分は確実にバックアップを取っておくこと。そして仮にOSが動かなくなった場合は、別の物理サーバーで自力でリカバリーできる準備をしておくことです。

まっさらなOSに、ミドルウェアを導入し、データをリカバリーすれば、復活できるようにする。

したがってDNSやメールサーバーなど、永続的に使いたいサービスについてはそれこそ、仮想サーバーで動かすことをお勧めします。または、SaaS/PaaS型の、サービス提供型のほうが保守は楽です。これもハードウェア保守とは切り離してサービスレベルが担保されます。

物理サーバーのほうが、ハードウェアのリソースをそのまま使えるのでパフォーマンスが良いのは自明です。一方で、ハードウェアの破損によって引きずられて一緒にOSまで破損しやすいのは受け入れてサービスを使った方が良いと思います。

また、VPSについてもコメントしておきます。

物理サーバー上のOSにアカウント権限によって分離して、共用で使わせるサービスです。この形式で激安サービスがたくさんあるのを知っています。

このVPSについては物理サーバーと同じ次元でハードウェアトラブルが発生するのですが、VPS自体を復旧させる過程でベンダーがOSの起動までは責任持ってくれるはずです。というのは、VPSユーザーにはOS設定を変更する権限はないからです。今回で言えば、マザーボード変更でハードディスクの区画変更が行なわれたとしたら、その対応までVPSの保守の一環で実施するでしょう。これはVPSと物理サーバーの大きな違いだと思います。

 

・・・というふうに、まずは利用開始前に契約をよく読むこと。そのうえで、自分の利用方法に基づいて適したサービスを選ぶこと。このあたりがインフラエンジニアの職域なのですが、今もって重要性は変わっていないと思います。