お客様のインシデント管理ポリシー
Cloudflareが本番環境に影響を与えるインシデントに対処する方法と、Cloudflareがそうしたインシデントの本質と影響をEnterpriseプランのお客様に伝える方法を説明します。
本記事の内容
目的
Cloudflareは、当社のサービスを提供するにあたってオープン性と透明性は不可欠であると考えており、お客様およびインターネットコミュニティとの信頼関係を確立することに努めております。 Cloudflareは、何億人もの人々の生活と繁栄に影響を与えるグローバルネットワークを運営するという責任を常に心に留めています。
この標準業務手順書(SOP)では、Cloudflareが本番環境に影響を与えるすべてのインシデントや問題にどのように対処し、Cloudflareがそうしたインシデント(想定内/想定外、重大度を問わず)の本質と影響をEnterpriseプランのお客様に伝える方法について説明します。この手順書では、以下のことを行うために、そうした取り組みを画一的に行う方法を明確に示しています。
- 環境の稼働時間を最大化する、
- クライアントへの影響を最小限に抑える、
- 修復にかかる時間を短縮する、
- お客様やインターネットコミュニティと情報を共有する。
範囲
本SOPは、Cloudflareのお客様およびお客様が利用するカスタマーサービスに適用されます。 本SOPは、以下を含むCloudflareのすべてのお客様の本番環境に適用されます:
- Cloudflareの公開ウェブサイト( www.cloudflare.com)
- CloudflareのAPI(アプリケーションプログラミングインタフェース)
- アウトバウンドサードパーティインタフェース( クレジットカードオーソリゼーションなど)
- Cloudflareが本番環境のサービスのために所有または管理するネットワークインフラストラクチャ
- Cloudflareの本番環境のあらゆる部分に影響を及ぼすベンダーのソフトウェア、ハードウェア、およびサービス
背景
Cloudflareはより良いインターネットを構築したいと考えています。 何百万人ものインターネットユーザーに優れた体験を提供するために、Cloudflareの各部門・部署は優れたサービス提供の手順と手続きに従う必要があります。 そのため、Cloudflareの手順は業界標準のベストプラクティスに従っていますが、その一部は特に情報ライブラリインフラストラクチャテクノロジー(ITIL)のプロセスに従っています。 本SOPは、ITILの問題管理方法のベストプラクティスに従います。
定義
いくつかの重要なインシデント用語:すべてのイベントは、アラートを引き起こす可能性のある状態です。一部のアラートは注意すべきインシデントです(そうでないものもあります)。すべてのインシデントは(場合によって自動または手動にて)トリアージ(選別)しなければなりません。いくつかのインシデントは問題です。一部の問題は「大規模」であり、ステータスページの更新を引き起こします。一部の大規模インシデントには、インシデントレポートの作成が必要となる高い優先度(P1)が付けられます。
主な用語:
イベント
Cloudflareの本番環境のいずれかのアプリケーションまたはシステムが記録できる識別可能で離散的なもの
アラート
Cloudflareの監視システムの1つを介して特定され伝達される潜在的興味を持つイベント
インシデント
Cloudflareの本番環境のシステムに影響を与える可能性が高いレポートまたはアラート、または問題状態が特定される前に影響を受けたサービスの健全性が復元されたために短期間しか存在しないアラート状態
問題
Cloudflareの本番環境のシステムまたはアプリケーションの最適なヘルスおよび/パフォーマンスに悪影響を及ぼす特定されて分類されたインシデント
インシデントレポート
サービスの問題の本質、問題に対するCloudflareの総体的な対応、および今後の影響を軽減または排除するための取り組みを説明する公開レポート
事後レビュー
深刻および/または重大な問題に対応するために開かれるレビュー会議。 すべての事後レビュー会議は、問題の本質に対処するのに適したスキルや経験を備えたCloudflareエンジニアによって作成されたインシデントレポートの内容に焦点を当てます。
SRE
システム信頼性エンジニアは、すべてのインシデントのファーストレベルのサポートを担当する集団です。
CSUP
カスタマーサポートグループは、お客様が生成したすべてのリクエストに対応し、特定された問題の発生時にお客様とコミュニケーションを取ることについて責任を負うチームです。
JIRA
インシデント、作業指示、問題のトラッキングに使用されるCloudflareのチケットシステム
重大度/優先度
「P0、P1、P2、またはP3」の値は、Cloudflareのネットワークおよびお客様に影響を及ぼす問題の重大度に基づいています
SLA
サービスレベル契約 – 特定のサービスレベルの自社または契約上の義務(通常は単位時間あたりの処理数で測定)
SLO
サービスレベル目標 – 特定のサービスレベルの自社または契約上の目標(通常は単位時間あたりの処理数で測定)
インシデントコマンダー
問題に適切に対処している、時間を記録している、エスカレーションを行っている、クライアントに最新情報を提供している、必要に応じて担当者を関与させている、といったことを確認するCloudflareの担当者
インターネットコミュニティ
Cloudflareの主要なステークホルダーグループ。Cloudflareは、4,600,000以上のWebサイトを保護して最適化します。平均的なインターネットユーザーは、週に500回以上CloudflareのWebサイトとやり取りします。
サードパーティ
クライアントへのシステムまたはサービスの提供において、Cloudflareと提携するCloudflare以外のベンダーまたはサービスプロバイダー
ステークホルダー
プロバイダー(Cloudflareの担当者、サードパーティなど)または消費者(クライアント)として、インシデントの影響を受ける個人、グループ、または会社
RCA
根本原因分析 – 問題の根本原因についての入念なレビュー
是正
問題の根本原因を解決し、再発を防止するために必要なすべての手順
ステータスページ
Cloudflareのサービス提供についてと、Cloudflareのサービスに影響を及ぼすインシデントや問題につての情報を公表するためにCloudflareが使用する主要ツール: https://www.cloudflarestatus.com
ステータスページは、運用に関してCloudflareのサービスに依存していないサードパーティ( Statuspage.io)によってホストされています。
役割と責任
以下の役割と責任が、Cloudflare内のインシデントの管理に関連付けられています。
Cloudflareのマネジメント
手順を確認して承認します。 すべてのスタッフメンバーが手順に関するトレーニングを受けていることを確認します。 必要に応じて、手順における各自の役割をお客様およびサードパーティに通知します。重大インシデントレポートの事後分析を開始して管理します。
オンコールSRE
すべてのクリティカルなアラートに対応するために、オンコールシフトに割り当てられている1人または複数人のSRE。インシデントを特定して対応し、インシデントの重大度を評価および分類し、必要に応じて、問題としてインシデントをエスカレートします。 最初から最後まで、問題のエスカレーションと管理を行う役割を果たします。
オンコールネットワークエンジニア
クリティカルなアラートに対応するために、オンコールシフトに割り当てられている1人または複数人のネットワークエンジニア。SREチームと連携して、特定された問題を担当するプライマリのインシデントマネージャーを提供します。
オンコールCSUP
すべてのお客様のリクエストに対応するためにシフトに割り当てられている1人または複数人のCSUPエンジニア。 すべての特定された問題について、すべてのお客様とのコミュニケーションを担当します。 すべての定期メンテナンスを通知する役割を担います。
SREチーム
オンコールSREの作業をサポートするシステム信頼性エンジニア(SRE)チーム全体を指す呼称。 特定された問題について、インシデントマネージャーの役割を担います。 問題を解決するために、Cloudflareでサポートしている本番環境の変更を実施します。
Cloudflareのエンジニアリングチーム(DBA、ネットワーク、nginx、セキュリティなど)
問題解決時にインシデントマネージャーをサポートします。 要求があった場合にブリッジコールに参加します。 問題を診断して是正するにあたって、情報の文書化と他の担当グループへのエスカレーションを確実に行うようにします。 Cloudflareのマネジメントによって要求された場合、一部のインシデントレポートの事後分析に参加します。
標準業務手順書
このセクションでは、インシデントと問題の管理に関する手順について説明します。これらのプロセスは、大まかに次のように関連しています:
インシデント管理:アラートの観察と対応に関する全体プロセスには次のことが含まれます。インシデントの潜在的な影響と重大度を評価する、インシデントを問題として分類する、問題に優先度を割り当てる、または問題状態を特定できない場合は影響のないイベントとしてインシデントを無視する。
問題管理:問題の範囲と程度を特定する、適切な重大度/優先度(P0、P1、P2、P3)を割り当てる、問題を解決して本番環境でのサービスを最適な状態に戻す、問題を該当する当事者に通知する、といったプロセスです。
解決策管理:問題状態の特定に結び付く原因を調査する、問題を管理して解決した問題の状態につながる原因と状態を調査する、問題の管理と解決に採用した手法について報告する、状態や問題の原因を防止する方法について分析する、といったプロセスです。
インシデント管理
インシデント管理の主な目標は、出来るだけ早く潜在的な問題を特定して対応することです。そうすることで、本番環境のサービスへの影響を最小限に抑えて、最高レベルのサービス品質と可用性を提供することができます。最高レベルのサービス品質と可用性とは、すべてのサービスが設計どおりに24時間365日稼働し、利用可能ならびにアクセス可能であるということです。
実際には、コントロールできるさまざまな要因に加えてコントロールできない要因がサービスの健全性に影響を及ぼします。Cloudflareでは、Cloudflareのネットワーク内における各種サービスの許容される健全性の低下を定義するために、サービスレベル目標(SLO)とサービスレベル契約(SLA)を定めています。 SLAとSLAは、期間(月単位および年単位)の割合で表されます。
インシデントに関して提供される情報のレベルは異なる場合がありますが、インシデントを分類して優先度を付ける前に、次の情報を収集する必要があります:
- 提出元ソース(モニタリングアラートまたは代替ソース)
- お客様(該当する場合)
- システムまたはアプリケーション(該当する場合はホスト名も)
- アラートの発生時間
- 影響の範囲:影響を受けたシステム、ユーザー、または地域の推定数
- 影響の種類:サービス障害の一般的な範囲(すべてのアクセスの喪失、パフォーマンスの低下、依存するアプリケーションへの影響、お客様への影響など)
ソースを問わず問題として分類されるすべてのインシデントは、P0またはP1の優先度が付けられ、JIRAと呼ばれるCloudflareのチケットシステムに記録されます。 一部のアラートは、サービスレベルに直ちに影響を与えない可能性のある状態を示します。そうした状態は、必要に応じて、優先度がP2またはP3の問題として分類します。
JIRAシステムは、すべてのインシデント情報を記録するシステムです。問題に関するその他すべての情報源(アラート履歴、スクリーンショット、作業ログ、チャット内容など)はインシデントの応答時に作成されるJIRAチケットに添付されます。
インシデントの分類
アラートを確認したSREは、アラートをカテゴリーと優先度レベルに関連付けることで、ただちにアラートのトリアージ(対応優先度付け)を行います。 優先度の高い(P0およびP1)問題に対して新しいJIRAチケットを作成する場合、SREは、カテゴリーと優先度を含めて各チケットが正しく分類されるようにします。
優先度レベル
すべてのチケットは、次の4つの優先度レベルに従って分類されます: 示されている基準は、一般的なガイドラインです。以下に示されている状態に基づいて、優先度を明示的に定義する必要がありますが、SREまたはCloudflareのマネジメントの裁量により、必要に応じて、より高い優先度が割り当てられる場合があります:
P0
- CloudflareのアプリケーションまたはAPIへの完全なアクセス喪失。
- CloudflareのアプリケーションまたはAPIへのアクセス低下(全世界または主要地域での測定値が⪯ 98%)。
- Tier-1データセンターへの完全なアクセス喪失、または大幅なパフォーマンス低下。
- すべてのTier-1グローバルトランジットプロバイダーのパフォーマンス低下(全世界における20%のパケット損失または主要地域における30%のパケット損失)。
- クリティカルシステムへのアクセス低下またはパフォーマンス低下。
P1
- サイト全体の断続的なパフォーマンス低下。
- レポーティングなどの重要な機能の喪失。
- いずれかのソーシャルメディアまたは外部のCloudflareウェブサイト( spaCloudflare.com、 salonCloudflare.com など)からCloudflareアプリケーションへのアクセス喪失。
- 重要なアウトバウンドのサードパーティーインタフェースへの供給停止。
- いずれかの企業クライアントまたはディストリビューションパートナーのサイトの動作不能。
- 顧客データの破損または消失。
P2
- パフォーマンスの散発的な問題または局地的な問題。
- クライアントにまだ顕著な影響が及んでいないシステムの問題(高いCPU使用率など)。
- 単一のクライアントにおけるサービスの停止/低下。
P3
- 利用可能時点で対処できる、エンドユーザーにほとんど、またはまったく影響がない、運用上の問題、手続き上の問題、またはサービスリクエスト。
- すべてのチケットに割り当てられたデフォルトの重大度のうちレビューされていないもの、または重大度が割り当てられていないもの。
カテゴリー
適切なトラッキングとコミュニケーションを行うために、優先度の高い(P0とP1)問題にはカテゴリーが割り当てられます。 これらのカテゴリー(チケットラベル)は、Cloudflareの公式ステータスページに掲載・公表されているカテゴリーに対応しています。
優先度の低い(P2とP3)チケットは、Cloudflare内のさまざまなエンジニアリングチームおよびそれ以外のチームに固有のラベルや命名法を用いて分類される場合があります。 そうしたラベルやカテゴリーについては、このドキュメントでは取り上げません。
セキュリティインシデント
セキュリティインシデントのカテゴリーに分類されるインシデントについては、特別な処理と手順が必要であることを理解することが重要です。 そうしたインシデントは、セキュリティインシデントとして記録して、Cloudflareの情報セキュリティ チームが定めたセキュリティ インシデント手順に従います。
重大度/優先度の高いインシデント
明らかにP0およびP1のインシデントは、ビジネスにより大きな影響を与えるため、可能な限り迅速に処理されるように、いくつかの特別な先行要件があります。
インシデントマネージャー
すべてのP0およびP1の問題については、当直のインシデントマネージャーにただちに連絡する必要があります。 SREが誰に連絡すべきか確認できるように、インシデントマネージャーのスケジュール表が掲載されます。 インシデントマネージャーは、次のことについて責任を負う重要なリソースです:
- 問題の重大度を検証する
- 提出から解決まで問題を追跡する
- クライアントの最良の利益を追求する
- すべてのアクションと時間を記録する
- 可能な限り最速の解決に向けて人員を配置する
- 事前に決められた期間(またはステータスの変更時)に従い、クライアントと社内のマネジメントにステータスが通知されることを確認する
- 時間制限を超えた場合や適切な進展がみられない場合、クライアント、社内、またはサーパーティにおいてエスカレーションを行う
- 解決時にチケットに対して意義のある説明がされることを確認する
- チケットをクローズする前に、チケット提出者が、問題が解決したことに同意していることを確認する
インシデントコミュニケーション
次のことを行うためにも、インシデント発生時の外部へのコミュニケーションは重要です:
- Cloudflareが問題を認識していて解決に向けて取り組んでいることをステークホルダーに知らせる
- 問題をレビューしている最中であり、Cloudflareが最善の利益を追求していることをクライアントに知らせる
- 問題を不要に長引かせないように、適切なエスカレーションが行われていることを知らせる
- 重要なインシデントについて主要なステークホルダーに通知する
インシデント発生時の主な通知内容の項目は次のとおりです:
インシデントが特定されるとすぐにオンコールCSUPチームメンバーがテンプレートを使用してステータスページを作成します。
事後レビュー
Cloudflareは、すべての重大な問題の再発防止に努めなければならないと考えています。 そのため、すべてのP0の問題については、問題の根本原因分析(RCA)とインシデントの発生に寄与した要因を含む、インシデントレポート(IR)を公開します。 すべてのIRを公開した後に、事後分析会議を開きます。この会議では、エンジニアとマネージャーがIRの内容、RCAの結論、および問題状態の再発を防止するために講じるフォローアップ是正措置をレビューして同意します。
問題管理と事後分析
問題管理がインシデント管理と異なる点は、問題管理の主な目的がインシデントの根本原因の検出とその後の解決・防止であることです。
根本原因分析と是正
問題チケット
RCAとは、根本原因分析レポートのことです。 JIRA問題チケットとは、RCAが必要となる可能性のあるイベントの記録と追跡のことです。 これは、内容領域専門家(SME)がP0またはP1の問題をレビューして、問題の根本原因を特定するプロセスです。 根本原因を特定したら、SMEは原因に対処するための是正計画を作成する必要があります。 最終的な成果物は、是正から完了までを追跡するための十分に文書化されたチケット、ならびに、必要に応じて、社内のチームおよび/またはクライアントに送付する詳細に記録されたインシデントレポートです。
上記の点は、RCAを提供するサードパーティのプロバイダーまたはベンダーであっても適用されます。 RCA情報をサードパーティから受け取った時点で、今後追跡する未実行の是正措置を含む、すべての関連情報に基づいて問題チケットが更新されることを確認する必要があります。
IRレポート
インシデントレポート(「IR」)は、問題をクライアントに知らせる主な手段であり、チケットに記載されている一部または全部の情報が含まれる場合があります。
レポートの作成者は、問題の重大度と担当領域によって異なります。レポートの草稿が出来上がったら、内容、コミットメント、プレゼンテーションが適切かどうかをCloudflareのマネジメントがレビューすることが重要です。 レポートが承認されると、クライアントに公開することができます。
問題のレビュー
上記のセクションでは、インシデントの処理と恒久的な是正のために根本原因を特定するプロセスについて説明しました。 インシデント管理/問題管理プロセスの最後では、プロセスを正しく実行している、SLAを満たしている、潜在的な問題を見落としていない、といったことを確認するために、主要な指標/動向の把握および報告が行われていることを確認します。
報告
オープンチケットとクローズチケットの両方について報告する必要があるチケット基準には、以下が含まれます:
- 重大度
- カテゴリー/サブカテゴリ―
- 担当グループ
- 経過日数/オープン日数
可能な限り、このデータは、動向を視覚的に確認できるようにグラフ/チャートを使用して報告する必要があります。 これらのレポートは、Cloudflareのマネージャーおよびエリアオーナーに公開する必要があります。
分析と責任
チケットの各エリアオーナーは、所定または合理的な期間内にチケットがクローズされていることを確認するだけでなく、レポートをレビューして、動向、懸念、繰り返し発生する問題がないか確認する責任を負います。この分析に基づいて、P0またはP1の指定を通じて表面化しなかった問題を是正するために、追加の問題チケットをオープンする必要があります。 これにより、継続的改善を行うことができるようになり、根本原因に追加の対処を行うことで新規チケット数を最終的に減らすことができます。
インシデント管理レビュー会議(事後分析)
全部門スタッフ会議の一環として、グループマネージャーは、次のことを目的としてチケッオープンと動向レポートをレビューする必要があります。
- 成功事例または懸念事項についての議論
- エリアオーナーによる改善機会の確認
- 是正を追跡するために新規問題チケットをオープンする領域についての同意