

# CloudWatch を使用したインスタンスのモニタリング
<a name="using-cloudwatch"></a>

Amazon CloudWatch を使用してインスタンスをモニタリングすることで、Amazon EC2 から未加工データを収集し、リアルタイムに近い読み取り可能なメトリクスに加工することができます。これらの統計は 15 か月間記録されるため、履歴情報にアクセスしてウェブアプリケーションやサービスの動作をより的確に把握できます。

デフォルトでは Amazon EC2 は 5 分ごとにメトリクスデータを CloudWatch に送信します。1 分ごとにインスタンスのメトリクスデータを CloudWatch に送信するにはインスタンスで詳細モニタリングを有効にできます。詳細については「[EC2 インスタンスの詳細モニタリングを管理する](manage-detailed-monitoring.md)」を参照してください。

Amazon EC2 コンソールには、Amazon CloudWatch の未加工データに基づいて一連のグラフが表示されます。必要に応じて、コンソールのグラフではなく Amazon CloudWatch からインスタンスのデータを取得することもできます。

Amazon CloudWatch の請求とコストに関する情報については、「*Amazon CloudWatch ユーザーガイド*」の「[CloudWatch の請求とコスト](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_billing.html)」を参照してください。

**Topics**
+ [Amazon EC2 コンソールで EC2 インスタンスの CloudWatch アラームを管理する](ec2-instance-alarms.md)
+ [EC2 インスタンスの詳細モニタリングを管理する](manage-detailed-monitoring.md)
+ [インスタンスに対して利用可能な CloudWatch メトリクス](viewing_metrics_with_cloudwatch.md)
+ [Amazon EC2 コンソールを使用して CloudWatch エージェントをインストールおよび設定し、メトリクスを追加する](install-and-configure-cloudwatch-agent-using-ec2-console.md)
+ [インスタンスに対する CloudWatch メトリクスの統計](monitoring_get_statistics.md)
+ [インスタンスのモニタリンググラフを表示する](graphs-in-the-aws-management-console.md)
+ [インスタンスの CloudWatch アラームを作成する](using-cloudwatch-createalarm.md)
+ [インスタンスを停止、終了、再起動、または復旧するアラームを作成する](UsingAlarmActions.md)

# Amazon EC2 コンソールで EC2 インスタンスの CloudWatch アラームを管理する
<a name="ec2-instance-alarms"></a>

Amazon EC2 コンソールの **[インスタンス]** 画面から、インスタンスのための Amazon CloudWatch アラームを管理できます。**[インスタンス**] テーブルの **[アラームステータス]** 列にはアラームを表示するためのコントロールと、アラームを作成または編集するためのコントロールの 2 つのコンソールコントロールがあります。次のスクリーンショットは、**[1]** (**[アラームの表示]**) と **[2]** (アラームを作成または編集するための **[\$1]** 記号) の番号が付されたこれらのコンソールコントロールを示しています。

![\[EC2 コンソールでアラームを表示および作成するための [インスタンス] テーブルのコントロール。1. アラーム 2 を表示します。プラス記号。\]](http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/images/instance-alarms.png)


## インスタンス画面からアラームを表示する
<a name="view-ec2-instance-alarms"></a>

**[インスタンス]** 画面から各インスタンスのアラームを表示できます。

**インスタンス画面からインスタンスのアラームを表示する方法**

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

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

1. **[インスタンス]** テーブルで、選択したインスタンスの **[アラームの表示]** (前のスクリーンショットでの **[1]** 番) を選択してください。

1. **[*i-1234567890abcdef0* のアラーム詳細]** ウィンドウで、CloudWatch コンソールにアラームを表示させるアラームの名前を選択します。

## インスタンス画面からアラームを作成する
<a name="create-ec2-instance-alarms"></a>

**[インスタンス]**画面からインスタンスごとにアラームを作成できます。

**インスタンス画面からインスタンスにアラームを作成する方法**

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

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

1. **[インスタンス]** テーブルで、選択したインスタンスに対してプラス記号 (前のスクリーンショットでの **[2]** 番) を選択してください。

1. **[CloudWatch アラームの管理]** 画面で、アラームを作成します。詳細については「[インスタンスの CloudWatch アラームを作成する](using-cloudwatch-createalarm.md)」を参照してください。

## インスタンス画面からアラームを編集する
<a name="edit-ec2-instance-alarms"></a>

**[インスタンス]**画面からインスタンスのためのアラームを編集できます。

**インスタンス画面からインスタンスにアラームを編集するには**

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

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

1. **[インスタンス]** テーブルで、選択したインスタンスに対してプラス記号 (前のスクリーンショットでの **[2]** 番) を選択してください。

1. **[CloudWatch アラームの管理]** 画面で、アラームを編集します。詳細については、「*Amazon CloudWatch ユーザーガイド*」の「[CloudWatch アラームの編集または削除](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Manage-CloudWatch-Alarm.html#Edit-CloudWatch-Alarm)」を参照してください。

# EC2 インスタンスの詳細モニタリングを管理する
<a name="manage-detailed-monitoring"></a>

Amazon CloudWatch には*基本モニタリング*と*詳細モニタリング*の 2 つのカテゴリのモニタリングが用意されています。デフォルトではインスタンスは基本モニタリングを使用するように設定されています。オプションで詳細モニタリングを有効にすることで、運用上の問題をより迅速に特定して対処できるようにすることができます。インスタンスの起動時、実行中、または停止中に、詳細モニタリングを有効にしたり無効にしたりできます。

インスタンスで詳細モニタリングを有効にしても、そのインスタンスにアタッチされている EBS ボリュームのモニタリングには影響しません。詳細については「[Amazon EBS の Amazon CloudWatch メトリクス](https://docs.aws.amazon.com/ebs/latest/userguide/using_cloudwatch_ebs.html)」を参照してください。

次のテーブルはインスタンスの基本モニタリングと詳細モニタリングの違いを示しています。


| モニタリングタイプ | 説明 | 料金 | 
| --- | --- | --- | 
| 基本モニターリング |  ステータスチェックメトリクスは 1 分間隔で利用できます。その他のメトリクスはすべて 5 分間隔で利用できます。  | 料金は発生しません。 | 
| 詳細モニターリング | インスタンスの詳細モニタリングが有効化されている場合は、1 分間隔でメトリクスを取得できます。 詳細モニタリングを有効にすると、同様のインスタンスグループ全体のデータを集計できます。 | 料金はAmazon EC2 が CloudWatch に送信したメトリクスごとに発生します。データストレージに対しては料金が発生しません。詳細については、「[Amazon CloudWatch 料金表](https://aws.amazon.com/cloudwatch/pricing/#Paid_tier)」ページの「有料利用枠」を参照してください。 | 

**Topics**
+ [必要な許可](#iam-detailed-monitoring)
+ [起動時に詳細モニタリングを有効にする](#enable-detailed-monitoring)
+ [詳細モニタリングを管理する](#disable-detailed-monitoring)

## 必要な許可
<a name="iam-detailed-monitoring"></a>

インスタンスの詳細モニタリングを有効にするにはユーザーに [https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_MonitorInstances.html](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_MonitorInstances.html) API アクションを使用するための許可が必要です。インスタンスの詳細モニタリングをオフにするにはユーザーに [https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_UnmonitorInstances.html](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_UnmonitorInstances.html) API アクションを使用するための許可が必要です。

## 起動時に詳細モニタリングを有効にする
<a name="enable-detailed-monitoring"></a>

起動時に詳細モニタリングを有効にするには次の手順を使用します。デフォルトではインスタンスでは基本モニタリングが使用されます。

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

**インスタンスの起動時に詳細モニタリングを有効にするには**  
Amazon EC2 コンソールを使用してインスタンスを起動するとき、**[高度な詳細]** で、**[CloudWatch モニタリングの詳細]** チェックボックスを選択してください。

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

**インスタンスの起動時に詳細モニタリングを有効にするには**  
`--monitoring` オプションで [run-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/run-instances.html) コマンドを使用します。

```
--monitoring Enabled=true
```

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

**インスタンスの起動時に詳細モニタリングを有効にするには**  
`-Monitoring` パラメータで [New-EC2Instance](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2Instance.html) コマンドレットを使用します。

```
-Monitoring $true
```

------

## 詳細モニタリングを管理する
<a name="disable-detailed-monitoring"></a>

実行中または停止中のインスタンスの詳細モニタリングを管理するには次の手順を使用します。

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

**詳細モニタリングを管理するには**

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

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

1. インスタンスを選択してください。

1. **[アクション]**、**[モニタリングとトラブルシューティング]**、**[詳細モニタリングの管理]** の順に選択してください。

1. **[詳細モニタリング]** ページの **[詳細モニタリング]** で、次のいずれかを実行します。
   + 詳細モニタリング – **[有効]** を選択してください。
   + 基本モニタリング — **[有効]** をクリアします。

1. **[確認]** を選択してください。

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

**詳細モニタリングを有効にするには**  
次の [monitor-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/monitor-instances.html) コマンドを使用します。

```
aws ec2 monitor-instances --instance-ids i-1234567890abcdef0
```

**詳細モニタリングを無効にするには**  
[unmonitor-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/unmonitor-instances.html) コマンドを使用します。

```
aws ec2 unmonitor-instances --instance-ids i-1234567890abcdef0
```

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

**詳細モニタリングを有効にするには**  
[Start-EC2InstanceMonitoring](https://docs.aws.amazon.com/powershell/latest/reference/items/Start-EC2InstanceMonitoring.html) コマンドレットを使用します。

```
Start-EC2InstanceMonitoring -InstanceId i-1234567890abcdef0
```

**詳細モニタリングを無効にするには**  
[Stop-EC2InstanceMonitoring](https://docs.aws.amazon.com/powershell/latest/reference/items/Stop-EC2InstanceMonitoring.html) コマンドレットを使用します。

```
Stop-EC2InstanceMonitoring -InstanceId i-1234567890abcdef0
```

------

# インスタンスに対して利用可能な CloudWatch メトリクス
<a name="viewing_metrics_with_cloudwatch"></a>

Amazon EC2 はメトリクスを Amazon CloudWatch に送信します。AWS マネジメントコンソール、AWS CLI、または API を使用して、Amazon EC2 が CloudWatch に送信するメトリクスを一覧表示できます。デフォルトで、各データポイントではインスタンスのアクティビティの開始後 5 分間が対象となります。詳細モニタリングを有効にした場合、各データポイントは開始後 1 分間のアクティビティを対象とします。注意事項[最小]、[最大]、[平均] の統計ではEC2 が提供するメトリックスの最小粒度は 1 分であることに注意します。

AWS マネジメントコンソール または AWS CLI を使用して利用可能なメトリクスを表示する方法の詳細については,「*Amazon CloudWatch ユーザーガイド*」の「[利用可能なメトリクスを表示する](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/viewing_metrics_with_cloudwatch.html)」を参照してください。

これらのメトリクスの統計の取得については[インスタンスに対する CloudWatch メトリクスの統計](monitoring_get_statistics.md)を参照してください。

**Topics**
+ [インスタンスメトリクス](#ec2-cloudwatch-metrics)
+ [アクセラレーターメトリクス](#accelerator-metrics)
+ [CPU クレジットメトリクス](#cpu-credit-metrics)
+ [専用ホストメトリクス](#dh-metrics)
+ [Nitro ベースのインスタンスの Amazon EBS メトリクス](#ebs-metrics-nitro)
+ [ステータスチェックメトリクス](#status-check-metrics)
+ [トラフィックミラーリングのメトリクス](#traffic-mirroring-metrics)
+ [Auto Scaling グループメトリクス](#autoscaling-metrics)
+ [Amazon EC2 メトリクスディメンション](#ec2-cloudwatch-dimensions)
+ [Amazon EC2 使用状況メトリクス](#service-quota-metrics)

## インスタンスメトリクス
<a name="ec2-cloudwatch-metrics"></a>

`AWS/EC2` 名前空間には次のインスタンスメトリクスが含まれます。


| メトリクス | 説明 | Unit | 有意義な統計 | 
| --- | --- | --- | --- | 
| CPUUtilization |  Amazon EC2 が EC2 インスタンスを実行するために使用する物理 CPU 時間の割合。これにはユーザーコードと Amazon EC2 コードの両方を実行するために費やされた時間が含まれます。 非常に高いレベルでは`CPUUtilization` はゲスト `CPUUtilization` とハイパーバイザー `CPUUtilization` の合計です。 オペレーティングシステムのツールは CloudWatch と異なる割合を表示することがあります。これはレガシーデバイスのシミュレーション、レガシーではないデバイスの設定、中断の多いワークロード、ライブ移行、ライブアップデートなどが原因です。  |  Percent  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/viewing_metrics_with_cloudwatch.html)  | 
| DiskReadOps |  指定された期間にインスタンスで利用できるすべてのインスタンスストアボリュームでの、完了した読み取り操作。 その期間の 1 秒あたりの I/O 操作回数 (IOPS) の平均を算出するにはその期間の操作回数の合計をその期間の秒数で割ります。 インスタンスストアボリュームがない場合は、値が 0 であるか、メトリクスがレポートされません。  |  Count  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/viewing_metrics_with_cloudwatch.html)  | 
| DiskWriteOps |  指定された期間にインスタンスで利用できるすべてのインスタンスストアボリュームへの、完了した書き込み操作。 その期間の 1 秒あたりの I/O 操作回数 (IOPS) の平均を算出するにはその期間の操作回数の合計をその期間の秒数で割ります。 インスタンスストアボリュームがない場合は、値が 0 であるか、メトリクスがレポートされません。  |  Count  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/viewing_metrics_with_cloudwatch.html)  | 
| DiskReadBytes |  インスタンスで利用できるすべてのインスタンスストアボリュームから読み取られたバイト数。 このメトリクスを使用すると、このインスタンスのハードディスクからアプリケーションが読み取るデータの量がわかります。これを利用すると、アプリケーションの速度がわかります。 報告された数は期間中に受信されたバイト数です。基本 (5 分) モニタリングを使用している場合、この数を 300 で除算してバイト/秒を求めることができます。詳細 (1 分) モニタリングを使用している場合はこの数を 60 で除算します。CloudWatch メトリクスの計算関数 `DIFF_TIME` を使用して、1 秒あたりのバイト数を求めることもできます。例えば、CloudWatch で `DiskReadBytes` のグラフを `m1` として作成した場合、メトリクスの数式 `m1/(DIFF_TIME(m1))` はメトリクスをバイト/秒単位で返します。`DIFF_TIME` およびメトリクス計算関数の詳細については、「*Amazon CloudWatch ユーザーガイド*」の「[メトリクス数式の使用](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/using-metric-math.html)」を参照してください。 インスタンスストアボリュームがない場合は値が 0 であるか、メトリクスがレポートされません。  |  Bytes  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/viewing_metrics_with_cloudwatch.html)  | 
| DiskWriteBytes |  インスタンスで利用できるすべてのインスタンスストアボリュームに書き込まれたバイト数。 このメトリクスを使用すると、このインスタンスのハードディスクにアプリケーションが書き込むデータの量がわかります。これを利用すると、アプリケーションの速度がわかります。 報告された数は期間中に受信されたバイト数です。基本 (5 分) モニタリングを使用している場合、この数を 300 で除算してバイト/秒を求めることができます。詳細 (1 分) モニタリングを使用している場合はこの数を 60 で除算します。CloudWatch メトリクスの計算関数 `DIFF_TIME` を使用して、1 秒あたりのバイト数を求めることもできます。例えば、CloudWatch で `DiskWriteBytes` のグラフを `m1` として作成した場合、メトリクスの数式 `m1/(DIFF_TIME(m1))` はメトリクスをバイト/秒単位で返します。`DIFF_TIME` およびメトリクス計算関数の詳細については、「*Amazon CloudWatch ユーザーガイド*」の「[メトリクス数式の使用](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/using-metric-math.html)」を参照してください。 インスタンスストアボリュームがない場合は値が 0 であるか、メトリクスがレポートされません。  |  Bytes  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/viewing_metrics_with_cloudwatch.html)  | 
| MetadataNoToken |  トークンを使用しないメソッドを使用してインスタンスメタデータサービス (IMDS) に正常にアクセスした回数。 このメトリクスにより、トークンを使用しないインスタンスメタデータサービスバージョン 1 (IMDSv1) を使用してインスタンスメタデータにアクセスするプロセスがあるかどうかがわかります。すべてのリクエストがトークン支援のセッション (インスタンスメタデータサービスバージョン 2 (IMDSv2)) を使用している場合、値は 0 になります。詳細については、「[インスタンスメタデータサービスバージョン 2 の使用への移行](instance-metadata-transition-to-version-2.md)」を参照してください。  |  Count  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/viewing_metrics_with_cloudwatch.html)  | 
| MetadataNoTokenRejected |  IMDSv1 が無効になった後に IMDSv1 呼び出しが試行された回数。 このメトリクスが表示された場合はIMDSv1 呼び出しが試行され、拒否されたことを示します。IMDSv1 を再度有効にするか、すべての呼び出しで IMDSv2 が使用されていることを確認します。詳細については、「[インスタンスメタデータサービスバージョン 2 の使用への移行](instance-metadata-transition-to-version-2.md)」を参照してください。  |  Count  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/viewing_metrics_with_cloudwatch.html)  | 
| NetworkIn |  すべてのネットワークインターフェイスを通じ、このインスタンスによって受信されたバイトの数。このメトリクスは 1 つのインスタンスへの受信ネットワークトラフィックの量を表しています。 報告された数は期間中に受信されたバイト数です。基本 (5 分) のモニタリングで統計情報に 合計 使用している場合であれば、この数を 300 で除算してバイト/秒の値を求めることができます。詳細 (1 分) のモニタリングで統計情報に 合計 使用している場合合はこの数を 60 で除算します。  |  Bytes  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/viewing_metrics_with_cloudwatch.html)  | 
| NetworkOut |  すべてのネットワークインターフェイスを通じ、このインスタンスから送信されたバイトの数。このメトリクスは 1 つのインスタンスからの送信ネットワークトラフィックの量を表しています。 報告された数は期間中に送信されたバイト数です。基本 (5 分) のモニタリングで統計情報に 合計 使用している場合であれば、この数を 300 で除算してバイト/秒の値を求めることができます。詳細 (1 分) のモニタリングで統計情報に 合計 使用している場合合はこの数を 60 で除算します。  |  Bytes  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/viewing_metrics_with_cloudwatch.html)  | 
| NetworkPacketsIn |  すべてのネットワークインターフェイスを通じ、このインスタンスによって受信されたパケットの数。このメトリクスは受信トラフィックのボリュームを単一インスタンスでのパケット数として識別します。 このメトリクスは基本モニタリング (5分間) でのみ使用が可能です。5 分間でインスタンスが受信した 1 秒あたりのパケット数 (PPS) を計算するには、Sum の統計値を 300 で割ることで算出されます。  |  Count  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/viewing_metrics_with_cloudwatch.html)  | 
| NetworkPacketsOut |  すべてのネットワークインターフェイスを通じ、このインスタンスから送信されたパケットの数。このメトリクスは送信トラフィックのボリュームを単一インスタンスでのパケット数として識別します。 このメトリクスは基本モニタリング (5分間) でのみ使用が可能です。5 分間にインスタンスが受信した 1 秒あたりのパケット数 (PPS) を計算するには合計 統計値を 300 で割ります。  |  Count  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/viewing_metrics_with_cloudwatch.html)  | 

## アクセラレーターメトリクス
<a name="accelerator-metrics"></a>

`AWS/EC2` 名前空間には、[高速コンピューティングインスタンス](https://docs.aws.amazon.com/ec2/latest/instancetypes/ac.html)向けの以下のアクセラレーターメトリクスが含まれています。このメトリクスは、高速コンピューティングインスタンスタイプのサブセットのみでサポートされます。


| メトリクス | 説明 | Unit | 有意義な統計 | 
| --- | --- | --- | --- | 
| GPUPowerUtilization | 最大有効電力の割合 (%) としての有効電力使用量。 | 割合 (%) |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/viewing_metrics_with_cloudwatch.html)  | 

## CPU クレジットメトリクス
<a name="cpu-credit-metrics"></a>

`AWS/EC2` 名前空間は[バーストパフォーマンスインスタンス](burstable-performance-instances.md)の以下の CPU クレジットメトリクスを含みます。


| メトリクス | 説明 | Unit | 有意義な統計 | 
| --- | --- | --- | --- | 
| CPUCreditUsage |  CPU 使用率に関してインスタンスで消費される CPU クレジットの数。1 つの CPU クレジットは1 個の vCPU が 100% の使用率で 1 分間実行されること、またはvCPU、使用率、時間の同等の組み合わせ (例えば、1 個の vCPU が 50% の使用率で 2 分間実行されるか、2 個の vCPU が 25% の使用率で 2 分間実行される) に相当します。 CPU クレジットメトリクスは5 分間隔でのみ利用可能です。5 分を超える期間を指定する場合は`Average` 統計の代わりに `Sum` 統計を使用します。  |  クレジット (vCPU 分)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/viewing_metrics_with_cloudwatch.html)  | 
| CPUCreditBalance |  インスタンスが起動または開始後に蓄積した獲得 CPU クレジットの数。T2 スタンダードの場合、`CPUCreditBalance` には蓄積された起動クレジットの数も含まれます。 クレジットは獲得後にクレジット残高に蓄積され、消費されるとクレジット残高から削除されます。クレジット残高にはインスタンスサイズによって決まる上限があります。制限に到達すると、獲得された新しいクレジットはすべて破棄されます。T2 スタンダードの場合、起動クレジットは制限に対してカウントされません。 `CPUCreditBalance` のクレジットはインスタンスがそのベースライン CPU 使用率を超えてバーストするために消費できます。 インスタンスが実行中の場合、`CPUCreditBalance` のクレジットは期限切れになりません。T3 または T3a インスタンスが停止すると、`CPUCreditBalance` 値は 7 日間保持されます。その後、蓄積されたすべてのクレジットが失われます。T2 インスタンスが停止すると、`CPUCreditBalance` 値は保持されず、蓄積されたすべてのクレジットが失われます。 CPU クレジットメトリクスは5 分間隔でのみ利用可能です。  |  クレジット (vCPU 分)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/viewing_metrics_with_cloudwatch.html)  | 
| CPUSurplusCreditBalance  |  `CPUCreditBalance` 値がゼロの場合に `unlimited` インスタンスによって消費された余剰クレジットの数。 `CPUSurplusCreditBalance` 値は獲得した CPU クレジットによって支払われます。余剰クレジットの数が、24 時間にインスタンスが獲得できるクレジットの最大数を超えている場合、最大数を超えて消費された余剰クレジットに対しては料金が発生します。 CPU クレジットメトリクスは5 分間隔でのみ利用可能です。  |  クレジット (vCPU 分)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/viewing_metrics_with_cloudwatch.html)  | 
| CPUSurplusCreditsCharged |  獲得 CPU クレジットにより支払われないために追加料金が発生した、消費された余剰クレジットの数。 消費された余剰クレジットは以下のいずれかの状況に当てはまると料金が発生します。 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/viewing_metrics_with_cloudwatch.html) CPU クレジットメトリクスは5 分間隔でのみ利用可能です。  |  クレジット (vCPU 分)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/viewing_metrics_with_cloudwatch.html)  | 

## 専用ホストメトリクス
<a name="dh-metrics"></a>

`AWS/EC2` 名前空間にはT3 専用ホスト のための以下のメトリクスが含まれます。


| メトリクス | 説明 | Unit | 有意義な統計 | 
| --- | --- | --- | --- | 
|  DedicatedHostCPUUtilization |  Dedicated Host で実行されているインスタンスによって現在使用されている割り当て済みコンピューティング容量の割合。  |  Percent  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/viewing_metrics_with_cloudwatch.html)  | 

## Nitro ベースのインスタンスの Amazon EBS メトリクス
<a name="ebs-metrics-nitro"></a>

`AWS/EC2` 名前空間にはベアメタルインスタンスではない、Nitro ベースのインスタンスにアタッチされているボリュームに関する、追加の Amazon EBS メトリクスが含まれます。


| メトリクス | 説明 | Unit | 有意義な統計 | 
| --- | --- | --- | --- | 
|  InstanceEBSIOPSExceededCheck  |  過去 1 分以内にアプリケーションがインスタンスの最大 EBS IOPS 制限を超える IOPS を駆動しようとしたかどうかをレポートします。このメトリクスは、`0` (IOPS 制限を超えていない) または `1` (IOPS 制限を超えている) のいずれの値をとります。  |  なし  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/viewing_metrics_with_cloudwatch.html)  | 
|  InstanceEBSThroughputExceededCheck  |  過去 1 分以内にアプリケーションがインスタンスの最大 EBS スループット制限を超えるスループットを駆動しようとしたかどうかをレポートします。このメトリクスは、`0` (スループット制限を超えていない) または `1` (スループット制限を超えている) のいずれかの値をとります。  |  なし  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/viewing_metrics_with_cloudwatch.html)  | 
|  EBSReadOps |  指定された期間にインスタンスに接続されたすべての Amazon EBS ボリュームからの、完了した読み込みオペレーション。 その期間の 1 秒あたりの読み込み I/O 操作回数 (読み込み IOPS) の平均を算出するにはその期間の操作回数の合計をその期間の秒数で割ります。基本 (5 分) モニタリングを使用している場合、この数を 300 で除算して読み込み IOPS を計算することができます。詳細 (1 分) モニタリングを使用している場合はこの数を 60 で除算します。CloudWatch メトリクスの計算関数 `DIFF_TIME` を使用して、1 秒あたりのオペレーション数を求めることもできます。例えば、CloudWatch で `EBSReadOps` のグラフを `m1` として作成した場合、メトリクスの計算関数 `m1/(DIFF_TIME(m1))` はメトリクスをオペレーション/秒単位で返します。`DIFF_TIME` およびその他のメトリクス計算関数の詳細については、「*Amazon CloudWatch ユーザーガイド*」の「[CloudWatch メトリクスでの数式の使用](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/using-metric-math.html)」を参照してください。  |  カウント  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/viewing_metrics_with_cloudwatch.html)  | 
|  EBSWriteOps  |  指定された期間にインスタンスに接続されたすべての EBS ボリュームからの、完了した書き込み操作。 その期間の 1 秒あたりの書き込み I/O 操作回数 (書き込み IOPS) の平均を算出するにはその期間の操作回数の合計をその期間の秒数で割ります。基本 (5 分) モニタリングを使用している場合、この数を 300 で除算して書き込み IOPS を計算することができます。詳細 (1 分) モニタリングを使用している場合はこの数を 60 で除算します。CloudWatch メトリクスの計算関数 `DIFF_TIME` を使用して、1 秒あたりのオペレーション数を求めることもできます。例えば、CloudWatch で `EBSWriteOps` のグラフを `m1` として作成した場合、メトリクスの計算関数 `m1/(DIFF_TIME(m1))` はメトリクスをオペレーション/秒単位で返します。`DIFF_TIME` およびその他のメトリクス計算関数の詳細については、「*Amazon CloudWatch ユーザーガイド*」の「[CloudWatch メトリクスでの数式の使用](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/using-metric-math.html)」を参照してください。  |  カウント  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/viewing_metrics_with_cloudwatch.html)  | 
|  EBSReadBytes  |  指定した期間内にインスタンスに接続されたすべての EBS ボリュームから読み取られたバイト数。 報告された数は期間中に読み取られたバイト数です。基本 (5 分) モニタリングを使用している場合、この数を 300 で除算して読み込みバイト/秒を求めることができます。詳細 (1 分) モニタリングを使用している場合はこの数を 60 で除算します。CloudWatch メトリクスの計算関数 `DIFF_TIME` を使用して、1 秒あたりのバイト数を求めることもできます。例えば、CloudWatch で `EBSReadBytes` のグラフを `m1` として作成した場合、メトリクスの数式 `m1/(DIFF_TIME(m1))` はメトリクスをバイト/秒単位で返します。`DIFF_TIME` およびメトリクス計算関数の詳細については、「*Amazon CloudWatch ユーザーガイド*」の「[メトリクス数式の使用](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/using-metric-math.html)」を参照してください。  |  バイト  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/viewing_metrics_with_cloudwatch.html)  | 
|  EBSWriteBytes  |  指定した期間内にインスタンスに接続されたすべての EBS ボリュームに書き込まれたバイト数。 報告された数は期間中に書き込まれたバイト数です。基本 (5 分) モニタリングを使用している場合、この数を 300 で除算して書き込みバイト/秒を求めることができます。詳細 (1 分) モニタリングを使用している場合はこの数を 60 で除算します。CloudWatch メトリクスの計算関数 `DIFF_TIME` を使用して、1 秒あたりのバイト数を求めることもできます。例えば、CloudWatch で `EBSWriteBytes` のグラフを `m1` として作成した場合、メトリクスの数式 `m1/(DIFF_TIME(m1))` はメトリクスをバイト/秒単位で返します。`DIFF_TIME` およびメトリクス計算関数の詳細については、「*Amazon CloudWatch ユーザーガイド*」の「[メトリクス数式の使用](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/using-metric-math.html)」を参照してください。  |  バイト  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/viewing_metrics_with_cloudwatch.html)  | 
|  EBSIOBalance%  |  バーストバケットの I/O 残りクレジットの割合に関する情報を提供します。このメトリクスは基本モニタリング専用です。 このメトリクスは少なくとも 24 時間に 1 回、30 分間だけ最大パフォーマンスにバーストする一部の `*.4xlarge` インスタンスサイズ以下でのみ使用できます。 `Sum` 統計はこのメトリクスに該当しません。  |  割合 (%)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/viewing_metrics_with_cloudwatch.html)  | 
|  EBSByteBalance%  |  バーストバケットのスループット残りクレジットの割合に関する情報を提供します。このメトリクスは基本モニタリング専用です。 このメトリクスは少なくとも 24 時間に 1 回、30 分間だけ最大パフォーマンスにバーストする一部の `*.4xlarge` インスタンスサイズ以下でのみ使用できます。 `Sum` 統計はこのメトリクスに該当しません。  |  割合 (%)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/viewing_metrics_with_cloudwatch.html)  | 

EBS ボリューム用のメトリクスの詳細については「*Amazon EBS ユーザーガイド*」の「[Amazon EBS ボリュームのメトリクス](https://docs.aws.amazon.com/ebs/latest/userguide/using_cloudwatch_ebs.html#ebs-volume-metrics)」を参照してください。EC2 フリートおよびスポットフリートに提供されるメトリクスの詳細については「[CloudWatch を使用して EC2 フリートまたはスポットフリートをモニタリングする](ec2-fleet-cloudwatch-metrics.md)」を参照してください。

## ステータスチェックメトリクス
<a name="status-check-metrics"></a>

デフォルトではステータスチェックメトリクスは無料で 1 分の頻度で利用できます。新しく起動したインスタンスの場合、ステータスチェックメトリクスデータはインスタンスが初期化状態を完了するまで使用できません (インスタンスが `running` の状態になってから数分以内)。EC2 ステータスチェックの詳細については[Amazon EC2 インスタンスのステータスチェック](monitoring-system-instance-status-check.md)を参照してください。

`AWS/EC2` 名前空間には次のステータスチェックメトリクスが含まれます。


| メトリクス | 説明 | Unit | 有意義な統計 | 
| --- | --- | --- | --- | 
| StatusCheckFailed |  最近 1 分間にインスタンスがすべてのステータスチェックに成功したかどうかを報告します。 このメトリクスは `0` (合格) または `1` (失敗) となります。 デフォルトではこのメトリクスは無料で 1 分の頻度で利用できます。  |  Count  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/viewing_metrics_with_cloudwatch.html)  | 
| StatusCheckFailed\$1Instance |  最近 1 分間にインスタンスがインスタンスステータスチェックに成功したかどうかを報告します。 このメトリクスは `0` (合格) または `1` (失敗) となります。 デフォルトではこのメトリクスは無料で 1 分の頻度で利用できます。  |  Count  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/viewing_metrics_with_cloudwatch.html)  | 
| StatusCheckFailed\$1System |  最近 1 分間にインスタンスが システムステータスチェックに成功したかどうかを報告します。 このメトリクスは `0` (合格) または `1` (失敗) となります。 デフォルトではこのメトリクスは無料で 1 分の頻度で利用できます。  |  Count  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/viewing_metrics_with_cloudwatch.html)  | 
| StatusCheckFailed\$1AttachedEBS |  直近 1 分間でインスタンスがアタッチ済みの EBS ステータスチェックに成功したかどうかを報告します。 このメトリクスは `0` (合格) または `1` (失敗) となります。 デフォルトではこのメトリクスは無料で 1 分の頻度で利用できます。  |  Count  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/viewing_metrics_with_cloudwatch.html)  | 

`AWS/EBS` 名前空間には次のステータスチェックメトリクスが含まれます。


| メトリクス | 説明 | Unit | 有意義な統計 | 
| --- | --- | --- | --- | 
| VolumeStalledIOCheck |  **注:** Nitro インスタンスのみが対象です。Amazon ECS と AWS Fargate タスクにアタッチされたボリュームについては公開されていません。 ボリュームが過去 1 分間の*ストールした* IO のチェックに合格したか失敗したかを報告します。このメトリクスは `0` (合格) または `1` (失敗) となります。  |  なし  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/viewing_metrics_with_cloudwatch.html)  | 

## トラフィックミラーリングのメトリクス
<a name="traffic-mirroring-metrics"></a>

`AWS/EC2` 名前空間にはミラートラフィックのメトリクスが含まれます。詳細については「*Amazon VPC トラフィックミラーリングガイド*」の「[Monitor mirrored traffic using Amazon CloudWatch](https://docs.aws.amazon.com/vpc/latest/mirroring/traffic-mirror-cloudwatch.html)」(Amazon CloudWatch によるミラーリングされたトラフィックのモニタリング) を参照してください。

## Auto Scaling グループメトリクス
<a name="autoscaling-metrics"></a>

`AWS/AutoScaling` 名前空間にはAuto Scaling グループのメトリクスが含まれます。詳細については「*Amazon EC2 Auto Scaling ユーザーガイド*」の「[Auto Scaling グループとインスタンスの CloudWatch メトリクスのモニタリング](https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-cloudwatch-monitoring.html)」ご参照してください。

## Amazon EC2 メトリクスディメンション
<a name="ec2-cloudwatch-dimensions"></a>

以下のディメンションを使用して、前の表に示したメトリクスを絞り込むことができます。


| ディメンション | 説明 | 
| --- | --- | 
|  AutoScalingGroupName  |  このディメンションを指定すると、リクエストしたデータがフィルタリングされて、指定したキャパシティーグループ内のインスタンスのものだけになります。*Auto Scaling グループ*はAuto Scaling を使用する場合に定義するインスタンスのコレクションです。このディメンションを Amazon EC2 のメトリクスに対して使用できるのはインスタンスが Auto Scaling グループ内にあるときに限られます。詳細モニタリングまたは基本モニタリングが有効になっているインスタンスに対して使用できます。  | 
|  ImageId  |  このディメンションを指定すると、リクエストしたデータがフィルタリングされて、この Amazon EC2 Amazon マシンイメージ (AMI) を実行しているインスタンスのものだけになります。詳細モニタリングが有効になっているインスタンスに対して使用できます。  | 
|  InstanceId  |  このディメンションを指定すると、リクエストしたデータがフィルタリングされて、指定のインスタンスのものだけになります。これを利用すると、どのインスタンスからのデータをモニタリングするかを指定できます。  | 
|  InstanceType  |  このディメンションを指定すると、リクエストしたデータがフィルタリングされて、指定のインスタンスタイプで実行されているインスタンスのものだけになります。これを利用すると、実行されているインスタンスのタイプでデータを分類することができます。例えば、m1.small インスタンスと m1.large インスタンスのデータを比較して、アプリケーションに対するビジネス価値はどちらが上かを判断します。詳細モニタリングが有効になっているインスタンスに対して使用できます。  | 

## Amazon EC2 使用状況メトリクス
<a name="service-quota-metrics"></a>

CloudWatch 使用状況メトリクスを使用して、アカウントのリソースの使用状況を把握できます。これらのメトリクスを使用して、CloudWatch グラフやダッシュボードで現在のサービスの使用状況を可視化できます。

Amazon EC2 使用状況メトリクスはAWS のサービスクォータに対応しています。使用量がサービスクォータに近づいたときに警告するアラームを設定することもできます。CloudWatch とサービスクオータの統合については、「*Amazon CloudWatch ユーザーガイド*」の「[AWS 使用状況メトリクス](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Service-Quota-Integration.html)」を参照してください。

Amazon EC2 は`AWS/Usage` 名前空間に以下のメトリクスを公開します。


| メトリクス | 説明 | 
| --- | --- | 
| `ResourceCount` |  アカウントで実行されている指定されたリソースの数。リソースはメトリクスに関連付けられたディメンションによって定義されます。 このメトリクスで最も役に立つ統計は `MAXIMUM` です。これは1 分間の期間中に使用されるリソースの最大数を表します。  | 

次のディメンションはAmazon EC2 によって発行される使用状況メトリクスを絞り込むために使用されます。


| ディメンション | 説明 | 
| --- | --- | 
|  Service  |  リソースを含む AWS のサービスの名前。Amazon EC2 使用状況メトリクスの場合、このディメンションの値は `EC2` です。  | 
|  Type  |  レポートされるエンティティのタイプ。現在、Amazon EC2 使用状況メトリクスの有効な値は `Resource` のみです。  | 
|  Resource  |  実行中のリソースのタイプ。現在、Amazon EC2 使用状況メトリクスの有効な値は `vCPU` のみです。これは実行中のインスタンスに関する情報を返します。  | 
|  Class  |  追跡されるリソースのクラス。`vCPU` ディメンションの値として `Resource` を使用する Amazon EC2 使用状況メトリクスの場合、有効な値は`Standard/OnDemand`、`F/OnDemand`、`G/OnDemand`、`Inf/OnDemand`、`P/OnDemand`、および `X/OnDemand` です。 このディメンションの値はメトリクスによって報告されるインスタンスタイプの最初の文字を定義します。例えば、`Standard/OnDemand` はA、C、D、H、I、M、R、T、Z で始まるタイプのすべての実行中のインスタンスに関する情報を返し、`G/OnDemand` は G で始まるタイプのすべてのインスタンスに関する情報を返します。  | 

# Amazon EC2 コンソールを使用して CloudWatch エージェントをインストールおよび設定し、メトリクスを追加する
<a name="install-and-configure-cloudwatch-agent-using-ec2-console"></a>


|  | 
| --- |
| Amazon EC2 コンソールを使用した CloudWatch エージェントのインストールおよび設定は Amazon EC2 ではベータ版であり、今後変更される場合があります。 | 

デフォルトで、Amazon CloudWatch は Amazon EC2 インスタンスをモニタリングするための基本的なメトリクス (`CPUUtilization`、`NetworkIn` など) を提供します。追加のメトリクスを収集するにはEC2 インスタンスに CloudWatch エージェントをインストールします。その後、選択したメトリクスを出力するようにエージェントを設定します。すべての EC2 インスタンスに CloudWatch エージェントを手動でインストールして設定するのではなく、Amazon EC2 コンソールを使用してインストールおよび設定を行えます。

Amazon EC2 コンソールを使用して、インスタンスに CloudWatch エージェントをインストールし、選択したメトリクスを出力するようにエージェントを設定できます。

このプロセスを手動で実行するときは、「*Amazon CloudWatch ユーザーガイド*」の「[CloudWatch エージェントのインストール](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/install-CloudWatch-Agent-on-EC2-Instance.html)」を参照してください。CloudWatch エージェントの詳細については「[CloudWatch エージェントを使用してメトリクス、ログ、トレースを収集する](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Install-CloudWatch-Agent.html)」を参照してください。

**Topics**
+ [前提条件](#install-and-configure-cw-agent-prerequisites)
+ [仕組み](#install-and-configure-cw-agent-how-it-works)
+ [コスト](#install-and-configure-cw-agent-costs)
+ [CloudWatch エージェントをインストールして設定する](#install-and-configure-cw-agent-procedure)

## 前提条件
<a name="install-and-configure-cw-agent-prerequisites"></a>

Amazon EC2 を使用して CloudWatch エージェントをインストールおよび設定するにはこのセクションで説明するユーザーとインスタンスの前提条件を満たす必要があります。

**ヒント**  
この機能はすべての AWS リージョン で利用できるわけではありません。このページのインストール手順で説明されているメニュー項目が Amazon EC2 コンソールに存在せず、インスタンスの実行場所について柔軟に対応できる場合は、別のリージョンをお試しください。それ以外の場合は、「*Amazon CloudWatch ユーザーガイド*」の手動の指示に従ってエージェントをインストールおよび設定することができます。

**ユーザーの前提条件**  
この機能を使用するにはIAM コンソールユーザーまたはロールはAmazon EC2 を使用するために必要なアクセス許可および、次の IAM アクセス許可を持っている必要があります。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ssm:GetParameter",
                "ssm:PutParameter"
            ],
            "Resource": "arn:aws:ssm:*:*:parameter/EC2-Custom-Metrics-*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "ssm:SendCommand",
                "ssm:ListCommandInvocations",
                "ssm:DescribeInstanceInformation"
            ],
            "Resource": [
                "*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "iam:GetInstanceProfile",
                "iam:SimulatePrincipalPolicy"
            ],
            "Resource": "*"
        }
    ]
}
```

------

**インスタンスの前提条件**
+ インスタンスの状態: `running`
+ サポートされるオペレーティングシステム：Linux
+ AWS Systems Manager Agent (SSM Agent): インストール済み。SSM エージェントに関する注意事項は 2 つあります。
  + SSM Agent はAWS および信頼できるサードパーティが提供している一部の Amazon マシンイメージ (AMI) にプリインストールされています。サポートされている AMI と SSM Agent のインストール手順については「*AWS Systems Manager ユーザーガイド*」の「[SSMエージェントをプリインストール付 Amazon マシンイメージ (AMI) ](https://docs.aws.amazon.com/systems-manager/latest/userguide/ami-preinstalled-agent.html)」を参照してください。
  + SSM Agent で問題が発生した場合は「*AWS Systems Manager ユーザーガイド*」の「[SSMエージェントのトラブルシューティング](https://docs.aws.amazon.com/systems-manager/latest/userguide/troubleshooting-ssm-agent.html)」を参照してください。
+ インスタンスの IAM アクセス許可: インスタンスにアタッチされている IAM ロールには以下の AWS 管理ポリシーを追加する必要があります。
  + [AmazonSSMManagedInstanceCore](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonSSMManagedInstanceCore.html) — インスタンスが Systems Manager を使用して CloudWatch エージェントをインストールおよび設定できるようにします。
  + [CloudWatchAgentServerPolicy](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/CloudWatchAgentServerPolicy.html) — インスタンスが CloudWatch エージェントを使用して CloudWatch にデータを書き込めるようにします。

  インスタンスに IAM アクセス許可を追加する方法については「*IAM ユーザーガイド*」の「[インスタンスプロファイルの使用](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-ec2_instance-profiles.html)」を参照してください。

## 仕組み
<a name="install-and-configure-cw-agent-how-it-works"></a>

Amazon EC2 コンソールを使用して CloudWatch エージェントをインストールおよび設定する前に、IAM ユーザーまたはロール、およびメトリクスを追加するインスタンスが特定の前提条件を満たしていることを確認する必要があります。その後 Amazon EC2 コンソールを使用して、選択したインスタンスで CloudWatch エージェントをインストールおよび設定できます。

**まずは[前提条件](#install-and-configure-cw-agent-prerequisites)を満たします**
+ **IAM アクセス許可が必要です** — 開始する前に、この機能を使用するのに必要な IAM アクセス許可がコンソールのユーザーまたはロールにあることを確認してください。
+ **インスタンス** — この機能を使用するにはEC2 インスタンスが Linux インスタンスで、SSM エージェントがインストールされており、インスタンスに必要な IAM アクセス許可がある必要があります。また、インスタンスが実行中である必要があります。

**その後、[機能を使用](#install-and-configure-cw-agent-procedure)できるようになります**

1. **インスタンスを選択する** — Amazon EC2 コンソールで、CloudWatch エージェントをインストールして設定するインスタンスを選択してください。次に、[**CloudWatch エージェントの設定]** を選択してプロセスを開始します。

1. **SSM Agent を検証する** — Amazon EC2 はSSM Agent が各インスタンスにインストールされ起動していることをチェックします。このチェックに合格しないインスタンスはプロセスから除外されます。SSM Agent はこのプロセス中にインスタンスに対してアクションを実行するために使用されます。

1. **IAM アクセス許可を検証する** — Amazon EC2 はこのプロセスに必要な IAM アクセス許可が各インスタンスにあることをチェックします。このチェックに合格しないインスタンスはプロセスから除外されます。IAM アクセス許可により CloudWatch エージェントでインスタンスからメトリクスを収集し、AWS Systems Manager と統合して SSM エージェントを使用できます。

1. **CloudWatch エージェントを検証する** — Amazon EC2 はCloudWatch エージェントが各インスタンスにインストールされ、実行されていることをチェックします。このチェックに合格しないインスタンスがある場合、Amazon EC2 がユーザーに代わって CloudWatch エージェントをインストールおよび起動します。このプロセスが完了すると、CloudWatch エージェントは各インスタンスで選択したメトリクスを収集します。

1. **メトリクス設定を選択する** — CloudWatch エージェントがインスタンスから出力するメトリクスを選択してください。選択すると、Amazon EC2 は設定ファイルをパラメータストアに保存します。設定ファイルはプロセスが完了するまでそこに残ります。Amazon EC2 ではプロセスが中断されない限り、パラメータストアから設定ファイルが削除されます。以前にインスタンスに追加したメトリクスを選択しない場合、このプロセスの完了後にインスタンスから削除されることに注意してください。

1. **CloudWatch エージェント設定を更新する** — Amazon EC2 は CloudWatch エージェントにメトリクス設定を送信します。これがプロセスの最後のステップです。成功すると、インスタンスは選択したメトリクスのデータを出力でき、Amazon EC2 はパラメータストアから設定ファイルを削除します。

## コスト
<a name="install-and-configure-cw-agent-costs"></a>

このプロセス中に追加したメトリクスはカスタムメトリクスとして課金されます。CloudWatch メトリクスの料金の詳細については「[Amazon CloudWatch の料金](https://aws.amazon.com/cloudwatch/pricing/)」を参照してください。

## CloudWatch エージェントをインストールして設定する
<a name="install-and-configure-cw-agent-procedure"></a>

Amazon EC2 コンソールを使用して CloudWatch エージェントをインストールおよび設定し、メトリクスを追加できます。

**注記**  
この手順を実行するたびに、既存の CloudWatch エージェント設定を上書きします。以前に選択したメトリクスを選択しない場合、そのメトリクスはインスタンスから削除されます。

**Amazon EC2 コンソールを使用して CloudWatch エージェントをインストールおよび設定するには**

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

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

1. CloudWatch エージェントをインストールおよび設定するインスタンスを選択してください。

1. [**アクション**]、[**モニタリングとトラブルシューティング**]、[**CloudWatch エージェントの設定**] を選択してください。

1. プロセスの各ステップで、コンソールのテキストを読み、**[次へ]** を選択してください。

1. プロセスを完了するには最後のステップで [**完了**] を選択してください。

**Amazon EC2 コンソールが作成したエージェントの設定を更新するには**  
EC2 コンソールが作成した設定は手動でカスタマイズできます。詳細については、「*Amazon CloudWatch ユーザーガイド*」の「[CloudWatch エージェント設定ファイルを手動で作成または編集する](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Agent-Configuration-File-Details.html)」を参照してください。

# インスタンスに対する CloudWatch メトリクスの統計
<a name="monitoring_get_statistics"></a>

インスタンスの CloudWatch メトリクスの統計情報を取得できます。*統計*とはメトリクスデータを指定した期間で集計したものです。CloudWatch はカスタムデータまたは AWS の他のサービスから CloudWatch に提供された、メトリクスデータポイントに基づく統計を提供します。集約は指定した期間内に、名前空間、メトリクス名、ディメンション、データポイントの測定単位を用いて行われます。次の表は利用可能な統計を説明しています。


| 統計 | 説明 | 
| --- | --- | 
| Minimum |  指定された期間に認められた最小値です。この値を用いて、アプリケーションの低ボリュームのアクティビティを判断できます。  | 
| Maximum |  指定された期間に認められた最大値です。この値を用いて、アプリケーションの高ボリュームのアクティビティを判断できます。  | 
| Sum |  該当するメトリクスで加算されたすべての合計値です。この統計はメトリクスの合計ボリュームを判断するのに役立ちます。  | 
| Average |  指定した期間の `Sum`/`SampleCount` の値です。この統計を `Minimum` および `Maximum` と比較することで、メトリクスの全容、および平均使用量がどれくらい `Minimum` と `Maximum` に近いかを判断できます。この比較は必要に応じていつリソースを増減させるべきかを知るのに役立ちます。  | 
| SampleCount |  統計計算で使用するデータポイントのカウント (数) です。  | 
| pNN.NN |  指定されたパーセンタイルの値。小数点以下最大 2 桁を使用して、任意のパーセンタイルを指定できます (p95.45 など)。  | 

**Topics**
+ [特定のインスタンスの統計を取得する](US_SingleMetricPerInstance.md)
+ [インスタンス全体の統計の集約](GetSingleMetricAllDimensions.md)
+ [Auto Scaling グループ別に統計を集計する](GetMetricAutoScalingGroup.md)
+ [AMI 別に統計を集計する](US_SingleMetricPerAMI.md)

# 特定のインスタンスの統計を取得する
<a name="US_SingleMetricPerInstance"></a>

AWS マネジメントコンソールまたは AWS CLI を使用して、特定のインスタンスの統計を取得できます。次の例ではAWS マネジメントコンソール または AWS CLI を使用して、特定の EC2 インスタンスの最大 CPU 使用率を決定することができます。

**要件**
+ インスタンスの ID が必要です。インスタンス ID はAWS マネジメントコンソール コンソールまたは [describe-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instances.html) コマンドを使って取得します。
+ デフォルトでは基本モニタリングが有効化されていますが、詳細モニタリングを有効化することもできます。詳細については「[EC2 インスタンスの詳細モニタリングを管理する](manage-detailed-monitoring.md)」を参照してください。

**特定のインスタンスの CPU 使用率を表示するには (コンソール)**

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

1. ナビゲーションペインで [**Metrics (メトリクス)**] を選択してください。

1. **EC2** のメトリクスの名前空間を選択してください。

1. **インスタンス別メトリクス**のディメンションを選択してください。

1. 検索フィールドに **CPUUtilization** と入力して Enter キーを押します。特定のインスタンスの行を選択してください。すると、そのインスタンスの [**CPUUtilization**] メトリクスのグラフが表示されます。グラフに名前を付けるには鉛筆アイコンを選択してください。時間範囲を変更するには事前定義済みの値を選択するか、[**custom**] を選択してください。  
![\[単一メトリクスのグラフ化\]](http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/images/metric_statistics_ec2_instance.png)

1. メトリクスの統計または期間を変更するには[**Graphed metrics**] タブを選択してください。列見出しまたは個々の値を選択し、次に異なる値を選択してください。  
![\[メトリクスの統計または期間を変更する\]](http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/images/metric_statistics_ec2_instance_statistic_period.png)

**特定のインスタンスの CPU 使用率を取得するには (AWS CLI)**  
次の [get-metric-statistics](https://docs.aws.amazon.com/cli/latest/reference/cloudwatch/get-metric-statistics.html) コマンドを使用すると、期間と時間間隔を指定して、特定のインスタンスの [**CPUUtilization**] メトリクスを取得できます。

```
aws cloudwatch get-metric-statistics --namespace AWS/EC2 --metric-name CPUUtilization  --period 3600 \
--statistics Maximum --dimensions Name=InstanceId,Value=i-1234567890abcdef0 \
--start-time 2022-10-18T23:18:00 --end-time 2022-10-19T23:18:00
```

出力例を次に示します。それぞれの値は単一の EC2 インスタンスの最大 CPU 使用率を表しています。

```
{
    "Datapoints": [
        {
            "Timestamp": "2022-10-19T00:18:00Z", 
            "Maximum": 0.33000000000000002, 
            "Unit": "Percent"
        }, 
        {
            "Timestamp": "2022-10-19T03:18:00Z", 
            "Maximum": 99.670000000000002, 
            "Unit": "Percent"
        }, 
        {
            "Timestamp": "2022-10-19T07:18:00Z", 
            "Maximum": 0.34000000000000002, 
            "Unit": "Percent"
        }, 
        {
            "Timestamp": "2022-10-19T12:18:00Z", 
            "Maximum": 0.34000000000000002, 
            "Unit": "Percent"
        }
    ], 
    "Label": "CPUUtilization"
}
```

# インスタンス全体の統計の集約
<a name="GetSingleMetricAllDimensions"></a>

集約された統計は詳細モニタリングが有効になっているインスタンスで利用が可能です。基本モニタリングを使用するインスタンスは集約されません。インスタンス全体から集約された統計情報を取得するには[詳細モニタリングを事前に有効化](manage-detailed-monitoring.md#enable-detailed-monitoring)し、1 分間隔でデータが提供されるようにしておく必要があります (追加料金がかかります)。

Amazon CloudWatch は AWS リージョンをまたがってデータを集約することはできません。メトリクスはリージョン間で完全に独立しています。

この例ではEC2 インスタンスの平均 CPU 使用率を取得するために詳細モニタリングを使用する方法について示します。ディメンションを指定していないため、CloudWatch は`AWS/EC2` 名前空間にある全ディメンションの統計を返します。

**重要**  
AWS 名前空間にあるすべてのディメンションを取得するこの手法は、Amazon CloudWatch に発行するカスタム名前空間では機能しません。カスタム名前空間の場合、データポイントを含む統計を取得するにはそのデータポイントに関連付けられたディメンション一式をすべて指定する必要があります。

**インスタンスの平均 CPU 使用率を表示するには (コンソール)**

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

1. ナビゲーションペインで [**Metrics (メトリクス)**] を選択してください。

1. [**EC2**] 名前空間を選択して、[**Across All Instances**] を選択してください。

1. [**CPUUtilization**] を含む行を選択してください。すべての EC2 インスタンスのメトリクスがグラフとして表示されます。グラフに名前を付けるには鉛筆アイコンを選択してください。時間範囲を変更するには事前定義済みの値を選択するか、[**custom**] を選択してください。  
![\[複数の EC2 インスタンスで集約されるメトリクス\]](http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/images/metric_aggregated_instances.png)

1. メトリクスの統計または期間を変更するには[**Graphed metrics**] タブを選択してください。列見出しまたは個々の値を選択し、次に異なる値を選択してください。

**複数のインスタンスの平均 CPU 使用率を取得するには (AWS CLI)**  
次のように [get-metric-statistics](https://docs.aws.amazon.com/cli/latest/reference/cloudwatch/get-metric-statistics.html) コマンドを使用し、インスタンス全体の平均 [**CPUUtilization**] メトリクスを取得します。

```
aws cloudwatch get-metric-statistics \
    --namespace AWS/EC2 \
    --metric-name CPUUtilization \ 
    --period 3600  --statistics "Average" "SampleCount" \ 
    --start-time 2022-10-11T23:18:00 \
    --end-time 2022-10-12T23:18:00
```

出力例を次に示します。

```
{
    "Datapoints": [
        {
            "SampleCount": 238.0, 
            "Timestamp": "2022-10-12T07:18:00Z", 
            "Average": 0.038235294117647062, 
            "Unit": "Percent"
        }, 
        {
            "SampleCount": 240.0, 
            "Timestamp": "2022-10-12T09:18:00Z", 
            "Average": 0.16670833333333332, 
            "Unit": "Percent"
        }, 
        {
            "SampleCount": 238.0, 
            "Timestamp": "2022-10-11T23:18:00Z", 
            "Average": 0.041596638655462197, 
            "Unit": "Percent"
        }
    ], 
    "Label": "CPUUtilization"
}
```

# Auto Scaling グループ別に統計を集計する
<a name="GetMetricAutoScalingGroup"></a>

Auto Scaling グループ内で EC2 インスタンスの統計を集計することができます。Amazon CloudWatch は AWS リージョンをまたがってデータを集約することはできません。メトリクスはリージョン間で完全に独立しています。

この例では1 つの Auto Scaling グループについて、ディスクに書き込まれた総バイト数を取得する方法を説明します。合計は指定された Auto Scaling グループのすべての EC2 インスタンスで、24 時間おきに 1 分間に対して算出されます。

**Auto Scaling グループ内のインスタンスの DiskWriteBytes を表示するには (コンソール)**

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

1. ナビゲーションペインで [**Metrics (メトリクス)**] を選択してください。

1. [**EC2**] 名前空間を選択し、次に [**By Auto Scaling Group**] を選択してください。

1. [**DiskWriteBytes**] メトリクスの行と特定の Auto Scaling グループを選択してください。すると、その Auto Scaling グループ内にあるインスタンスのメトリクスがグラフとして表示されます。グラフに名前を付けるには鉛筆アイコンを選択してください。時間範囲を変更するには事前定義済みの値を選択するか、[**custom**] を選択してください。

1. メトリクスの統計または期間を変更するには[**Graphed metrics**] タブを選択してください。列見出しまたは個々の値を選択し、次に異なる値を選択してください。

**Auto Scaling グループのインスタンスの DiskWriteBytes を表示するには (AWS CLI)**  
以下のように [get-metric-statistics](https://docs.aws.amazon.com/cli/latest/reference/cloudwatch/get-metric-statistics.html) コマンドを使用します。

```
aws cloudwatch get-metric-statistics --namespace AWS/EC2 --metric-name DiskWriteBytes --period 360 \
--statistics "Sum" "SampleCount" --dimensions Name=AutoScalingGroupName,Value=my-asg --start-time 2022-10-16T23:18:00 --end-time 2022-10-18T23:18:00
```

出力例を次に示します。

```
{
    "Datapoints": [
        {
            "SampleCount": 18.0, 
            "Timestamp": "2022-10-19T21:36:00Z", 
            "Sum": 0.0, 
            "Unit": "Bytes"
        }, 
        {
            "SampleCount": 5.0, 
            "Timestamp": "2022-10-19T21:42:00Z", 
            "Sum": 0.0, 
            "Unit": "Bytes"
        }
    ], 
    "Label": "DiskWriteBytes"
}
```

# AMI 別に統計を集計する
<a name="US_SingleMetricPerAMI"></a>

詳細モニタリングが有効になっているインスタンスに対して、AMI を使用して統計を集計できます。基本モニタリングを使用するインスタンスは集約されません。インスタンス全体から集約された統計情報を取得するには[詳細モニタリングを事前に有効化](manage-detailed-monitoring.md#enable-detailed-monitoring)し、1 分間隔でデータが提供されるようにしておく必要があります (追加料金がかかります)。

Amazon CloudWatch は AWS リージョンをまたがってデータを集約することはできません。メトリクスはリージョン間で完全に独立しています。

この例では特定の Amazon マシンイメージ (AMI) を使用するすべてのインスタンスの平均 CPU 使用率を特定する方法を説明します。平均値は1 日間、60 秒間隔の平均値です。

**AMI 別の平均 CPU 使用率を表示するには (コンソール)**

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

1. ナビゲーションペインで [**Metrics (メトリクス)**] を選択してください。

1. [**EC2**] 名前空間を選択し、次に [**By Image (AMI) Id**] を選択してください。

1. [**CPUUtilization**] メトリクスの行と特定の AMI を選択してください。すると、その AMI のメトリクスがグラフとして表示されます。グラフに名前を付けるには鉛筆アイコンを選択してください。時間範囲を変更するには事前定義済みの値を選択するか、[**custom**] を選択してください。

1. メトリクスの統計または期間を変更するには[**Graphed metrics**] タブを選択してください。列見出しまたは個々の値を選択し、次に異なる値を選択してください。

**特定のイメージ ID の平均 CPU 使用率を取得するには (AWS CLI)**  
以下のように [get-metric-statistics](https://docs.aws.amazon.com/cli/latest/reference/cloudwatch/get-metric-statistics.html) コマンドを使用します。

```
aws cloudwatch get-metric-statistics --namespace AWS/EC2 --metric-name CPUUtilization  --period 3600 \
--statistics Average --dimensions Name=ImageId,Value=ami-3c47a355 --start-time 2022-10-10T00:00:00 --end-time 2022-10-11T00:00:00
```

出力例を次に示します。それぞれの値は指定した AMI を実行する EC2 インスタンスの平均 CPU 使用率 (%) を表します。

```
{
    "Datapoints": [
        {
            "Timestamp": "2022-10-10T07:00:00Z", 
            "Average": 0.041000000000000009, 
            "Unit": "Percent"
        }, 
        {
            "Timestamp": "2022-10-10T14:00:00Z", 
            "Average": 0.079579831932773085, 
            "Unit": "Percent"
        }, 
        {
            "Timestamp": "2022-10-10T06:00:00Z", 
            "Average": 0.036000000000000011, 
            "Unit": "Percent"
        }
    ], 
    "Label": "CPUUtilization"
}
```

# インスタンスのモニタリンググラフを表示する
<a name="graphs-in-the-aws-management-console"></a>

インスタンスを起動した後はAmazon EC2 コンソールの [**モニタリング**] タブを開いて、インスタンスのモニタリンググラフを表示できます。各グラフは利用可能な Amazon EC2 メトリクスのいずれかに基づいています。

以下のグラフが利用可能です。
+ 平均 CPU 使用率 (パーセント)
+ 平均ディスク読み込み (バイト)
+ 平均ディスク書き込み (バイト)
+ 最大ネットワーク受信 (バイト)
+ 最大ネットワーク送信 (Bytes)
+ 要約ディスク読み取り操作 (カウント)
+ 要約ディスク書き込み操作 (カウント)
+ 要約ステータス (任意)
+ 要約ステータスインスタンス (カウント)
+ 要約ステータスシステム (カウント)

グラフに表示されるメトリクスおよびデータの詳細については[インスタンスに対して利用可能な CloudWatch メトリクス](viewing_metrics_with_cloudwatch.md)を参照してください。

**CloudWatch コンソールを使用したメトリクスのグラフ化**  
CloudWatch コンソールを使用して、Amazon EC2 や他の AWS のサービスによって生成されたメトリクスデータをグラフ化できます。詳細については「*Amazon CloudWatch ユーザーガイド*」の「[メトリクスのグラフ化](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/graph_metrics.html)」を参照してください。

# インスタンスの CloudWatch アラームを作成する
<a name="using-cloudwatch-createalarm"></a>

インスタンスの 1 つのCloudWatch メトリクスをモニタリングする、CloudWatch アラームを作成できます。CloudWatch はメトリクスが指定したしきい値に到達すると、自動的に通知を送信します。CloudWatch アラームは Amazon EC2 コンソールを使用するか、CloudWatch コンソールに用意されている高度なオプションを使用して作成できます。

**CloudWatch コンソールを使用してアラームを作成するには**  
例については、「*Amazon CloudWatch ユーザーガイド*」の「[Amazon CloudWatch アラームの作成](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html)」を参照してください。

**Amazon EC2 コンソールを使用してアラームを作成するには**

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

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

1. インスタンスを選択し、[**アクション**]、[**モニタリングとトラブルシューティング**]、[**CloudWatch アラームの管理**] の順に選択してください。

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

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

1. **[アラームアクション]** で、アラームがトリガーされた際に実行するアクションを指定するかどうかを選択してください。リストからアクションを選択してください。

1. [**アラームのしきい値**] で、アラームのメトリクスと条件を選択してください。例えば、CPU 使用率が 80% に達した状態が 5 分間継続した場合にトリガーされるアラームを作成するには次の操作を行います。

   1. **[サンプルのグループ化基準]** (**[平均]**) と **[サンプリングするデータのタイプ]** (**[CPU 使用率]** ) の設定はデフォルトのままにしてきます。

   1. **[アラームの条件]** で **[>=]** を選択し、**[割合]** に「**0.80**」と入力してください。

   1. **[連続した期間]** に「**1**」と入力し、**[期間]** で **[5 分間]** を選択してください。

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

1. [**Create**] (作成) を選択してください。

CloudWatch アラーム設定は Amazon EC2 コンソールまたは CloudWatch コンソールから編集できます。アラームを削除する場合はCloudWatch コンソールから行えます。詳細については「Amazon CloudWatch ユーザーガイド」の「[CloudWatch アラームの編集または削除](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Manage-CloudWatch-Alarm.html#Edit-CloudWatch-Alarm)」を参照してください。

# インスタンスを停止、終了、再起動、または復旧するアラームを作成する
<a name="UsingAlarmActions"></a>

Amazon CloudWatch アラームアクションを使用して、 インスタンスを自動的に停止、終了、再起動、または復旧するアラームを作成できます。停止または終了アクションを使用すると、今後インスタンスを実行する必要がなくなったときにコストを節約できます。再起動アクションを使用すると、これらのインスタンスを自動的に再起動でき、復旧アクションを使用すると、システムで障害が発生した場合に新しいハードウェアで復旧できます。

**注記**  
Amazon CloudWatch アラームの請求および料金に関する情報については、「*Amazon CloudWatch ユーザーガイド*」の「[CloudWatch の請求とコスト](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_billing.html)」を参照してください。

サービスにリンクされたロール `AWSServiceRoleForCloudWatchEvents` を使用すると、AWS がお客様に代わってアラームアクションを実行できます。AWS マネジメントコンソール、AWS CLI、または IAM API で初めてアラームを作成する場合、CloudWatch はサービスにリンクされたロールを作成します。

自動的にインスタンスを停止または終了するシナリオはいくつもあります。例えば、バッチ給与計算処理ジョブまたは科学計算タスクを専用に行うインスタンスを使用している場合が挙げられます。これらのインスタンスは一定期間動作して仕事を完了します。このようなインスタンスは、アイドル状態 (課金されている状態) にせずに、停止または終了するとコスト削減につながります。停止アラームアクションと終了アラームアクションの主な違いとして、停止したインスタンスは、後で再実行が必要な場合に起動しやすいことと、同じインスタンス ID およびルートボリュームを維持できることがあります。しかし、終了したインスタンスを起動することはできません。代わりに新しいインスタンスを開始する必要があります。インスタンスストアボリュームのデータは、インスタンスの停止または終了に伴って失われます。

停止、終了、再起動、復旧の各アクションは、Amazon EC2 インスタンスメトリクスごとに設定されている任意のアラームに追加できます。これには、Amazon CloudWatch によって (`AWS/EC2` 名前空間で) 提供される基本モニタリングや詳細モニタリングのメトリクスが含まれます。また、`InstanceId` ディメンションを含む任意のカスタムメトリクスも (その値が実行中の有効な Amazon EC2 インスタンスを参照する場合に限り) 含まれます。

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

**コンソールのサポート**  
Amazon EC2 コンソールまたは CloudWatch コンソールを使用してアラームを作成できます。このドキュメントの手順では、Amazon EC2 コンソールを使用します。CloudWatch コンソールを使用する手順については、「*Amazon CloudWatch ユーザーガイド*」の「[インスタンスを停止、終了、再起動、または復旧するアラームを作成する](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/UsingAlarmActions.html)」を参照してください。

**アクセス許可**  
EC2 アラームアクションを実行するアラームを作成または変更するには、`iam:CreateServiceLinkedRole` が必要です。サービスロールとは、サービスがユーザーに代わってアクションを実行するために引き受ける [IAM ロール](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html)です。IAM 管理者は、IAM 内からサービスロールを作成、変更、削除できます。詳細については、IAM ユーザーガイド**の [AWS のサービス に許可を委任するロールを作成する](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html)を参照してください。

**Topics**
+ [Amazon CloudWatch アラームへの停止アクションの追加](#AddingStopActions)
+ [Amazon CloudWatch アラームへの終了アクションの追加](#AddingTerminateActions)
+ [Amazon CloudWatch アラームへの再起動アクションの追加](#AddingRebootActions)
+ [Amazon CloudWatch アラームへの復旧アクションの追加](#AddingRecoverActions)
+ [Amazon CloudWatch のアラームアクションのシナリオ](AlarmActionScenarios.md)

## Amazon CloudWatch アラームへの停止アクションの追加
<a name="AddingStopActions"></a>

一定のしきい値に達したときに Amazon EC2 インスタンスを停止するアラームを作成できます。例えば、開発またはテスト用のインスタンスを実行したまま、終了するのを忘れることがたまにあります。平均 CPU 利用率が 24 時間 10% 未満である場合に、インスタンスがアイドル状態で使用されていないという信号を発してトリガーするアラームを作成できます。しきい値、持続時間、期間をニーズに合わせて調整し、アラームがトリガーされたときにメールを受信するよう Amazon Simple Notification Service (Amazon SNS) 通知を追加できます。

Amazon EBS ボリュームをルートボリュームとして使用するインスタンスは停止または終了できますが、インスタンスストアをルートボリュームとして使用するインスタンスでは終了のみ行えます。インスタンスストアボリュームのデータは、インスタンスの終了または停止に伴って失われます。

**アイドル状態のインスタンスを停止させるアラームを作成するには (Amazon EC2 コンソール)**

1. Amazon EC2 コンソール ([https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)) を開きます。

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

1. インスタンスを選択し、[**アクション**]、[**モニタリングとトラブルシューティング**]、[**CloudWatch アラームの管理**] の順に選択します。

   または、[**アラームステータス**] 列でプラス記号 (![\[Plus sign.\]](http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/images/add-plus.png)) を選択できます。

1. [**CloudWatch アラームの管理**] ページで、次の操作を行います。

   1. [**アラームの作成**] を選択します。

   1. アラームがトリガーされたときに E メールを受信するには、[**アラーム通知**] で既存の Amazon SNS トピックを選択します。先ず、Amazon SNS コンソールを使用して Amazon SNS トピックを作成する必要があります。詳細については、*Amazon Simple Notification Service デベロッパーガイド* の[Amazon SNS を使用した Application-to-Person (A2P) メッセージング](https://docs.aws.amazon.com/sns/latest/dg/sns-user-notifications.html)を参照してください。

   1. [**アラームアクション**] をオンにして、[**停止**] を選択します。

   1. [**サンプルのグループ化基準**] と [**サンプリングするデータのタイプ**] で、統計とメトリクスを選択します。この例では、[**平均**] と [**CPU 使用率**] を選択します。

   1. [**アラーム発生時**] と [**パーセント**] で、メトリクスのしきい値を指定します。この例では、**<=** と **10** % を指定します。

   1. [**連続期間**] と [**期間**] で、アラームの評価期間を指定します。この例では、**5 分間**の **1** 連続期間を指定します。

   1. Amazon CloudWatch は、自動的にアラーム名を作成します。名前を変更するには、[**アラーム名**] に新しい名前を入力します。アラーム名には ASCII 文字のみを使用する必要があります。
**注記**  
アラーム設定は、アラームを作成する前に実際の要件に基づいて調整することも、アラーム作成後に編集することもできます。これにはメトリクス、しきい値、持続時間、アクション、通知設定などがあります。ただし、アラームの作成後のアラーム名の編集はできません。

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

## Amazon CloudWatch アラームへの終了アクションの追加
<a name="AddingTerminateActions"></a>

(インスタンスで終了保護が有効になっていない限り)、一定のしきい値に達したときに EC2 インスタンスを自動的に終了させるアラームを作成することができます。例えば、インスタンスが仕事を終え、再びそのインスタンスを使用する必要がない場合は、インスタンスを削除することをお勧めします。後でインスタンスを使用する可能性がある場合は、インスタンスを削除するのではなく、停止するほうが良いでしょう。インスタンスストアボリュームのデータは、インスタンスの終了に伴って失われます。インスタンスの削除保護の有効化と無効化については、「[インスタンスの終了保護を変更する](Using_ChangingDisableAPITermination.md)」を参照してください。

**アイドル状態のインスタンスを終了するアラームを作成するには (Amazon EC2 コンソール)**

1. Amazon EC2 コンソール ([https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)) を開きます。

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

1. インスタンスを選択し、[**アクション**]、[**モニタリングとトラブルシューティング**]、[**CloudWatch アラームの管理**] の順に選択します。

   または、[**アラームステータス**] 列でプラス記号 (![\[Plus sign.\]](http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/images/add-plus.png)) を選択できます。

1. [**CloudWatch アラームの管理**] ページで、次の操作を行います。

   1. [**アラームの作成**] を選択します。

   1. アラームがトリガーされたときに E メールを受信するには、[**アラーム通知**] で既存の Amazon SNS トピックを選択します。先ず、Amazon SNS コンソールを使用して Amazon SNS トピックを作成する必要があります。詳細については、*Amazon Simple Notification Service デベロッパーガイド* の[Amazon SNS を使用した Application-to-Person (A2P) メッセージング](https://docs.aws.amazon.com/sns/latest/dg/sns-user-notifications.html)を参照してください。

   1. [**アラームアクション**] をオンにして、[**終了**] を選択します。

   1. [**サンプルのグループ化基準**] と [**サンプリングするデータのタイプ**] で、統計とメトリクスを選択します。この例では、[**平均**] と [**CPU 使用率**] を選択します。

   1. [**アラーム発生時**] と [**パーセント**] で、メトリクスのしきい値を指定します。この例では、**>=** と **10** % を指定します。

   1. [**連続期間**] と [**期間**] で、アラームの評価期間を指定します。この例では、**1 時間**の **24** 連続期間を指定します。

   1. Amazon CloudWatch は、自動的にアラーム名を作成します。名前を変更するには、[**アラーム名**] に新しい名前を入力します。アラーム名には ASCII 文字のみを使用する必要があります。
**注記**  
アラーム設定は、アラームを作成する前に実際の要件に基づいて調整することも、アラーム作成後に編集することもできます。これにはメトリクス、しきい値、持続時間、アクション、通知設定などがあります。ただし、アラームの作成後のアラーム名の編集はできません。

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

## Amazon CloudWatch アラームへの再起動アクションの追加
<a name="AddingRebootActions"></a>

Amazon EC2 インスタンスをモニタリングし、自動的に再起動する Amazon CloudWatch アラームを作成できます。再起動アラームアクションは、インスタンスのヘルスチェックが失敗した場合に推奨されます (システムのヘルスチェックが失敗した場合には、復旧アラームアクションが推奨されます) 。インスタンスの再起動は、オペレーティングシステムの再起動と同等です。ほとんどの場合、インスタンスの再起動には数分しかかかりません。インスタンスを再起動すると、インスタンスは同じホスト上で保持されるため、インスタンスのパブリック DNS 名、プライベート IP アドレス、およびインスタンスストアボリューム上のすべてのデータは保持されます。

インスタンスの停止と再起動の場合とは違って、インスタンスを再起動しても、インスタンスの新しい (1 分間分の最低料金がある) 課金期間は開始されません。インスタンスストアボリュームのデータは、インスタンスの再起動しても保持されます。インスタンスストアボリュームは、再起動後にファイルシステムに再マウントする必要があります。詳細については、「[Amazon EC2 インスタンスを再起動する](ec2-instance-reboot.md)」を参照してください。

**重要**  
再起動と復旧アクション間で不具合が発生するのを回避するには、再起動アラームと復旧アラームを同じ評価期間に設定するのを避けます。再起動アラームを各 1 分間の 3 回の評価期間に設定することをお勧めします。詳細については、「*Amazon CloudWatch ユーザーガイド*」の「[アラームを評価する](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html#alarm-evaluation)」を参照してください。

**インスタンスを再起動するアラームを作成するには (Amazon EC2 コンソール)**

1. Amazon EC2 コンソール ([https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)) を開きます。

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

1. インスタンスを選択し、[**アクション**]、[**モニタリングとトラブルシューティング**]、[**CloudWatch アラームの管理**] の順に選択します。

   または、[**アラームステータス**] 列でプラス記号 (![\[Plus sign.\]](http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/images/add-plus.png)) を選択できます。

1. [**CloudWatch アラームの管理**] ページで、次の操作を行います。

   1. [**アラームの作成**] を選択します。

   1. アラームがトリガーされたときに E メールを受信するには、[**アラーム通知**] で既存の Amazon SNS トピックを選択します。先ず、Amazon SNS コンソールを使用して Amazon SNS トピックを作成する必要があります。詳細については、*Amazon Simple Notification Service デベロッパーガイド* の[Amazon SNS を使用した Application-to-Person (A2P) メッセージング](https://docs.aws.amazon.com/sns/latest/dg/sns-user-notifications.html)を参照してください。

   1. [**アラームアクション**] をオンにして、[**再起動**] を選択します。

   1. [**サンプルのグループ化基準**] と [**サンプリングするデータのタイプ**] で、統計とメトリクスを選択します。この例では、[**平均**] と [**ステータスチェックに失敗しました: インスタンス**] を選択しています。

   1. [**連続期間**] と [**期間**] で、アラームの評価期間を指定します。この例では、**[1 分間]**の **[3]** 連続期間と入力します。**[1 分が無効]** になっている場合は、[[詳細なモニタリング]](manage-detailed-monitoring.md#enable-detailed-monitoring) を有効にするか、代わりに **[5 分]** を選択する必要があります。

   1. Amazon CloudWatch は、自動的にアラーム名を作成します。名前を変更するには、[**アラーム名**] に新しい名前を入力します。アラーム名には ASCII 文字のみを使用する必要があります。

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

## Amazon CloudWatch アラームへの復旧アクションの追加
<a name="AddingRecoverActions"></a>

Amazon EC2 インスタンスをモニタリングする Amazon CloudWatch アラームを作成できます。下層のハードウェア障害または修復に AWS を必要とする問題によりインスタンスが正常に機能しなくなった場合に、自動的にインスタンスを復旧できます。終了したインスタンスは復旧できません。復旧されたインスタンスは、インスタンス ID、プライベート IP アドレス、Elastic IP アドレス、すべてのインスタンスメタデータを含め、元のインスタンスと同じです。

CloudWatch では、復旧アクションをサポートしていないインスタンスにあるアラームに、復旧アクションを追加することはできません。

`StatusCheckFailed_System` アラームがトリガーされ、復旧アクションが開始されると、アラームを作成し、復旧アクションに関連付けたときに選択した Amazon SNS トピックによって通知されます。インスタンスを復旧する際、インスタンスを再起動するときにインスタンスは移行され、メモリ内にあるデータは失われます。プロセスが完了すると、情報はアラームに設定された SNS トピックに発行されます。この SNS トピックをサブスクライブしているすべてのユーザーは、復旧処理のステータスと、それ以降の手順を含むメールの通知を受け取ります。インスタンスが復旧した時点でインスタンスが再起動されたことがわかります。

**注記**  
復旧アクションは、`StatusCheckFailed_System` でのみ使用できます。`StatusCheckFailed_Instance` では使用できません。

以下の問題が発生すると、システムステータスのチェックに失敗する可能性があります。
+ ネットワーク接続の喪失
+ システム電源の喪失
+ 物理ホストのソフトウェアの問題
+ ネットワーク到達可能性に影響する、物理ホスト上のハードウェアの問題

復旧アクションは、特定の特性を持つインスタンスでのみサポートされます。詳細については、「[インスタンスの自動復旧](ec2-instance-recover.md)」を参照してください。

インスタンスにパブリック IP アドレスが割り当てられている場合、復旧後にパブリック IP アドレスが維持されます。

**重要**  
再起動と復旧アクション間で不具合が発生するのを回避するには、再起動アラームと復旧アラームを同じ評価期間に設定するのを避けます。復旧アラームを各 1 分間の 2 回の評価期間に設定することをお勧めします。詳細については、「*Amazon CloudWatch ユーザーガイド*」の「[アラームを評価する](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html#alarm-evaluation)」を参照してください。

**インスタンスを復旧するアラームを作成するには (Amazon EC2 コンソール)**

1. Amazon EC2 コンソール ([https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)) を開きます。

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

1. インスタンスを選択し、[**アクション**]、[**モニタリングとトラブルシューティング**]、[**CloudWatch アラームの管理**] の順に選択します。

   または、[**アラームステータス**] 列でプラス記号 (![\[Plus sign.\]](http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/images/add-plus.png)) を選択できます。

1. [**CloudWatch アラームの管理**] ページで、次の操作を行います。

   1. [**アラームの作成**] を選択します。

   1. アラームがトリガーされたときに E メールを受信するには、[**アラーム通知**] で既存の Amazon SNS トピックを選択します。先ず、Amazon SNS コンソールを使用して Amazon SNS トピックを作成する必要があります。詳細については、*Amazon Simple Notification Service デベロッパーガイド* の[Amazon SNS を使用した Application-to-Person (A2P) メッセージング](https://docs.aws.amazon.com/sns/latest/dg/sns-user-notifications.html)を参照してください。
**注記**  
今後、アラームがトリガーされたときにメール通知を受信するためには、指定された SNS トピックをサブスクライブする必要があります。AWS アカウントのルートユーザー は、自動インスタンス復旧アクションが発生すると、SNS トピックが指定されていない場合や、ルートユーザーが指定した SNS トピックにサブスクライブしていない場合でも、常に E メール通知を受信します。

   1. [**アラームアクション**] をオンにして、[**復元**] を選択します。

   1. [**サンプルのグループ化基準**] と [**サンプリングするデータのタイプ**] で、統計とメトリクスを選択します。この例では、[**平均**] と [**ステータスチェックに失敗しました: システム**] を選択しています。

   1. [**連続期間**] と [**期間**] で、アラームの評価期間を指定します。この例では、**[1 分間]**の **[2]** 連続期間と入力します。**[1 分が無効]** になっている場合は、[[詳細なモニタリング]](manage-detailed-monitoring.md#enable-detailed-monitoring) を有効にするか、代わりに **[5 分]** を選択する必要があります。

   1. Amazon CloudWatch は、自動的にアラーム名を作成します。名前を変更するには、[**アラーム名**] に新しい名前を入力します。アラーム名には ASCII 文字のみを使用する必要があります。

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

# Amazon CloudWatch のアラームアクションのシナリオ
<a name="AlarmActionScenarios"></a>

Amazon EC2 (Amazon EC2) コンソールを使用して、一定の条件が満たされたときにインスタンスを停止または終了させるアラームアクションを作成することができます。アラームアクションが設定する以下のコンソールページの画面キャプチャー内に、設定の順番を付けました。また、アクションを適切に作成できるよう、次のシナリオの設定にも順番を付けました。

![\[Cloudwatch アラームの管理ページ\]](http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/images/manage-cloudwatch-alarms.png)


## シナリオ 1: アイドル状態の開発インスタンスおよびテストインスタンスを停止する
<a name="StopIdleInstance"></a>

ソフトウェアの開発またはテストに使用するインスタンスが 1 時間以上アイドル状態である場合に停止するアラームを作成します。


| 設定 | 値 | 
| --- | --- | 
|  1  |  停止  | 
|  2  |  最大  | 
|  3  |  CPU 使用率 (%)  | 
|  4  |  <=  | 
|  5  |  10%  | 
|  6  |  1  | 
|  7  |  1 時間  | 

## シナリオ 2: アイドル状態のインスタンスを停止する
<a name="StopLowUtilizationInstance"></a>

インスタンスが 24 時間アイドル状態である場合、インスタンスを停止し、メールを送信するアラームを作成します。


| 設定 | 値 | 
| --- | --- | 
|  1  |  停止および E メール  | 
|  2  |  平均  | 
|  3  |  CPU 使用率 (%)  | 
|  4  |  <=  | 
|  5  |  5%  | 
|  6  |  24  | 
|  7  |  1 時間  | 

## シナリオ 3: トラフィック量が異常に多いウェブサーバーについて E メールを送信する
<a name="StopHighWebTraffic"></a>

インスタンスの 1 日当たりのアウトバウンドネットワークトラフィックが 10 GB を超える場合にメールを送信するアラームを作成します。


| 設定 | 値 | 
| --- | --- | 
|  1  |  メール  | 
|  2  |  合計  | 
|  3  |  ネットワーク出力  | 
|  4  |  >  | 
|  5  |  10 GB  | 
|  6  |  24  | 
|  7  |  1 時間  | 

## シナリオ 4: トラフィック量が異常に多いウェブサーバーを停止する
<a name="StopHighWebTraffic2"></a>

アウトバウンドトラフィックが 1 時間当たり 1 GB を超えた場合にインスタンスを停止し、テキストメッセージ (SMS) を送信するアラームを作成します。


| 設定 | 値 | 
| --- | --- | 
|  1  |  Stop and send SMS  | 
|  2  |  合計  | 
|  3  |  ネットワーク出力  | 
|  4  |  >  | 
|  5  |  1 GB  | 
|  6  |  1  | 
|  7  |  1 時間  | 

## シナリオ 5: 障害のあるインスタンスを停止する
<a name="StopImpairedInstance"></a>

3 回連続で状態チェック (5 分間隔で実施) が不合格のインスタンスを停止するアラームを作成します。


| 設定 | 値 | 
| --- | --- | 
|  1  |  停止  | 
|  2  |  平均  | 
|  3  |  ステータスチェックに失敗: システム  | 
|  4  |  -  | 
|  5  |  -  | 
|  6  |  1  | 
|  7  |  15 分  | 

## シナリオ 6: バッチ処理ジョブの完了時にインスタンスを削除する
<a name="TerminateBatchProcesses"></a>

バッチジョブを実行するインスタンスが結果データを送信しなくなったときに、そのインスタンスを削除するアラームを作成します。


| 設定 | 値 | 
| --- | --- | 
|  1  |  終了  | 
|  2  |  最大  | 
|  3  |  ネットワーク出力  | 
|  4  |  <=  | 
|  5  |  100,000 bytes  | 
|  6  |  1  | 
|  7  |  5 分  | 