

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# Amazon CloudWatch を使用して Amazon EC2 API リクエストをモニタリングする
<a name="monitor"></a>

Amazon CloudWatch を使用して Amazon EC2 API リクエストをモニタリングすることで、生データを収集し、リアルタイムに近い読み取り可能なメトリクスに加工することができます。これらのメトリクスは、Amazon EC2 API オペレーションの使用状況と結果を経時的に追跡する簡単な方法を提供します。この情報により、ウェブアプリケーションのパフォーマンスをより的確に把握し、さまざまな問題を特定して診断できます。また、特定のしきい値を監視するアラームを設定し、これらのしきい値に達したときに通知を送信したり特定のアクションを実行したりできます。

CloudWatch の詳細については、「[Amazon CloudWatch ユーザーガイド](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/)」を参照してください。

**重要**  
Amazon EC2 API メトリクスはオプトイン機能です。この機能へのアクセスをリクエストする必要があります。詳細については、「[Amazon EC2 API メトリクスを有効にする](#enable-ec2-api-metrics)」を参照してください。

**Topics**
+ [Amazon EC2 API メトリクスを有効にする](#enable-ec2-api-metrics)
+ [Amazon EC2 API メトリクスおよびディメンション](#monitor-metrics_dimensions)
+ [メトリクスデータ保持](#monitor-retention)
+ [ユーザーに代わって行われるリクエストのモニタリング](#throttling-metrics)
+ [料金](#monitor-billing)
+ [Amazon CloudWatch との連携](#monitor-using)

## Amazon EC2 API メトリクスを有効にする
<a name="enable-ec2-api-metrics"></a>

以下の手順に従って、 AWS アカウントのこの機能へのアクセスをリクエストします。

**この機能へのアクセスをリクエストするには**

1. [AWS サポート センター](https://console.aws.amazon.com/support/home#/)を開きます。

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

1. **[Account and billing]** (アカウントおよび請求) を選択します。

1. **[サービス]** で **[一般情報と開始方法] **を選択します。

1. **カテゴリ** で、「**Using AWS & Services**」を選択します。

1. **[次のステップ: 追加情報]** を選択します。

1. [**Subject (件名)**] に **Request access to Amazon EC2 API metrics** と入力します。

1. **[説明]** に **Please grant my account access to Amazon EC2 API metrics. Related page: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/monitor.html** と入力します。アクセスが必要なリージョンも含めます。

1. **[次のステップ: 今すぐ解決するか、お問い合わせください]** を選択します。

1. **[お問い合わせ]** タブをクリックし、連絡の際に希望する言語と連絡方法を選択します。

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

## Amazon EC2 API メトリクスおよびディメンション
<a name="monitor-metrics_dimensions"></a>

### メトリクス
<a name="monitor-metrics"></a>

Amazon EC2 API メトリクスは `AWS/EC2/API` 名前空間に含まれています。次の表に、Amazon EC2 API リクエストで使用できるメトリクスを示します。


| メトリクス | 説明 | 
| --- | --- | 
|  `ClientErrors` |  クライアントエラーによって失敗した API リクエストの数。 これらのエラーは通常、リクエストで誤ったパラメータや無効なパラメータを指定したり、アクションやリソースを使用するアクセス許可を持たないユーザーに代わってアクションやリソースを使用するなど、クライアントが行ったアクションによって発生します。 単位: 数  | 
|  `RequestLimitExceeded` |  アカウントに対して Amazon EC2 API で許可されている最大リクエストレートを超えた回数。 Amazon EC2 API リクエストは、サービスのパフォーマンスを維持するためにスロットリングされます。リクエストが抑制されている場合は、`Client.RequestLimitExceeded` エラーが発生します。​ 単位: 数  | 
|  `AwsTriggeredRequestLimitExceeded` |  オペレーションの問題により適用 AWS されたスロットリングによって発生した失敗した API リクエストの数。 このスロットリングが発生する`Client.RequestLimitExceeded`と、オペレーションの問題により AWS リクエストがスロットリングされたことを示すエラーが表示されます。このスロットリングは一時的なもので、運用上の問題が解決されると自動的に解決されます。エクスポネンシャルバックオフと再試行ロジックを実装して、これらの一時的なスロットルを適切に処理します。 単位: 数  | 
|  `ServerErrors` |  内部サーバーエラーによって失敗した API リクエストの数。 これらのエラーは通常、 AWS サーバー側のエラー、例外、または障害によって発生します。 単位: 数  | 
|  `SuccessfulCalls` |  成功した API リクエストの数。 単位: 数  | 

### ディメンション
<a name="monitor-dimensions"></a>

Amazon EC2 のメトリクスデータは、すべての EC2 API アクションでフィルタリングできます。ディメンションの詳細については、「[Amazon CloudWatch の概念](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_concepts.html)」を参照してください。

## メトリクスデータ保持
<a name="monitor-retention"></a>

Amazon EC2 API メトリクスは 1 分間隔で CloudWatch に送信されます。CloudWatch では、次のようにメトリクスデータを保持します。
+ 期間が 60 秒 (1 分) のデータポイントは、15 日間使用できます。
+ 期間が 300 秒 (5 分) のデータポイントは、63 日間使用できます。
+ 期間が 3600 秒 (1 時間) のデータポイントは、455 日 (15 か月) 間使用できます。

## ユーザーに代わって行われるリクエストのモニタリング
<a name="throttling-metrics"></a>

 AWS サービスにリンクされたロールによって行われたリクエストなど、ユーザーに代わってサービスによって行われた API リクエストは、API スロットリング制限にはカウントされず、アカウントの Amazon CloudWatch にメトリクスを送信しません。これらのリクエストは CloudWatch を使用してモニタリングできません。

サードパーティーサービスプロバイダーがユーザーに代わって行う API リクエストは、API スロットリング上限にカウントされ、アカウントの Amazon CloudWatch にメトリクスを送信します。これらのリクエストは CloudWatch を使用してモニタリングできます。

## 料金
<a name="monitor-billing"></a>

CloudWatch の一般的な価格設定と料金が適用されます。Amazon EC2 API メトリクスの使用に追加料金はかかりません。詳細については、「[Amazon CloudWatch 料金表](https://aws.amazon.com/cloudwatch/pricing/)」をご覧ください。

## Amazon CloudWatch との連携
<a name="monitor-using"></a>

**Contents**
+ [CloudWatch メトリクスの表示](#monitor-using-viewing)
+ [CloudWatch アラームの作成](#monitor-creating)

### CloudWatch メトリクスの表示
<a name="monitor-using-viewing"></a>

次の手順を使用して、Amazon EC2 API メトリクスを表示します。

**前提条件**  
アカウントの Amazon EC2 API メトリクスへのアクセスを有効にする必要があります。詳細については、「[Amazon EC2 API メトリクスを有効にする](#enable-ec2-api-metrics)」を参照してください。

**Amazon EC2 コンソールを使用して Amazon EC2 API メトリクスを表示するには**

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

1. ナビゲーションペインで、**[メトリクス]**、**[すべてのメトリクス]** を選択します。

1. **[参照]** タブの **[メトリクス]** で、メトリクスを表示する目的のリージョンを選択します。

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

1. メトリクスを表示するには、**[インスタンス別メトリクス]** などのメトリクスディメンションを選択します。
**注記**  
メトリクスは、非アクティブ状態が 2 週間続くと非表示になります。過去 2 週間に新しいデータポイントを受信しなかった場合、コンソールに表示されなくなり、コンソール検索ボックスにメトリクス名またはディメンション名を入力すると表示されず、[list-metrics](https://docs.aws.amazon.com/cli/latest/reference/cloudwatch/list-metrics.html) AWS CLI コマンドによって返されません。これらのメトリクスを取得するには、[get-metric-data]() または [get-metric-statistics]() コマンドを使用します。

**コマンドラインを使用して Amazon EC2 API メトリクスを表示するには**

以下のいずれかのコマンドを使用します。
+ [list-metrics](https://docs.aws.amazon.com/cli/latest/reference/cloudwatch/list-metrics.html) (AWS CLI)

  ```
  aws cloudwatch list-metrics --namespace "AWS/EC2/API"
  ```
+ [Get-CWMetricList](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-CWMetricList.html) (AWS Tools for Windows PowerShell)

  ```
  Get-CWMetricList -Namespace "AWS/EC2/API"
  ```

### CloudWatch アラームの作成
<a name="monitor-creating"></a>

アラームの状態が変わったら、Amazon SNS メッセージを送信する Amazon CloudWatch のアラームを作成することができます。1 つのアラームで、指定した期間中、1 つのメトリクスを監視します。このアラームは、複数の期間にわたる一定のしきい値とメトリクスの値の関係性に基づき、SNS トピックに通知を送信します｡

例えば、サーバー側のエラーが原因で失敗する DescribeInstances API リクエストの数をモニタリングするアラームを作成できます。次のアラームは、DescribeInstances API リクエストの失敗数が 5 分間に 10 個のサーバー側のエラーのしきい値に達したときに E メール通知を送信します。

**前提条件**  
アカウントの Amazon EC2 API メトリクスへのアクセスを有効にする必要があります。詳細については、「[Amazon EC2 API メトリクスを有効にする](#enable-ec2-api-metrics)」を参照してください。

**Amazon EC2 DescribeInstances API リクエストサーバーエラーのアラームを作成するには**

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

1. ナビゲーションペインで、[**アラーム**]、[**すべてのアラーム**] の順に選択します。

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

1. **[メトリクスの選択]** を選択し、以下の操作を行います。

   1. **[EC2/API]** を選択します。

   1. **[アクションあたりのメトリクス]** を選択します。

   1. **ServerErrors** メトリクス名と同じ行にある **DescribeInstances** の横にあるチェックボックスをオンにします。

   1. **[メトリクスの選択]** を選択します。

1. [**Specify metric and conditions (メトリクスと条件の指定)**] ページに、選択したメトリクスと統計のグラフや他の情報が表示されます。

   1. **[メトリクス]** で、以下を指定します。

      1. **[統計]** で、**[合計]** を選択します。

      1. **[期間]** で、**[5 分]** が選択されていることを確認します。

   1. [**Conditions (条件)**] で、次のように指定します。

      1. [**Threshold type (しきい値タイプ)**] で [**静的**] を選択します。

      1. **[ServerErrors が次の場合]** で **[以上]** (**>=**) を選択します。

      1. **[...より大きい]** に **10** と入力します。

   1. [**次へ**] を選択します。

1. **[Configure actions]** (アクションの設定) ページが表示されます。

   1. **[通知]** で、以下を指定します。

     1. **[アラーム状態トリガー]** で、**[アラーム状態]** を選択します。

     1. **[SNS トピックの選択]** で、**[既存の SNS トピックを選択]** または **[新しいトピックを作成]** を選択し、通知の必須フィールドに入力します。

     1. [**次へ**] を選択します。

1. **[名前と説明を追加]** ページが表示されます。

   1. **[アラーム名]** に、アラームの名前を入力します。名前には ASCII 文字のみを使用します。

   1. **[アラームの説明]** に、アラームの説明を入力します (省略可能)。

   1. [**次へ**] を選択します。

1. **[プレビューと作成]** ページが表示されます。ルーティング情報が正しいことを確認し、**[アラームを作成]** を選択します。

詳細については、『*Amazon CloudWatch ユーザーガイド*』の「[Amazon CloudWatch アラームの使用](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html)」を参照してください。