MAGAZINE

キャリテク!マガジン

コラム

障害対応に強くなろう (1) サービスの正しい挙動を知ることから始めよう

こんにちは。株式会社パイプラインの濱田です。
前回は観察力と検索力で障害対応に強くなると申し上げましたが、今回はより具体的に、どうすれば障害対応に強くなれるのかを取り上げます。

観察力で異常を検知しよう

そもそも論として、サービスを動かす基盤であるシステムが何をもってして正常なのか、を理解する必要があります。
WEBサービスを提供しているのであれば、WEBサーバーがブラウザからのリクエストを待ち受けてコンテンツを送信し、DBサーバーはプログラムからのリクエストを待ち受けてデータベースの検索や更新を行い、その結果や内容を返します。

障害発生(異常)とは、大きく2種類に分類されます。

  • 本来提供されるはずの機能が完全に提供されない (機能不全)
  • 本来できてはいけないことができてしまう (インシデント)

冒頭のWEBサーバーを例に挙げますと、

  • WEBページが表示されない
  • WEBページの表示が崩れる
  • WEBページの表示が遅い

これらは機能不全にあたります。一方で

  • 認証が必要なページに認証なしまたは適当なID/パスワードでログインできてしまう
  • ショッピングサイトで他人の買い物かごが見えてしまう
  • 本来表示させたい内容とは違うコンテンツが表示されてしまう

これらは本来できてはいけないことができてしまう一例で、セキュリティインシデントの可能性が否定できません。

さて、冒頭で挙げたWEBサーバーの例で何が正常か、を考えてみましょう。
WEBブラウザ(以下クライアント)で https://www.kcct.co.jp/careetec/へアクセスする場合、以下の挙動がすべて正常に行われた時点ではじめて正常な動作ということになります。(ルーターの経路制御やhttpsの暗号化、復号化や外部リンク先のコンテンツ取得などについては省略します)

  1. DNSまたはhostsで www.kcct.co.jp の名前解決(FQDN->IPアドレス)が行われる
  2. WEBブラウザを起動したクライアントから www.kcct.co.jp をホストするWEBサーバー(以下WEBサーバー)までのネットワーク経路に異常がなく、ブラウザからのリクエストがWEBサーバーのTCP 443番ポートまで届く
  3. WEBサーバーはリクエストを受け取り、 /careetec/index.html ファイルおよび index.htmlファイルにリンクされた画像などのコンテンツをクライアントに返す

もし1の時点で名前解決ができない場合、DNSサーバーの設定が間違っているか、ドメインの更新忘れなどによりドメインが失効している可能性があります。
2の時点での異常は、冒頭に挙げた障害パターンのほか、TLS(SSL)証明書の更新忘れなどによる証明書の失効やファイアウォールの設定不備、エントリーフォームからのメールが届かないなど、WEBコンテンツ以外の障害も想定できます。

つまり、単に「WEBコンテンツが閲覧できない」と一言で障害申告があっても、それが一体どこでおきているのか、最初に調査しなければいけないのが障害被疑部位の特定です。障害被疑部位は1箇所かも知れませんし、複数あるかも知れません。 よって、思い込みや先入観は禁物で、観察力をフルに発揮するつもりで障害対応に取り組むとよいでしょう。

次回は障害対応に役立つ検察力を取り上げます。

まずはエンジニアデビューしたい、という方は、3ヶ月間学びながらお給料が貰える AltX キャリテク!の門を叩いてみてはいかがでしょう。

過去の連載記事

  1. 障害対応に強くなろう (1) サービスの正しい挙動を知ることから始めよう
  2. 障害対応に強くなろう (2) 検索力を身に着けて障害の最短解決を目指そう
facebook シェアシェア
LINE シェアシェア