LoginSignup
54
26

More than 1 year has passed since last update.

【インフラ】障害事例から学ぶ設計/手順レビューの勘所

Last updated at Posted at 2022-12-16

はじめに

設計書や手順書のレビューって最後まで残る
属人化・人のスキル次第の領域ですよね。
私の属人的知識を共有し、それを活用して2人分の属人化知識に
昇華する人が現れ、がどんどん回っていくことを願い、
The属人知識を公開します。
インフラ屋さんなので完全インフラ向け

障害事例を詳細に出すことはできないのでざっくりとした
事例紹介になりますが悪しからず。(一部抽象化してます)

事例①:性能問題

 これはやっぱり外せない性能問題です。
 事例としてはこんな作業で!?ってものをご紹介

 <事例>
  ある日ロードバランサでSSL証明書の有効期限が来たので更新しました。
  今回からセキュリティ強化で前回より強度の高い鍵を使うことに。
   ⇒結果、性能劣化が発生し慌てて切り戻しの末路を辿ることに・・・
   ポイント:
    ・更新した鍵はサポートされており利用に問題はなかった
    ・カタログスペックを見ても特に性能上限には引っかかっておらず
十分捌けるはずだった

 <原因>
    カタログスペックとしては記載がなかったが、2K鍵を採用すると
性能が1/10倍となる仕様があることが
    サポート回答で判明。
    1/10倍では特定捌けず今回の憂き目に
    

image.png

 <教訓>
  ・アプリケーションの更新等ではない諸元が変わらないものでも変化点に関してはしっかりと例外ないか確認しましょう。
   特に古い機器を使っていると新しい技術に対し異常に性能が劣化することがあります。

事例②:参照コマンド

 特に昔のネットワーク屋さんは共感してもらえるんじゃないでしょうか。

 <事例>
  NW機器にて参照コマンド実行したら、冗長系の縮退が発生。

 <原因>
  参照コマンド自体にバグがあり、一定状況化ではCPU使用率高騰しCPU処理ができなくなる状況にあった。
  結果冗長構成のヘルスチェックが失敗し切り離されることに・・・

image.png

 <教訓>
  安全そうに見えても実は危ない処理があることを理解し必要最低限の情報取得に留める工夫を。
  この件であれば一括情報取得コマンドを利用しなければ発生しないものでした。

事例③:製品バグ

 完璧な製品は無いということを念頭に置くという基本を痛感した事例です。

 <事例>
   SDN製品での話です。作業のため1台のスイッチ(48ポートモデル)をSDNツリーから切り離ししたところでNW全断が発生。
  慌てて組み込むも事態は復旧せず、なぜかエッジの電源をいくつか停止し32台以下となった段階で復旧。
 
  image.png

 <原因>
  エッジ接続数情報は1bit×接続数で管理される仕様だった
  48ポートスイッチの本機器はメモリ空間が最低でも6bit必要だったがメモリ確保が5bitだったため、
  6ビット目が欠落する事態に⇒32台目が1つのスイッチの論理ツリーとして組み込まれた時点でオーバフローにより論理情報が破壊。

image.png

 <教訓>
  ・製品を信じない。って書くと極端ですが、メモリリークとかオーバフロー系はあるある事象。
   32/64/128/256などのメモリ上の区切りとなる値を超える際は念のため検証する、
KBチェックするは有効な自衛策。
  ・問題発生時に元に戻すだけでは戻らない事象っていくつかあります。
   すべてを予測するのは無理だとしても論理的に怪しい数字が無いかを事前に押さえておくとベター。

最後に

 ある程度べき論も含めてフラットに共有しました。
 とはいえ、ここまではできないよねぇ。お金的にも、人手的にもって内容もナレッジとして共有しましたが、
 こういう観点もあるんだと思っていただければ。
 一応押さえておけば問題起きてからでも役に立ちそうなものをピックアップしたつもりです。

54
26
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
54
26