

# Incident Detection and Response でビジネスニーズに合った CloudWatch アラームを作成する
<a name="idr-alarms-fit-purpose"></a>

Amazon CloudWatch アラームを作成する場合、アラームがビジネスニーズに最も適していることを確認するために実行できるいくつかのステップがあります。

**注記**  
AWS のサービス が Incident Detection and Response にオンボードするための推奨される CloudWatch アラームの例については、「[Incident Detection and Response Alarm Best Practices on AWS re:Post](https://repost.aws/selections/KP6FA7iQgVSVeSNq1jAcjwxg/incident-detection-and-response-idr)」を参照してください。

## 提案された CloudWatch アラームを確認する
<a name="idr-review-alarms"></a>

提案されたアラームを確認して、モニタリング対象のワークロードに重大な影響 (収益の損失またはパフォーマンスを大幅に低下させるカスタマーエクスペリエンスの低下) がある場合にのみ「Alarm」状態になることを確認します。例えば、このアラームは、「Alarm」状態になった場合にすぐに対応する必要があるほど重大なものですか?

以下は、エンドユーザーのアプリケーションエクスペリエンスに影響を与えるなど、ビジネスに重大な影響を与える可能性のある推奨メトリクスです。
+ **CloudFront:** 詳細については、「[CloudFront 関数およびエッジ関数のメトリクスの表示](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/viewing-cloudfront-metrics.html)」を参照してください。
+ **Application Load Balancers:** 可能であれば、Application Load Balancer に対して次のアラームを作成することがベストプラクティスです。
  + HTTPCode\$1ELB\$15XX\$1Count
  + HTTPCode\$1Target\$15XX\$1Count

  上記のアラームにより、Application Load Balancer の背後にあるターゲットからのレスポンス、または他のリソースの背後にあるターゲットからのレスポンスをモニタリングできます。これにより、5XX エラーの原因を簡単に特定できるようになります。詳細については、「[CloudWatch metrics for your Application Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-cloudwatch-metrics.html)」を参照してください。
+ **Amazon API Gateway:** Elastic Beanstalk で WebSocket API を使用している場合、次のメトリクスの使用を検討してください。
  + 統合エラー率 (5XX エラーにフィルタリング)
  + 統合のレイテンシー
  + 実行エラー

  詳細については、「[CloudWatch メトリクスを使用した WebSocket API の実行のモニタリング](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-logging.html)」を参照してください。
+ **Amazon Route 53:** **EndPointUnhealthyENICount** メトリクスをモニタリングします。このメトリクスは、**[自動復旧]** ステータスの Elastic Network Interface の数です。このステータスは、エンドポイント (**[EndpointId]** で指定) に関連付けられている 1 つ以上の Amazon Virtual Private Cloud ネットワークインターフェイスをリゾルバーが復旧しようとしたことを示します。復旧プロセスでは、エンドポイントは限られた容量で機能します。エンドポイントは、完全に復旧するまで DNS クエリを処理できません。詳細については、「[Monitoring Amazon Route 53 Resolver endpoints with Amazon CloudWatch](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/monitoring-resolver-with-cloudwatch.html)」を参照してください。

## アラーム設定を検証する
<a name="idr-validate-alarm-config"></a>

提案されたアラームがビジネスニーズに合っていることを確認したら、アラームの設定と履歴を検証します。
+ メトリクスの **[しきい値]** を検証して、メトリクスのグラフのトレンドに対する「Alarm」状態を入力します。
+ データポイントのポーリングに使用される **[期間]** を検証します。データポイントを 60 秒でポーリングすると、インシデントの早期検出に役立ちます。
+ **[DatapointToAlarm]** 設定を検証します。ほとんどの場合、これを 3 個中 3 個または 5 個中 5 個に設定するのがベストプラクティスです。インシデントでは、[60 second metrics with 3 out of 3 DatapointToAlarm] に設定すると 3 分後にアラームがトリガーされ、[60 second metrics with 5 out of 5 DatapointToAlarm] に設定すると 5 分後にアラームがトリガーされます。この組み合わせを使用して、ノイズの多いアラームを排除します。

**注記**  
上記の推奨事項は、サービスの使用方法によって異なる場合があります。AWS のサービスごとにワークロード内での動作は異なります。また、同じサービスを複数の場所で使用した場合、動作が異なる場合があります。ワークロードがアラームを供給するリソースをどのように使用するか、およびアップストリームとダウンストリームの効果を理解する必要があります。

## アラームが欠落データを処理する方法を検証する
<a name="idr-validate-missing-data"></a>

一部のメトリクスソースは、データを CloudWatch に定期的に送信しません。これらのメトリクスについては、欠落データを **[notBreaching]** として扱うことがベストプラクティスです。詳細については、「[CloudWatch アラームの欠落データの処理の設定](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html#alarms-and-missing-data)」および「[アラーム状態への早期移行の回避](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html#CloudWatch-alarms-avoiding-premature-transition)」を参照してください。

例えば、メトリクスでエラー率をモニタリングし、エラーがない場合、メトリクスはデータなし (nil) のデータポイントを報告します。欠落データを **[欠落]** として扱うようにアラームを設定すると、1 つの違反データポイントに続いて 2 つのデータなし (nil) データポイントがあると、メトリクスは「Alarm」状態になります (データポイント 3 個中 3 個)。これは、欠落データの設定が評価期間内の最後の既知のデータポイントを評価するためです。

メトリクスでエラー率をモニタリングする場合、サービスの低下がない限り、データがないのは良いことだと考えることができます。欠落データを **[notBreaching]** として扱うことがベストプラクティスです。これにより、欠落データは「OK」として扱われ、メトリクスが単一のデータポイントで「Alarm」状態になることはありません。

## 各アラームの履歴を確認する
<a name="idr-review-alarm-history"></a>

アラームの履歴が、頻繁に「Alarm」状態になるものの、すぐに回復していることを示す場合、アラームが問題になっている可能性があります。ノイズや誤アラームを防ぐために、アラームを調整してください。

## 基盤となるリソースのメトリクスを検証する
<a name="idr-validate-underlying-resources"></a>

メトリクスが、基盤となる有効なリソースを参照し、正しい統計情報を使用していることを確認します。無効なリソース名を確認するようにアラームが設定されている場合、アラームは基盤となるデータを追跡できない可能性があります。これにより、アラームが「Alarm」状態になる場合があります。

## 複合アラームを作成する
<a name="idr-create-composite-alarms"></a>

Incident Detection and Response オペレーションにオンボーディング用のアラームを多数提供すると、複合アラームを作成するように求められる場合があります。複合アラームにより、オンボードする必要があるアラームの総数を減らすことができます。