インシデント発生中

重大インシデント発生中に何をすべきかについて説明します。 何が重大インシデントに該当するかは、深刻度レベルを参照してください。

ドキュメント化

あなたの社内ドキュメントでこのページに重要な情報が掲載されていることを確認してください。 例えばWeb会議のURLや、Slackルーム、重要なチャットコマンドなどです。 次に例を示します。

#incident-chat https://a-voip-provider.com/incident-call +1 555 BIG FIRE (+1 555 244 3473) / PIN: 123456
Need an IC? Do !ic page in Slack
For executive summary updates only, join #executive-summary-updates.

セキュリティインシデント?

もしセキュリティインシデントは発生したのなら、セキュリティインシデント対応プロセスに従ってください。

パニックにならないで#

  1. まずインシデントの通話とチャットに参加します(リンクは後述します)。

    • 通話に参加したり、チャットでインシデントを追うのは誰でも歓迎します。
    • もし参加したい場合は両方に参加すべきです。もし何らかの理由で両方に参加できない場合は、通話に参加している特定の人に代理してもらってください。チャットルームでまばらな議論をするのは返って迷惑です。
  2. 通話、チャットに参加して、適切だと思うコメントを残してください。ただし目の前の問題に関する議論をしてください。

    • もしあなたが内容領域専門家でない場合、プライマリの内容領域専門家を通じて議論をしてみてください。多くの人が同時に議論すると気後れするので、可能な限り通話では組織構造を維持すべきです。
  3. インシデントコマンダーからの指示に従います。

    • 通話にインシデントコマンダーがいない?
      • Slackで !ic page と打ってインシデントコマンダーを手動で呼び出してください。 このコマンドはプライマリとバックアップのインシデントコマンダーを呼び出します。
      • インシデントコマンダーを呼び出すのを躊躇しないでください。 いないよりもいたほうがいいです。

インシデントコマンダーの手順#

補佐に支援をしてもらいながら、可能な限りインシデントをすばやく安全に解決に導きます。 インシデントコマンダーの裁量で、タスクをそれぞれの専門に委譲します。

  1. インシデントの通話とSlackで、あなたがインシデントコマンダーであることと、指名した補佐と記録係をアナウンスします。

  2. インシデントの明らかな原因(直近のデプロイ、トラフィックのスパイクなど)があるかどうか特定して、関係する専門家に調査を委譲してください。

    • 通話でサービスの専門家たちに、分析を支援してもらうようにします。 彼らは迅速に原因を特定できるはずですが、必ずしもその限りではありません。 原因が明らかにならない場合は、インシデントコマンダーの判断に委ねられます。 サービスのオーナーと話し合い、彼らの知見を元に支援してもらいます。
  3. 調査と復旧のアクションを特定し(ロールバック、レートリミットなど)、サービスの専門家にアクションを委譲します。一般的には以下のことを行います(もちろんすべて網羅してるわけではありません)。

    • 良くないデプロイ: ロールバックする。
    • アプリケーションがスタックまたはクラッシュ: ローリングリスタートする。
    • 大量のイベント: 自動スロットリングが十分か確認し、そうでなければ手動で調整する。
    • データセンターの停止: 悪いデータセンターが自動で外されているか確認。もしそうでなければ強制的に外す。
    • 負荷がかかってないがサービスが劣化: データを収集して(ヒープダンプなど)、ローリングリスタートを検討。
  4. 補佐から深刻度が上がるか助言をもらい、外部に公開するか判断します。また状況に応じて顧客連絡とやり取りします。

    • 外部に告知するかどうかは、インシデントコマンダーの判断に任されます。 もし判断できない場合は外部に告知してください(疑わしい場合はツイートしてください)。
  5. 自分の管理範囲を把握しておきます。もし対応が大規模になってきたり、インシデントが複雑化している場合は、より効率的に対応できるようサブチームへ分割することも検討してください。

  6. インシデントが解決したり、解決に向かっている場合は、通話の終了をアナウンスします。これはインシデントに対して取るべき作業が無いということです。

    • 残りの急がない議論は議論はSlackに移行します。
    • インシデント収束を告知するために、顧客連絡とやり取りします。
    • ポストモーテムや後処理が必要か判断します。
    • 根本的な原因の報告や分析をします。
  7. 通話が終わったら、インシデント対応後のステップに従います。

補佐の手順#

必要に応じてインシデントコマンダーをサポートします。

  1. インシデントの状態を監視し、深刻度が上がるのならインシデントコマンダーに知らせます。

  2. インシデントコマンダーからの指示に従います。

  3. 通話が終了すると、インシデント対応後のステップに従います。

記録係の手順#

Slackに流れているインシデントに関する重要な情報をまとめます。

  1. 誰がインシデントコマンダー、補佐、記録係なのかを、Slackルームに反映します。

    • 例: "IC: Bob Boberson, 補佐: Deputy Deputyson, 記録係: Writer McWriterson"
  2. 対応者全員が現在のステータスを聞かなくてもわかるように、ステータスを監視するBotを起動します。

    • OfficerURLはSlack上でステータスを監視するのに役立ちます
      • !status - 現在のステータスを知らせます
      • !status stalk - 監視を続け30秒毎に結果を報告します
  3. 重要なアクションが取られたときや調査結果が出た場合は、Slackにノートを追加します。インシデントコマンダーからの指示を待つ必要はありません。

    • 後でやることを TODO としてSlackルームに残します
  4. インシデントコマンダーからの指示に従います。

  5. 通話が終了すると、インシデント対応後のステップに従います。

内容領域専門家の手順#

インシデントの原因特定や、復旧アクションの提案および評価、および復旧アクションに従い、インシデントコマンダーをサポートします。

  1. グラフやログを解析してインシデントを調査します。全ての発見したことをインシデントコマンダーに報告します。

    • 原因が確かでなくても大丈夫です。調査と追加情報をインシデントコマンダーに提供し続けます。
  2. インシデントコマンダーに、解決のための全ての提案を報告します。どのように進めるかはインシデントコマンダーが決定し、指示があるまではどんな行動も起こさないでください。

  3. インシデントコマンダーからの指示に従います。

  4. 通話が終了すると、インシデント対応後のステップに従います。

顧客連絡の手順#

インシデントに関するメッセージを外部に告知するために待機します。

  1. 通話中に得られた情報から、ステータスページを更新し様々なアカウントからTwitterでツイートします。

  2. インシデントコマンダーからの指示に従います。

  3. 通話が終了すると、インシデント対応後のステップに従います。

内部連絡の手順#

社内のステークホルダーに状態を提供し、必要に応じて社内から対応者を動員します。

  1. インシデントコマンダーからの指示に従い、他の人を呼び出す準備をします。

  2. 必要に応じて社内のステークホルダーに知らせて、PagerDutyインシデントの購読者に追加します。事前に用意してある "SEV-1ステークホルダー" と "SEV-2ステークホルダー" を利用できます。

  3. 経営陣に対してSlackで定期的(だいたい30分ごと)に、現在の状態を知らせます。短く要点を抑えて@hereを使います。

  4. インシデントコマンダーからの指示に従います。

  5. 通話が終了すると、インシデント対応後のステップに従います。