

# Incident Detection and Response でオンボードしたワークロードをテストする
<a name="idr-workloads-testing"></a>

[アラームの取り込み](idr-gs-alarm-ingestion.md)が完了すると、AWS Incident Detection and Response はワークロードのモニタリングを有効にし、稼働の確認を送信します。ワークロードはこの時点からアクティブにモニタリングされます。

アラームテストでは、オンボーディングされたアラームが想定どおりに AWS Incident Detection and Response をエンゲージし、適切なランブックをトリガーし、アラームの取り込み中に選択した場合のケース自動作成など、その他の必要なアクションが実行されることを検証します。

テストはオプションですが、強くお勧めします。お客様は実際のインシデントが発生する前に、対応策を検証する責任があります。

## テストオプション
<a name="idr-workloads-testing-options"></a>

AWS Incident Detection and Response には 2 つのテストオプションがあります。

### オプション 1: スケジュールされたゲームデー (推奨)
<a name="idr-workloads-testing-gameday"></a>

スケジュールされたゲームデーは、実際にインシデントが発生した場合に起きる可能性があることをライブかつエンドツーエンドでシミュレートします。AWS Incident Detection and Response は、実際のインシデントがどのように展開されるかに関するインサイトを提供するために、規定の[ランブック](idr-workloads-dev-runbook.md)のステップに従います。ゲームデーは、エンゲージメントを向上させるために質問したり、指示を改良したりする機会です。

**ゲームデーをスケジュールするには、次の手順を実行します。**

1. 優先日とタイムゾーンを含む 1 時間の時間枠を使用して、[AWS Incident Detection and Response に通知](idr-workloads-change-request.md)します。少なくとも 48 時間のリードタイムを設けます。

1. SRE/Ops チームやエスカレーション連絡先など、ゲームデーのリソースを計画します。

**ゲームデーのスケジュール:**

1. お客様と AWS Incident Detection and Response が通話に参加します。

1. 必要に応じて、アラームアクションを無効にします。

1. 「[アラームをテストする方法](#idr-workloads-testing-how-to)」の手順を使用して、アラームを **[ALARM]** 状態に手動で設定します。

1. AWS Incident Detection and Response がアラーム通知の受け取りを確認します。

1. AWS Incident Detection and Response がアラームに応答し、ランブックに規定されたブリッジに参加します。

1. お客様と AWS Incident Detection and Response がゲームデーの結果を確認します。

### オプション 2: オフラインアラームテスト
<a name="idr-workloads-testing-offline"></a>

アラームは、コールをスケジュールしなくても、いつでも個別にテストできます。アラームをトリガーすると、実際のインシデント時と同様に、ランブックに従って AWS Incident Detection and Response がエンゲージされます。

**オフラインアラームテストを実行するには、次の手順を実行します。**

1. 意図しないアクションを防ぐには、Amazon CloudWatch アラームアクションを無効にします。

1. 「[アラームをテストする方法](#idr-workloads-testing-how-to)」の手順を使用してアラームをトリガーします。

1. 5 分以内に、お客様に代わってサポートケースが作成され、AWS Incident Detection and Response がランブックで指定されているとおりにお客様をエンゲージします。

1. オフラインアラームテストを実行していることを Incident Manager に通知します。

1. Incident Manager は、受け取ったアラーム状態の変更を確認し、対応策を検証します。

サポートケースが 5 分以内に作成されない場合は、[インシデントリクエスト](inbound-incident-idr.md)を送信して、トラブルシューティングのために AWS Incident Detection and Response を手動でエンゲージします。

## アラームをテストする方法
<a name="idr-workloads-testing-how-to"></a>

### Amazon CloudWatch アラーム
<a name="idr-workloads-testing-cw"></a>

**注記**  
アラームテストに使用する AWS Identity and Access Management ユーザーまたはロールには `cloudwatch:SetAlarmState` の権限が必要です。

AWS Command Line Interface または [AWS CloudShell](https://docs.aws.amazon.com/cloudshell/latest/userguide/welcome.html) を使用して、アラームを **[ALARM]** 状態に手動で設定します。これらのコマンドは、ワークロードに影響を与えずにアラームの状態を変更します。

Amazon EC2 インスタンスの再起動などの意図しないアクションを防ぐには、アラーム状態を変更する前に CloudWatch のアラームアクションを無効にします。テストが完了したら、CloudWatch アラームアクションを再度有効にできます。アラームアクションの無効化または有効化の詳細については、「*Amazon CloudWatch API リファレンス*」の「[DisableAlarmActions](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_DisableAlarmActions.html)」および「[EnableAlarmActions](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_EnableAlarmActions.html)」を参照してください。

**アラームアクションの無効化。**

```
aws cloudwatch disable-alarm-actions --alarm-names "{{ExampleAlarm}}" --region {{us-east-1}}
```

**アラーム状態を ALARM に設定します。**

```
aws cloudwatch set-alarm-state --alarm-name "{{ExampleAlarm}}" --state-value ALARM --state-reason "{{Testing AWS Incident Detection and Response}}" --region {{us-east-1}}
```

**テスト後にアラームアクションを再度有効にします。**

```
aws cloudwatch enable-alarm-actions --alarm-names "{{ExampleAlarm}}" --region {{us-east-1}}
```

アラーム状態は数秒以内に自動的に **[OK]** に戻ります。

**複合アラーム**

`set-alarm-state` コマンドは、複合アラームが **[OK]** 状態に戻ることを保証するものではありません。ベストプラクティスとして、テスト後に複合アラームの状態を検証します。複合アラームを手動でリセットするには、次のコマンドを使用します。

```
aws cloudwatch set-alarm-state --alarm-name "{{ExampleCompositeAlarm}}" --state-value OK --state-reason "{{Testing AWS Incident Detection and Response}}" --region {{us-east-1}}
```

CloudWatch アラームの状態を手動で変更する方法の詳細については、「*Amazon CloudWatch API リファレンス*」の「[SetAlarmState](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_SetAlarmState.html)」を参照してください。

CloudWatch API オペレーションに必要なアクセス許可の詳細については、「[Amazon CloudWatch の許可リファレンス](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/permissions-reference-cw.html)」を参照してください。

### サードパーティーの APM アラーム
<a name="idr-workloads-testing-third-party-alarms"></a>

Datadog、Splunk、New Relic、Dynatrace などのサードパーティーのアプリケーションパフォーマンスモニタリング (APM) ツールを使用するワークロードでは、アラームをシミュレートするためのさまざまな手順が必要です。

1. APM でアラームアクションを無効にして、意図しないアクションを防止してください。

1. アラームのしきい値または比較演算子を変更して、アラームを **[ALARM]** ステータスに強制します。これにより、AWS Incident Detection and Response へのペイロードがトリガーされます。

1. テストが完了したら、しきい値または比較演算子の変更をロールバックして、アラームを **[OK]** ステータスに復元します。

## 主な結果
<a name="idr-workloads-testing-key-outputs"></a>

テストが成功した後:
+ アラームの取り込みが確認され、アラームも正しく設定されています。
+ アラームは AWS Incident Detection and Response によって受け取られます。
+ サポートケースが作成され、所定の連絡先に通知されます。
+ AWS Incident Detection and Response は、所定の会議手段でお客様をエンゲージします。
+ テスト中に生成されたすべてのアラームとサポートケースが解決されます。

## よくある質問
<a name="idr-workloads-testing-faq"></a>

**アラームテストは必須ですか?**  
いいえ。テストはオプションですが、実際のインシデントが発生する前にエンドツーエンドの対応策を検証することを強くお勧めします。

**ワークロードは影響を受けますか?**  
いいえ。ただし、テスト中にアラームに設定されているアラームアクションは、無効にしない限りトリガーされます。テスト前にアラームアクションを無効にして、意図しない影響を防止してください。

**テスト中に通知されるのは誰ですか?**  
スケジュールされたゲームデー中は、検証のため、ランブック内のすべての連絡先とエスカレーションパスに対して連絡が行われます。オフラインアラームテスト中は、アラームのオンボーディング中に指定された最初の連絡先のみに通知されます。

**ケースの更新に対して E メールで返信できますか?**  
いいえ。サポート ケース通信の E メールのコピーは、no-reply アドレスから送信されます。ケースを更新するには、[AWS Support Center Console](https://console.aws.amazon.com/support/home#/) を使用してください。

**本番稼働後にゲームデーをリクエストするにはどうすればよいですか?**  
既存のオンボーディングサポートケースが存在する場合は、そのケースに返信するか、[Incident Detection and Response でオンボードしたワークロードへの変更をリクエストする](idr-workloads-change-request.md)を作成します。