

# ステータスチェックに失敗した Amazon EC2 インスタンスの CloudWatch アラームの作成
<a name="creating_status_check_alarms"></a>

[ステータスチェックメトリクス](viewing_metrics_with_cloudwatch.md#status-check-metrics)を使用して、インスタンスのステータスチェックに失敗したときに通知されるように CloudWatch アラームを作成することができます。

メトリクスデータポイントが欠落している場合、ステータスチェックとステータスチェックアラームは一時的に*データ不足*という状態に陥ることがあります。これはまれですが、インスタンスが正常であっても、メトリクスレポートシステムに中断がある場合に発生する場合があります。この状態を、ステータスチェックの失敗やアラーム違反ではなく、欠落データとして扱うことをお勧めします。これは、応答としてインスタンス上で停止、終了、再起動、または復旧アクションを行うときに特に重要です。

------
#### [ Console ]

この例では、インスタンスがステータスチェックに失敗したときに通知を送信するアラームを設定します。オプションで、インスタンスを停止、終了、または復旧できます。

**ステータスチェックアラームを作成するには**

1. Amazon EC2 コンソールの [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) を開いてください。

1. ナビゲーションペインで、[**インスタンス**] を選択してください。

1. インスタンスを選択して、[**Status Checks (ステータスチェック)**] タブを選択し、[**アクション**]、[**Create status check alarm (ステータスチェックアラームの作成)**] を選択してください。

1. [**CloudWatch アラームの管理**] ページの [**アラームの追加または編集**] で、[**Create an alarm (新しいアラームの作成)**] を選択してください。

1. [**Alarm notification (アラーム通知)**] で、トグルをオンにして Amazon Simple Notiﬁcation Service (Amazon SNS) 通知を設定します。既存の Amazon SNS トピックを選択するか、名前を入力して新しいトピックを作成します。

   受信者のリストに E メールアドレスを追加したか、トピックを新規作成した場合、Amazon SNS は新しいアドレスごとに確認の E メールを送信します。各受信者は、E メール内の確認リンクを選択する必要があります。確認されたアドレスのみがアラート通知を受け取ります。

1. [**Alarm action (アラームアクション)**] で、トグルをオンにして、アラームがトリガーされたときに実行するアクションを指定します。アクションを選択してください。

1. [**Alarm thresholds (アラームのしきい値)**] で、アラームのメトリクスと条件を指定します。

   **[サンプルをグループ化]** (**平均**) と **[サンプリングするデータのタイプ]** (**ステータスチェックも失敗**) をデフォルト設定のままにするか、または必要に応じて変更することもできます。

   **[Consecutive period]** (連続期間) の場合、評価する期間数を設定し、**[Period]** (期間) で、アラームをトリガーして E メールを送信するまでの評価の間隔を入力してください。

1. (オプション) **[Sample metric data]** (サンプルメトリクスデータ) の場合、**[Add to dashboard]** (ダッシュボードに追加) を選択してください。

1. **[作成]** を選択します。

インスタンスステータスのアラームを変更する必要がある場合、そのアラームを編集できます。

**ステータスチェックアラームを編集するには**

1. Amazon EC2 コンソールの [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) を開いてください。

1. ナビゲーションペインで、[**インスタンス**] を選択してください。

1. インスタンスを選択し、[**Actions (アクション)**]、[**Monitoring (モニタリング)**]、[**CloudWatch アラームの管理**] の順に選択してください。

1. [**CloudWatch アラームの管理**] ページの [**アラームの追加または編集**] で、[**Edit an alarm (新しいアラームの編集)**] を選択してください。

1. [**Search for alarm (アラームの検索)**] で、アラームを選択してください。

1. 変更が完了したら、[**Update (更新)**] を選択してください。

------
#### [ AWS CLI ]

次の例では、インスタンスが少なくとも 2 つの連続する期間内にインスタンスチェックまたはシステムステータスチェックに失敗した場合、アラームが SNS トピックに通知を発行します。使用する CloudWatch メトリクスは `StatusCheckFailed` です。

**ステータスチェックアラームを作成するには**

1. 既存の SNS トピックを選択するか、新しいキーペアを作成することができます。詳細については、*AWS Command Line InterfaceAmazon Athena ユーザーガイド* の [Athena へのアクセスAWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-services-sns.html)を参照してください。

1. Amazon EC2 の使用可能な Amazon CloudWatch メトリクスを表示するには [list-metrics](https://docs.aws.amazon.com/cli/latest/reference/cloudwatch/list-metrics.html) コマンドを使用します。

   ```
   aws cloudwatch list-metrics --namespace AWS/EC2
   ```

1. アラームを作成するには次の [put-metric-alarm](https://docs.aws.amazon.com/cli/latest/reference/cloudwatch/put-metric-alarm.html) コマンドを使用します。

   ```
   aws cloudwatch put-metric-alarm \
       --alarm-name {{StatusCheckFailed-Alarm-for-i-1234567890abcdef0}} \
       --metric-name StatusCheckFailed \
       --namespace AWS/EC2 \
       --statistic Maximum \
       --dimensions Name=InstanceId,Value={{i-1234567890abcdef0}} \
       --unit Count \
       --period 300 \
       --evaluation-periods 2 \
       --threshold 1 \
       --comparison-operator GreaterThanOrEqualToThreshold \
       --alarm-actions arn:aws:sns:{{us-west-2}}:{{111122223333}}:{{my-sns-topic}}
   ```

   期間は Amazon CloudWatch メトリクスが収集される期間 (秒) です。この例では60 秒に 5 分を乗算した 300 を使用します。評価期間はメトリクスの値がしきい値と比較されなければならない連続した期間の数です。この例では 2 を使用します。アラームアクションはこのアラームがトリガーされたときに実行するアクションです。

------
#### [ PowerShell ]

**ステータスチェックアラームを作成するには**  
[Write-CWMetricAlarm](https://docs.aws.amazon.com/powershell/latest/reference/items/Write-CWMetricAlarm.html) コマンドレットを次のように使用して、インスタンスが少なくとも 2 つの連続する期間内にステータスチェックに失敗した場合に SNS トピックに通知を発行します。

```
Write-CWMetricAlarm `
    -AlarmName "{{StatusCheckFailed-Alarm-for-i-1234567890abcdef0}}" `
    -MetricName "StatusCheckFailed" `
    -Namespace "AWS/EC2" `
    -Statistic "Maximum" `
    -Dimension @{Name="InstanceId"; Values="{{i-1234567890abcdef0}}"} `
    -Unit "Count" `
    -Period 300 `
    -EvaluationPeriod 2 `
    -Threshold 1 `
    -ComparisonOperator "GreaterThanOrEqualToThreshold" `
    -AlarmAction "arn:aws:sns:{{us-west-2}}:{{111122223333}}:{{my-sns-topic}}"
```

期間は Amazon CloudWatch メトリクスが収集される期間 (秒) です。この例では60 秒に 5 分を乗算した 300 を使用します。評価期間はメトリクスの値がしきい値と比較されなければならない連続した期間の数です。この例では 2 を使用します。アラームアクションはこのアラームがトリガーされたときに実行するアクションです。

------