

# Amazon CloudWatch でのアラームの使用
<a name="CloudWatch_Alarms"></a>

メトリクスを監視し、しきい値を超過したときに通知を送信したり、モニターリングしているリソースを自動的に変更したりするアラームを作成できます。例えば、Amazon EC2 インスタンスの CPU 使用率およびディスク読み取り/書き込みをモニターリングし、そのデータを基に、増加する負荷を処理する追加のインスタンスを起動すべきかどうかを判断します。また、このデータを使用して、十分利用されていないインスタンスを停止することで、費用を節約することができます。

 Amazon CloudWatch で*メトリクス*と*複合アラーム*を作成できます。

AWS リソースタグを使用してメトリクスをフィルタリングおよびグループ化する Metrics Insights クエリでアラームを作成できます。アラームでタグを使用するには、[https://console.aws.amazon.com/connect/](https://console.aws.amazon.com/connect/) で **[設定]** を選択します。**[CloudWatch 設定]** ページの **[テレメトリでリソースタグを有効にする]** で、**[有効化]** を選択します。タグ付け戦略に自動的に適応するコンテキスト対応モニタリングの場合は、AWS リソースタグを使用して Metrics Insights クエリにアラームを作成します。これにより、特定のアプリケーションまたは環境でタグ付けされたすべてのリソースをモニタリングできます。
+ 1 つの CloudWatch メトリクスを監視する、または複数の CloudWatch メトリクスに基づく数式の結果を監視する*メトリクスアラーム*。アラームは、メトリクスや式の値が複数の期間にわたって特定のしきい値を超えた場合に 1 つ以上のアクションを実行します。アクションとしては、Amazon SNS トピックへの通知の送信、Amazon EC2 アクションまたは Amazon EC2 Auto Scaling アクションの実行、CloudWatch 調査の運用調査での調査の開始、Systems Manager での OpsItem またはインシデントの作成などがあります。
+ *[PromQL アラーム]* は、CloudWatch OTLP エンドポイントを介して取り込まれたメトリクスに対する Prometheus クエリ言語 (PromQL) インスタントクエリを使用してメトリクスをモニタリングします。このアラームは、個々の違反時系列をコントリビューターとして追跡し、期間ベースの保留期間と復旧期間を使用して状態の移行を制御します。詳細については、「[PromQL アラーム](alarm-promql.md)」を参照してください。
+ *複合アラーム*には、作成した他のアラームのアラーム状態を考慮したルール式が含まれます。複合アラームは、ルールのすべての条件が満たされた場合に限り、ALARM 状態になります。複合アラームのルール式で指定されたアラームには、メトリクスアラームやその他の複合アラームを含めることができます。

  複合アラームを使用すると、アラームノイズを低減できます。複数のメトリクスアラームを作成する、複合アラームを作成する、または複合アラームに対してのみアラートを設定することができます。たとえば、複合が ALARM 状態になるのは、基盤となるすべてのメトリクスアラームが ALARM 状態である場合だけです。

  複合アラームは、状態が変更されたときに Amazon SNS 通知を送信できます。また、ALARM 状態になったときに調査、Systems Manager の OpsItems、インシデントも作成できますが、EC2 アクションや自動スケーリングアクションを実行することはできません。

**注記**  
 AWS アカウントでは、必要な数だけアラームを作成できます。

 ダッシュボードにアラームを追加すると、複数のリージョンにまたがる AWS リソースとアプリケーションを監視してアラートを受信できます。ダッシュボードにアラームを追加すると、アラームは、`INSUFFICIENT_DATA` 状態の場合はグレーに変わり、`ALARM` 状態の場合は赤に変わります。`OK` 状態の場合、アラームは色なしで表示されます。

 また、CloudWatch コンソールのナビゲーションペインで、最近アクセスしたアラームを [Favorites and recents] (お気に入りと最近のアクセス) オプションからお気に入りに登録できます。[Favorites and recents] (お気に入りと最近のアクセス) オプションには、お気に入りのアラームと最近アクセスしたアラームの列があります。

アラームは、アラームの状態が変わった場合にのみアクションを呼び出します。例外は、Auto Scaling アクションを持つアラームの場合です。Auto Scaling アクションの場合、アラームは 1 分間に 1 回アクションを呼び出し続け、アラームが新しい状態のままになります。

アラームは、同じアカウントのメトリックスを監視できます。CloudWatch コンソールでクロスアカウント機能を有効にしている場合は、他のAWSアカウントを監視するアラームも作成できます。クロスアカウント複合アラームの作成はサポートされていません。数式を使用するクロスアカウントアラームの作成がサポートされていますが、`ANOMALY_DETECTION_BAND`、`INSIGHT_RULE`、および `SERVICE_QUOTA` 関数は、クロスアカウントアラームではサポートされていません。

**注記**  
CloudWatch は、指定したアクションのテストや検証は行いません。また、存在しないアクションの呼び出しから生じる Amazon EC2 Auto Scaling や Amazon SNS のエラーも検出しません。アラームアクションが存在していることを確認してください。

## CloudWatch アラームの一般的な機能
<a name="common-features-of-alarms"></a>

次の機能は、すべての CloudWatch アラームに適用されます。
+ 作成できるアラームの数に制限はありません。アラームを作成または更新するには、CloudWatch コンソール、[PutMetricAlarm](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_PutMetricAlarm.html) API アクション、または AWS CLI の [put-metric-alarm](https://docs.aws.amazon.com/cli/latest/reference/cloudwatch/put-metric-alarm.html) コマンドを使用します。
+ アラーム名には UTF-8 文字のみを使用する必要があり、ASCII 制御文字は使用できません。
+ 現在設定しているアラームのいずれかまたはすべてを一覧表示したり、特定の状態にあるアラームを一覧表示したりするには、CloudWatch コンソール、[DescribeAlarms](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_DescribeAlarms.html) API アクション、または AWS CLI の [describe-alarms](https://docs.aws.amazon.com/cli/latest/reference/cloudwatch/describe-alarms.html) コマンドを使用します。
+ アラームアクションを無効または有効にするには、[DisableAlarmActions](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_DisableAlarmActions.html) および [EnableAlarmActions](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_EnableAlarmActions.html) API アクション、または AWS CLI の [disable-alarm-actions](https://docs.aws.amazon.com/cli/latest/reference/cloudwatch/disable-alarm-actions.html) および [enable-alarm-actions](https://docs.aws.amazon.com/cli/latest/reference/cloudwatch/enable-alarm-actions.html) コマンドを使用します。
+ アラームの動作をテストするには、[SetAlarmState](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_SetAlarmState.html) API アクションまたは AWS CLI の [set-alarm-state](https://docs.aws.amazon.com/cli/latest/reference/cloudwatch/set-alarm-state.html) コマンドを使用して、アラームを任意の状態に設定します。この一時的な状態変更が持続するのは、次のアラーム比較が行われるときまでです。
+ カスタムメトリクスを作成する前に、カスタムメトリクスのアラームを作成できます。アラームを有効にするには、メトリクス名前空間およびメトリクス名に加えて、カスタムメトリクスのディメンションをすべてアラームの定義に含める必要があります。これを行うには、[PutMetricAlarm](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_PutMetricAlarm.html) API アクションを使用するか、AWS CLI で [put-metric-alarm](https://docs.aws.amazon.com/cli/latest/reference/cloudwatch/put-metric-alarm.html) コマンドを使用します。
+ アラームの履歴を表示するには、CloudWatch コンソール、[DescribeAlarmHistory](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_DescribeAlarmHistory.html) API アクション、または AWS CLI の [describe-alarm-history](https://docs.aws.amazon.com/cli/latest/reference/cloudwatch/describe-alarm-history.html) コマンドを使用します。CloudWatch は、アラーム履歴を 30 日間保存します。状態変化ごとに固有のタイムスタンプが付きます。まれに、1 つの状態変化に対して複数の通知が履歴に残されることがあります。タイムスタンプによって状態変化を区別できます。
+  [Favorites and recents] (お気に入りと最近のアクセス) オプションでお気に入りのアラームにカーソルを合わせ、その横にある星記号をクリックして、CloudWatch コンソールのナビゲーションペインにお気に入りとして登録できます。
+ アラームには評価期間クォータがあります。評価期間は、アラーム期間と、使用された評価期間の数を掛けて計算されます。
  + アラームの最大評価期間は 7 日間で、最低のアラーム期間は 1 時間 (3600 秒) です。
  + 短いアラーム期間の場合、最大評価期間は 1 日になります。
  + カスタム Lambda データソースを使用するアラームの場合、最大評価期間は 1 日です。

**注記**  
特定の状況では、AWS リソースが CloudWatch にメトリクスデータを送信しないことがあります。  
例えば、Amazon EBS は、Amazon EC2 インスタンスに追加されていない利用可能なボリュームに関するメトリクスデータを送信しないことがあります。これは、そのボリュームでモニターリングするメトリクスの動作がないためです。このようなメトリクスにアラームを設定すると、状態が `INSUFFICIENT_DATA` に変わる場合があります。これは、リソースが動作していないことを示すもので、必ずしも問題があることを意味しているわけではありません。各アラームが欠落データを処理する方法を指定できます。詳細については、「[CloudWatch アラームの欠落データの処理の設定](alarms-and-missing-data.md)」を参照してください。