key-performance-indicators
1.0 KPI(「ゴールデンシグナル」)の理解
組織は、ビジネスや運用の健全性やリスクに関する洞察を提供する主要業績評価指標(KPI)、別名「ゴールデンシグナル」を活用しています。組織の各部門は、それぞれの成果を測定するための独自の KPI を持っています。 例えば、eコマースアプリケーションのプロダクトチームは、カートの注文を正常に処理する能力を KPI として追跡します。オンコール運用チームは、インシデントの平均検出時間(MTTD)を KPI として測定します。財務チームにとっては、予算内のリソースコストが重要な KPI となります。
サービスレベルインジケータ(SLI)、サービスレベル目標(SLO)、サービスレベル合意(SLA)は、サービス信頼性管理の重要な要素です。このガイドでは、Amazon CloudWatch とその機能を使用して SLI、SLO、SLA を計算し監視するためのベストプラクティスを、明確で簡潔な例とともに概説します。
- SLI(サービスレベルインジケータ): サービスのパフォーマンスを定量的に測定するもの。
- SLO(サービスレベル目標): SLI の目標値で、望ましいパフォーマンスレベルを表します。
- SLA(サービスレベル合意): サービスプロバイダーとユーザー間で、期待されるサービスレベルを規定する契約。
一般的な SLI の例:
- 可用性:サービスが稼働している時間の割合
- レイテンシー:リクエストを処理するのにかかる時間
- エラー率:失敗したリクエストの割合
2.0 顧客とステークホルダーの要件を発見する(以下のテンプレートを使用することを推奨)
- 最上位の質問から始めます:「対象のワークロード(例:決済ポータル、eコマース注文、ユーザー登録、データレポート、サポートポータルなど)に関するビジネス価値またはビジネス上の問題は何か」
- ビジネス価値を以下のようなカテゴリに分類します:ユーザーエクスペリエンス(UX)、ビジネスエクスペリエンス(BX)、運用エクスペリエンス(OpsX)、セキュリティエクスペリエンス(SecX)、開発者エクスペリエンス(DevX)
- 各カテゴリの主要なシグナル、いわゆる「ゴールデンシグナル」を導き出します。UX と BX に関する主要なシグナルは、通常ビジネスメトリクスを構成します
ID | イニシャル | 顧客 | ビジネスニーズ | 測定項目 | 情報源 | 良好な状態とは? | アラート | ダッシュボード | レポート |
---|---|---|---|---|---|---|---|---|---|
M1 | 例 | 外部エンドユーザー | ユーザーエクスペリエンス | レスポンスタイム(ページレイテンシー) | ログ / トレース | 99.9% が 5 秒未満 | いいえ | はい | いいえ |
M2 | 例 | ビジネス | 可用性 | 成功した RPS(1 秒あたりのリクエスト数) | ヘルスチェック | 5 分間のウィンドウで 85% 以上 | はい | はい | はい |
M3 | 例 | セキュリティ | コンプライアンス | 重大な非準拠リソース | 設定データ | 15 日以内に 10 未満 | いいえ | はい | はい |
M4 | 例 | 開発者 | アジリティ | デプロイ時間 | デプロイログ | 常に 10 分未満 | はい | いいえ | はい |
M5 | 例 | オペレーター | キャパシティ | キューの深さ | アプリログ/メトリクス | 常に 10 未満 | はい | はい | はい |
2.1 ゴールデンシグナル
カテゴリ | シグナル | 注記 | 参考資料 |
---|---|---|---|
UX | パフォーマンス (レイテンシー) | テンプレートの M1 を参照 | ホワイトペーパー: 可用性とその先 (レイテンシーの測定) |
BX | 可用性 | テンプレートの M2 を参照 | ホワイトペーパー: 可用性とその先 (可用性の測定) |
BX | 事業継続計画 (BCP) | 定義された RTO/RPO に対する Amazon Resilience Hub (ARH) のレジリエンススコア | ドキュメント: ARH ユーザーガイド (レジリエンススコアの理解) |
SecX | (非)コンプライアンス | テンプレートの M3 を参照 | ドキュメント: AWS Control Tower ユーザーガイド (コンソールでのコンプライアンスステータス) |
DevX | アジリティ | テンプレートの M4 を参照 | ドキュメント: AWS 上の DevOps モニタリングダッシュボード (DevOps メトリクスリスト) |
OpsX | キャパシティ (クォータ) | テンプレートの M5 を参照 | ドキュメント: Amazon CloudWatch ユーザーガイド (サービスクォータの可視化とアラームの設定) |
OpsX | 予算の異常 | ドキュメント: 1. AWS Billing and Cost Management (AWS コスト異常検出) 2. AWS Budgets |
3.0 トップレベルガイダンス 'TLG'
3.1 TLG 一般
-
ビジネス、アーキテクチャ、セキュリティチームと協力して、ビジネス、コンプライアンス、ガバナンス要件を精緻化し、ビジネスニーズを正確に反映していることを確認します。これには、復旧時間目標(RTO)と復旧ポイント目標(RPO)の設定が含まれます。可用性の測定やレイテンシーなどの要件を測定する方法を策定します(例:稼働時間は 5 分間のウィンドウで小さな割合の障害を許容する可能性があります)。
-
様々なビジネス機能の成果に合わせた目的別のスキーマを持つ効果的なタグ付け戦略を構築します。これは特に運用の可観測性とインシデント管理をカバーする必要があります。
-
可能な場合、ベースラインを確立するための機械学習アルゴリズムを提供する CloudWatch 異常検出 を使用して、アラームの動的しきい値を活用します(特にベースライン KPI がないメトリクスの場合)。CloudWatch メトリクス(または Prometheus メトリクスなどの他のソース)を公開する AWS の利用可能なサービスを使用してアラームを設定する場合、アラームノイズを減らすために複合アラームの作成を検討してください。例:可用性を示すビジネスメトリクス(成功したリクエストで追跡)とレイテンシーで構成される複合アラームは、デプロイメント中に両方が重大なしきい値を下回った場合にアラームを発するように設定されると、デプロイメントのバグを示す決定的な指標となる可能性があります。
-
(注:AWS ビジネスサポート以上が必要)AWS は、Personal Health Dashboard でリソースに関連する関心のあるイベントを AWS Health サービスを使用して公開しています。AWS Health Aware (AHA) フレームワーク(AWS Health を使用)を活用して、中央アカウント(管理アカウントなど)から AWS Organization 全体で集約された積極的かつリアルタイムのアラートを取り込みます。これらのアラートは、Slack などの好みのコミュニケーションプラットフォームに送信でき、ServiceNow や Jira などの ITSM ツールと統合されます。
-
Amazon CloudWatch Application Insights を活用して、リソースの最適なモニターを設定し、アプリケーションの問題の兆候を継続的にデータ分析します。また、監視対象のアプリケーションの潜在的な問題を示す自動化されたダッシュボードを提供し、アプリケーション/インフラストラクチャの問題を迅速に分離/トラブルシューティングできます。Container Insights を活用して、コンテナからのメトリクスとログを集約し、CloudWatch Application Insights とシームレスに統合できます。
-
AWS Resilience Hub を活用して、定義された RTO と RPO に対してアプリケーションを分析します。AWS Fault Injection Simulator などのツールを使用した制御された実験を行い、可用性、レイテンシー、ビジネス継続性の要件が満たされているかを検証します。追加の Well-Architected レビューとサービス固有の詳細な分析を実施し、ワークロードが AWS のベストプラクティスに従ってビジネス要件を満たすように設計されていることを確認します。
-
詳細については、AWS Observability Best Practices ガイダンスの他のセクション、AWS Cloud Adoption Framework:運用の視点ホワイトペーパー、および AWS Well-Architected Framework 運用エクセレンスの柱ホワイトペーパーの「ワークロードの健全性の理解」に関するコンテンツを参照してください。
3.2 ドメイン別 TLG (ビジネスメトリクス、つまり UX、BX に重点を置く)
以下に、CloudWatch (CW) などのサービスを使用した適切な例を示します (参照: CloudWatch メトリクスのドキュメント を公開する AWS サービス)
3.2.1 Canary(別名:合成トランザクション)と実ユーザーモニタリング(RUM)
- TLG: クライアント/顧客体験を理解する最も簡単で効果的な方法の1つは、Canary(合成トランザクション)を使用して顧客トラフィックをシミュレートすることです。これにより、定期的にサービスをプローブしてメトリクスを記録します。
AWS サービス | 機能 | 測定項目 | メトリクス | 例 | 備考 |
---|---|---|---|---|---|
CW | Synthetics | 可用性 | SuccessPercent | (例:SuccessPercent > 90 または 1 分間の CW 異常検出) [Canary が平日の午前 7 時から 8 時に実行される場合の SuccessPercent の Metric Math(m1 は CloudWatchSynthetics): IF(((DAY(m1)<6) AND (HOUR(m1)>7 AND HOUR(m1)<8)),m1)] | |
CW | Synthetics | 可用性 | VisualMonitoringSuccessPercent |