トラブルシューティングの極意―達人に訊く問題解決のヒント

第6回 [クラウド編]振り返り・言語化・体系化―MSP直伝のトラブル対策マニュアル

この記事を読むのに必要な時間:およそ 4 分

最近では自社で物理サーバを管理することがほとんどなくなりました。クラウドサービスやホスティングサービスは便利な一方,利用者からは見えない・わかりづらい点があります。⁠クラウド編]では,前半に初級レベルのトラブルシューティングのキモを,後半ではとくにクラウドやホスティングを利用している場合に発生しがちなややこしいトラブル例を紹介します。

トラシュー事例(初級編)
新人向けチュートリアル

まずは簡単なロールプレイをしてみましょう。このシナリオは弊社の新人研修の卒業試験で実施しているロールプレイとよく似たものです(筆者が勤めるハートビーツは24時間365日の有人監視サービスを提供しています)⁠

あなたはWebサイト制作会社の新人研修を修了し,先月からエンジニアチームに配属されました。

ある日,先輩たちが全員出払って自分1人が留守番しているタイミングで営業さんが駆け寄ってきました。彼曰く「先週納品した◯◯商事さまから,システムが使えないと連絡がきている」とのこと。先輩たちは山奥で合宿中のため2~3日連絡が取れない状態です。営業さんもそのことを知っているので,新人と知りつつあなたのところに助けを求めてきました。

こんなとき,どうすべきでしょうか? 弊社の新人研修ではここからすべて自分で考えて行動する必要がありますが,今回はHowToを含めてシナリオで説明していきます。

① 状況を確認する

まずは今の状況を確認しましょう。重要なのは2点です。

  • 先方が認識している問題とは具体的に何か?
  • 再現方法・発生条件は何か?

そこで,具体的に何が問題なのか,何をどのようにしたら,どうなるべきところがどうなっているのかを確認しましょう。たとえば,⁠サイト(https://portal.example.com/)にログインしたら,パスワードはあっているはずなのにパスワード間違いと表示される。誰が試してもそうなる。」というふうに。

また,営業さんはこのシステム・お客さんについて詳しいはずなので,どのような対処を優先すべきか確認しましょう。具体的には,ユーザへの告知,データの保護,システムの復旧,再発防止のいずれを優先すべきかを確認します。

たとえばユーザ告知を優先すべきであれば,システム復旧よりもメンテナンス画面への切り替えを最優先で実施すべきです。またデータの保護や再発防止を優先すべきであれば「とりあえず再起動」などの対応はしないほうが良いでしょう。

また社内外のドキュメントや納品物を確認し,当該システムのドキュメントを集めましょう。対応を進めるにあたり次の5つの情報が必要になると思います。

  • WebサイトのURL
  • サーバのIPアドレス
  • サーバ構成
  • ログイン方法,アカウント,パスワード
  • 事業者の連絡先,管理画面ログインアカウント,パスワード(クラウドやホスティングの場合)

多くの会社では納品物はファイルサーバなどである程度集約しているでしょうから,そこを探してみましょう。アカウントやパスワードはパスワードマネージャに保管されているかもしれません。ざっと探して見つからない場合は営業さんにも聞いてみるのと,開き直ってお客さんに聞いてみましょう。情報を集めることで次のアクションとして何をすべきかが見えてきます。

② 問題発生個所をおおまかに特定する

情報がそろってきたら問題発生個所を特定しましょう。最初からピンポイントで特定しようとせず,まずは再現させながらおおまかに特定することに注力しましょう。

たとえば「Webサイトがブラウザで表示できない」といった場合は,サーバの問題,DNSの問題,クライアント(接続元)側の問題などいろいろなケースが考えられます。

まずは自分の手元でも問題が再現するか確認しましょう。再現しない場合は接続元の問題の可能性が高いと考えられます。またDNSでの名前解決が実施できているか確認しましょう。名前解決ができない場合,レコード設定誤りのようなDNSの問題やドメイン有効期限切れの可能性が考えられます。

このように問題個所を特定することを俗に「問題の切り分け」と呼びます。切り分けの結果,サーバ側に問題がありそうだとなった場合にはサーバにログインしましょう。たいていはsshでログインすることになると思いますが,Windowsサーバの場合はRemote Desktopを使うかもしれません。ログインできない場合は何が・どこが変なのかを考える必要があります。サーバ側ネットワークの問題が発生しているとしたら,同じ問題によりsshができなくなっている可能性があります。

クラウドやホスティングサービスは,たいていブラウザから利用できる管理画面を用意しています。この管理画面ではサーバの状態が確認できます。もし然るべきサーバが停止状態だった場合は,起動することで問題が解決するかもしれません。

事業者によっては管理画面でサーバのコンソール画面を見られる機能を用意しています。さくらのクラウドやIDCFクラウド,ニフティクラウドにはこの機能があります。

図1のように画面が見られる場合は見てみましょう。コンソール画面を見ることで,ネットワークの問題なのかサーバの問題なのかが判断できます。

図1 管理画面でサーバのコンソール画面を見る

図1 管理画面でサーバのコンソール画面を見る

もし画面に何か意味不明な文字がたくさん表示されている場合は記録しておきましょう。スクリーンショットをとるか,スマホのカメラで撮影しておくと良いと思います図2)⁠Kernel Panicという状態になっている場合はこの文字だらけの画面でサーバ全体がハングアップしているため,電源をOFF/ONして再起動するしかありません。クラウドやホスティングサービスの管理画面から実施できる場合は再起動し,問題が再発するかどうか様子を見ましょう。物理サーバの場合,データセンタのサービスとしてリモートハンドが用意されている場合があるので利用しましょう。リモートハンドとは電話などで依頼してサーバの電源ボタンを押してもらうサービスのことです。対象のサーバを指定し,どのボタンをどのように押してほしいかを指定し依頼します。たとえば「◯◯(サーバ名)のDELLのロゴの右側にある電源マークのボタンを5秒ほど押しっぱなしにしてから離す,その後数秒待ってから同じボタンを軽く1度押す」などと指定します。

図2 Kernel Panic

図2 Kernel Panic

サーバの電源はONだけど画面に何も表示されていない場合は画面が省電力モードになっているかもしれないので,画面をクリックして[Ctrl][Tab]を何度か押してみましょう。

サーバを再起動するとメモリ上のデータが消える,データの不整合が発生する,サーバが2度と起動しないなど新たな問題が発生する可能性があります。現状でサーバが利用できていないので,方針が復旧優先の場合は問題ないのですが,復旧よりもデータ保護や再発防止を優先したい場合には再起動せず詳しいエンジニアの判断を待ったほうが良いでしょう。

著者プロフィール

馬場俊彰(ばばとしあき)

株式会社ハートビーツ 技術統括責任者。

電気通信大学の学生時代に運用管理から業界入り。MSPベンチャーの立ち上げを手伝った後に,中堅SIerにて大手カード会社向けJavaプログラマーを経て現職。現在インフラエンジニアとして活動中。インフラエンジニア勉強会hbstudy主催。最近の興味は写真とPythonプログラミングとクラウドの活用。大好物はカレー。静岡県の清水出身。

URLhttp://heartbeats.jp/
Twitter@netmarkjp

バックナンバー

トラブルシューティングの極意―達人に訊く問題解決のヒント

バックナンバー一覧

コメント

コメントの記入