

慎重に検討した結果、Amazon Kinesis Data Analytics for SQL アプリケーションを中止することにしました。

1. **2025 年 9 月 1** 日以降、Amazon Kinesis Data Analytics for SQL アプリケーションのバグ修正は提供されません。これは、今後の廃止によりサポートが制限されるためです。

2. **2025 年 10 月 15** 日以降、新しい Kinesis Data Analytics for SQL アプリケーションを作成することはできません。

3. **2026 年 1 月 27 日**以降、アプリケーションは削除されます。Amazon Kinesis Data Analytics for SQL アプリケーションを起動することも操作することもできなくなります。これ以降、Amazon Kinesis Data Analytics for SQL のサポートは終了します。詳細については、「[Amazon Kinesis Data Analytics for SQL アプリケーションのサポート終了](discontinuation.md)」を参照してください。

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

# Amazon CloudWatch によるモニターリング
<a name="monitoring-cloudwatch"></a>

Amazon CloudWatch を使用して、アプリケーションをモニタリングできます。CloudWatch は、 から raw データを収集して、読み取り可能なほぼリアルタイムのメトリクスに変換します。これらの統計は 2 週間保持されます。履歴情報にアクセスして、ウェブアプリケーションやサービスの動作をより的確に把握できます。デフォルトでは、 メトリクスデータは CloudWatch に自動的に送信されます。詳細については、*Amazon CloudWatch ユーザーガイド*の「[Amazon CloudWatch とは](https://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/WhatIsCloudWatch.html)」を参照してください。

**Topics**
+ [メトリクスとディメンション](monitoring-metrics.md)
+ [のメトリクスおよびディメンションの表示](metrics-dimensions.md)
+ [をモニタリングする CloudWatch アラームの作成](creating-alarms.md)
+ [Amazon CloudWatch Logs の使用](cloudwatch-logs.md)

# メトリクスとディメンション
<a name="monitoring-metrics"></a>

`AWS/KinesisAnalytics` 名前空間には、次のメトリクスが含まれます。


| メトリクス | 説明 | 
| --- | --- | 
|  `Bytes` | 読み取りバイト数 (入力ストリームあたり) または書き込みバイト数 (出力ストリームあたり)。 レベル: 入力ストリームあたりおよび出力ストリームあたり  | 
|  `KPUs` | ストリーム処理アプリケーションを実行するために使用される Kinesis 処理ユニットの数。毎時間使用される KPU の平均数によって、アプリケーションへの課金が決まります。 レベル: アプリケーションレベル  | 
|  `MillisBehindLatest` |  アプリケーションが現在時刻からどのくらい遅れてストリーミングソースから読み取るかを示します。 レベル: アプリケーションレベル  | 
|  `Records` | 読み取りレコード数 (入力ストリームあたり) または書き込みレコード数 (出力ストリームあたり)。 レベル: 入力ストリームあたりおよび出力ストリームあたり  | 
|  `Success` | アプリケーションに設定された宛先への配信が成功するたびに 1、失敗した配信試行ごとに0。このメトリクスの平均値は、成功した配信の回数を示します。 レベル: 宛先ごと。  | 
|  `InputProcessing.Duration` |  によって実行される各 AWS Lambda 関数呼び出しにかかる時間。 レベル: 入力ストリームあたり  | 
|  `InputProcessing.OkRecords ` |  `Ok` ステータスとマークされた Lambda 関数によって返されたレコードの数。 レベル: 入力ストリームあたり  | 
|  `InputProcessing.OkBytes ` |  `Ok` ステータスとマークされた Lambda 関数によって返されたレコードのバイトの合計数。 レベル: 入力ストリームあたり  | 
|  `InputProcessing.DroppedRecords ` |  `Dropped` ステータスとマークされた Lambda 関数によって返されたレコードの数。 レベル: 入力ストリームあたり  | 
|  `InputProcessing.ProcessingFailedRecords ` |  `ProcessingFailed` ステータスとマークされた Lambda 関数によって返されたレコードの数。 レベル: 入力ストリームあたり  | 
|  `InputProcessing.Success` |   による正常な Lambda の呼び出しの数。 レベル: 入力ストリームあたり  | 
|  `LambdaDelivery.OkRecords` |  `Ok` ステータスとマークされた Lambda 関数によって返されたレコードの数。 レベル: Lambda 宛先ごと | 
|  `LambdaDelivery.DeliveryFailedRecords` |  `DeliveryFailed` ステータスとマークされた Lambda 関数によって返されたレコードの数。 レベル: Lambda 宛先ごと | 
|  `LambdaDelivery.Duration` |   によって実行される各 Lambda 関数呼び出しにかかる時間。 レベル: Lambda 宛先ごと | 

 は以下のディメンションのメトリクスを提供します。


| ディメンション | 説明 | 
| --- | --- | 
|  `Flow`  |  入力ストリームあたり: 入力  出力ストリームあたり: 出力  | 
|  `Id`  |  入力ストリームあたり: 入力 ID 出力ストリームあたり: 出力 ID  | 

# のメトリクスおよびディメンションの表示
<a name="metrics-dimensions"></a>

 アプリケーションでデータストリームを処理するときに、 は次のメトリクスとディメンションを、CloudWatch に送信します。 のメトリクスを表示するには、以下の手順を使用できます

コンソールで、メトリクスはまずサービスの名前空間ごとにグループ化され、次に各名前空間内のディメンションの組み合わせごとにグループ化されます。

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

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

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

1.  の [**CloudWatch Metrics by Category**] ペインで、メトリクスカテゴリを選択します。

1. 上部のペインで、スクロールするとメトリクスの詳細なリストが表示されます。

**を使用してメトリクスを表示するには AWS CLI**
+ コマンドプロンプトで、次のコマンドを使用します。

  ```
  1. aws cloudwatch list-metrics --namespace "AWS/KinesisAnalytics" --region region
  ```

 メトリクスは次のレベルで収集されます。
+ アプリケーション 
+ 入力ストリーム
+ 出力ストリーム

# をモニタリングする CloudWatch アラームの作成
<a name="creating-alarms"></a>

アラームの状態が変わったときに Amazon SNS メッセージを送信する Amazon CloudWatch のアラームを作成することができます。1 つのアラームで、指定した期間中、1 つのメトリクスを監視します。このアラームは、複数の期間にわたる一定のしきい値とメトリクスの値の関係性に基づき、1 つ以上のアクションを実行します。アクションは、Amazon SNS のトピックまたは自動スケーリングのポリシーに送信される通知です。

アラームは、持続した状態の変化に対してのみアクションを呼び出します。CloudWatch アラームでアクションを呼び出すには、状態を変更し、指定期間にわたって維持する必要があります。

次に示すように AWS マネジメントコンソール、、CloudWatch AWS CLI、または CloudWatch API を使用してアラームを設定できます。

**CloudWatch コンソールを使用してアラームを設定するには**

1. にサインイン AWS マネジメントコンソール し、[https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/) で CloudWatch コンソールを開きます。

1.  **[Create Alarm]** (アラームの作成) を選択します。[**アラームの作成ウィザード**] が開始されます。

1. [**Kinesis Analytics Metrics**] を選択します。その後、 メトリクスをスクロールして、アラームを設定するメトリクスを見つけます。

   メトリクスのみ表示するには、ファイルシステムのシステム ID を検索します。アラームを作成するメトリクスを選択し、[**次へ**] をクリックします。

1. [**名前**]、[**説明**]、[**次の時**] のそれぞれにメトリクスの値を入力します。

1. アラーム状態に達したときに CloudWatch からメールを送信する場合は、**[このアラームが次の時:]**フィールドで**[状態はアラーム]**を選択します。[**通知の送信先:**] フィールドで、既存の SNS トピックを選択します。[**トピックの作成**] を選択すると、新しいメールサブスクリプションリストの名前とメールアドレスを設定できます。このリストは保存され、今後のアラーム用のフィールドに表示されます。
**注記**  
 **[トピックの作成]** を使用して新しい Amazon SNS トピックを作成する場合、メールアドレスを検証しなければ、そのアドレスで通知を受け取ることができません。メールは、アラームがアラーム状態になったときにのみ送信されます。アラーム状態になった際に、メールアドレスの検証がまだ完了していない場合は、そのアドレスで通知を受け取ることはできません。

1. [**アラームのプレビュー**] セクションで、作成するアラームをプレビューします。

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

**CloudWatch CLI を使用してアラームを設定するには**
+  `[mon-put-metric-alarm](https://docs.aws.amazon.com/AmazonCloudWatch/latest/cli/cli-mon-put-metric-alarm.html)` を呼び出します。詳細については、「[Amazon CloudWatch CLI リファレンス](https://docs.aws.amazon.com/AmazonCloudWatch/latest/cli/)」を参照してください。

**CloudWatch API を使用してアラームを設定するには**
+ `[PutMetricAlarm](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_PutMetricAlarm.html)` を呼び出します。詳細については、「[Amazon CloudWatch API リファレンス](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/)」を参照してください。

# Amazon CloudWatch Logs の使用
<a name="cloudwatch-logs"></a>

 アプリケーションが誤設定されていると、アプリケーションは起動時に実行状態に移行することがあります。または、データを更新できても、アプリケーション内の入力ストリームのデータは処理されません。アプリケーション設定の問題をモニタリングするには、CloudWatch ログオプションをアプリケーションに追加します。

 では、以下の条件で構成エラーを生成できます。
+ 入力に使用されている Kinesis データストリームは存在しません。
+ 入力に使用されている Amazon Data Firehose 配信ストリームが存在しない。
+ リファレンスデータソースとして使用されている Amazon S3 バケットは存在しません。
+ S3 バケットのリファレンスデータソースに指定されたファイルは存在しません。
+ 関連するアクセス許可を管理する AWS Identity and Access Management (IAM) ロールで正しいリソースが定義されていません。
+ 関連アクセス権限を管理する IAM ロールで、適切な権限が定義されていません。
+  には、関連アクセス権限を管理する IAM ロールを引き受けるアクセス権限がありません。

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

## PutLogEvents ポリシーアクションの追加
<a name="enable_putlogevents"></a>

 では、誤設定エラーを CloudWatch に書き込むための権限が必要です。以下に説明しているように、 で引き受ける IAM ロールにこれらのアクセス権限を追加することができます。 で IAM ロールを使用する方法については、「[Kinesis Data Analytics の Identity and Access Management](iam-role.md)」を参照してください。

### 信頼ポリシー
<a name="enable_putlogevents_trust_policy"></a>

IAM ロールを引き受けるためのアクセス権限を に付与するには、以下の信頼ポリシーをそのロールにアタッチします。

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "kinesisanalytics.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}
```

------

### アクセス許可ポリシー
<a name="enable_putlogevents_permissions_policy"></a>

リソースから CloudWatch にログイベントを書き込むアクセス権限をアプリケーションに付与するには、以下の IAM 権限ポリシーを使用します。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "Stmt0123456789000",
            "Effect": "Allow",
            "Action": [
                "logs:PutLogEvents"
            ],
            "Resource": [
                "arn:aws:logs:us-east-1:123456789012:log-group:my-log-group:log-stream:my-log-stream*"
            ]
        }
    ]
}
```

------

## モニタリング中の設定エラーの追加
<a name="adding_cloudwatch"></a>

CloudWatch ログオプションを新しいアプリケーションまたは既存アプリケーションに追加するか、既存アプリケーションのログオプションを変更するには、以下の API アクションを使用します。

**注記**  
現在は、API アクションを使用して、アプリケーションへの CloudWatch ログオプションの追加のみ行うことができます。コンソールを使用して CloudWatch ログオプションを追加することはできません。

### アプリケーション作成時の CloudWatch ログオプションの追加
<a name="add_cloudwatch_create"></a>

以下のコード例では、`CreateApplication` アクションを使用して、アプリケーション作成時に CloudWatch ログオプションを使用する方法について説明します。`Create_Application` の詳細については、「[CreateApplication](API_CreateApplication.md)」をご参照ください。

```
{
   "ApplicationCode": "<The SQL code the new application will run on the input stream>",
   "ApplicationDescription": "<A friendly description for the new application>",
   "ApplicationName": "<The name for the new application>",
   "Inputs": [ ... ],
   "Outputs": [ ... ],
   "CloudWatchLoggingOptions": [{
      "LogStreamARN": "<Amazon Resource Name (ARN) of the CloudWatch log stream to add to the new application>",
      "RoleARN": "<ARN of the role to use to access the log>"
	}]
}
```

### 既存のアプリケーションへの CloudWatch ログオプションの追加
<a name="add_to_existing_app"></a>

以下のコード例では、`AddApplicationCloudWatchLoggingOption` アクションを使用して、既存アプリケーションに CloudWatch ログオプションを追加する方法について説明します。`AddApplicationCloudWatchLoggingOption` の詳細については、「[AddApplicationCloudWatchLoggingOption](API_AddApplicationCloudWatchLoggingOption.md)」を参照してください。

```
{
   "ApplicationName": "<Name of the application to add the log option to>",
   "CloudWatchLoggingOption": { 
      "LogStreamARN": "<ARN of the log stream to add to the application>",
      "RoleARN": "<ARN of the role to use to access the log>"
   },
   "CurrentApplicationVersionId": <Version of the application to add the log to>
}
```

### 既存の CloudWatch ログオプションの更新
<a name="update_existing"></a>

以下のコード例では、`UpdateApplication` アクションを使用して、既存の CloudWatch ログオプションを変更する方法について説明します。`UpdateApplication` の詳細については、「[UpdateApplication](API_UpdateApplication.md)」を参照してください。

```
{
   "ApplicationName": "<Name of the application to update the log option for>",
   "ApplicationUpdate": { 
      "CloudWatchLoggingOptionUpdates": [ 
         { 
            "CloudWatchLoggingOptionId": "<ID of the logging option to modify>",
            "LogStreamARNUpdate": "<ARN of the new log stream to use>",
            "RoleARNUpdate": "<ARN of the new role to use to access the log stream>"
         }
      ],
   },
   "CurrentApplicationVersionId": <ID of the application version to modify>
}
```

### アプリケーションからの CloudWatch ログオプションの削除
<a name="delete-log"></a>

以下のコード例では、`DeleteApplicationCloudWatchLoggingOption` アクションを使用して、既存の CloudWatch ログオプションを削除する方法について説明します。`DeleteApplicationCloudWatchLoggingOption` の詳細については、「[DeleteApplicationCloudWatchLoggingOption](API_DeleteApplicationCloudWatchLoggingOption.md)」を参照してください。

```
{
   "ApplicationName": "<Name of application to delete log option from>",
   "CloudWatchLoggingOptionId": "<ID of the application log option to delete>",
   "CurrentApplicationVersionId": <Version of the application to delete the log option from>
}
```

## 設定エラー
<a name="cloudwatch_errors"></a>

以下のセクションには、誤設定したアプリケーションの Amazon CloudWatch Logs で表示される可能性のあるエラーの詳細が含まれています。

### エラーメッセージ形式
<a name="cloudwatch_errors_format"></a>

アプリケーションの誤設定によって生成されるエラーメッセージは、次の形式で表示されます。

```
{
"applicationARN": "string",
"applicationVersionId": integer,
"messageType": "ERROR",
"message": "string",
"inputId": "string",
"referenceId": "string",
"errorCode": "string"
"messageSchemaVersion": "integer",
}
```

エラーメッセージのフィールドには、次の情報が含まれています。
+ `applicationARN`: 生成アプリケーションの Amazon リソースネーム (ARN) (例: `arn:aws:kinesisanalytics:us-east-1:112233445566:application/sampleApp`)。
+ `applicationVersionId`: エラー発生時のアプリケーションのバージョン。詳細については、「[ApplicationDetail](API_ApplicationDetail.md)」を参照してください。
+ `messageType`: メッセージの種類。現在、この種類は `ERROR` のみです。
+ `message`: エラーの詳細など。

  ```
  There is a problem related to the configuration of your input. Please check that the resource exists, the role has the correct permissions to access the resource and that Kinesis Analytics can assume the role provided.
  ```
+ `inputId`: アプリケーション入力に関連付けられた ID。この値は、入力がエラーの原因である場合にのみ表示されます。この値は、`referenceId` が存在する場合は存在しません。詳細については、「[DescribeApplication](API_DescribeApplication.md)」を参照してください。
+ `referenceId`: アプリケーションのリファレンスデータソースに関連付けられた ID。この値は、ソースがエラーの原因である場合にのみ表示されます。この値は、`inputId` が存在する場合は存在しません。詳細については、「[DescribeApplication](API_DescribeApplication.md)」を参照してください。
+ `errorCode`: エラーの識別子。この ID は、`InputError` または `ReferenceDataError` になります。
+ `messageSchemaVersion`: 現在のメッセージスキーマバージョンを指定する値。現在は `1` です。エラーメッセージスキーマが更新されているかどうかを確認するには、この値を確認します。

### エラー
<a name="cloudwatch_errors_list"></a>

 の CloudWatch ログに表示される可能性のあるエラーには、次のようなものがあります。

#### リソースが存在しません
<a name="resource_does_not_exist"></a>

ARN が存在しない Kinesis 入力ストリームに指定されていても、その ARN が構文的に正しい場合は、以下のようなエラーが生成されます。

```
{
"applicationARN": "arn:aws:kinesisanalytics:us-east-1:112233445566:application/sampleApp",
"applicationVersionId": "5",
 "messageType": "ERROR",
 "message": "There is a problem related to the configuration of your input. Please check that the resource exists, the role has the correct permissions to access the resource and that Kinesis Analytics can assume the role provided.",
 "inputId":"1.1",
 "errorCode": "InputError",
 "messageSchemaVersion": "1"
}
```

不適切な Amazon S3 ファイルキーがリファレンスデータで使用されている場合は、次のようなエラーが生成されます。

```
{
 "applicationARN": "arn:aws:kinesisanalytics:us-east-1:112233445566:application/sampleApp",
 "applicationVersionId": "5",
 "messageType": "ERROR",
 "message": "There is a problem related to the configuration of your reference data. Please check that the bucket and the file exist, the role has the correct permissions to access these resources and that Kinesis Analytics can assume the role provided.",
 "referenceId":"1.1",
 "errorCode": "ReferenceDataError",
 "messageSchemaVersion": "1"
}
```

#### ロールが存在しません
<a name="role_does_not_exist"></a>

存在しない IAM 入力ロールで ARN が指定されているが、その ARN が正しくない場合、以下のようなエラーが生成されます。

```
{
 "applicationARN": "arn:aws:kinesisanalytics:us-east-1:112233445566:application/sampleApp",
 "applicationVersionId": "5",
 "messageType": "ERROR",
 "message": "There is a problem related to the configuration of your input. Please check that the resource exists, the role has the correct permissions to access the resource and that Kinesis Analytics can assume the role provided.",
 "inputId":null,
 "errorCode": "InputError",
 "messageSchemaVersion": "1"
}
```

#### リソースにアクセスするアクセスする権限がロールにありません
<a name="role_does_not_have_permissions"></a>

入力リソースにアクセスするためのアクセス権限がない入力ロール (例: Kinesis ソースストリーム) が使用されている場合は、次のようなエラーが表示されます。

```
{
 "applicationARN": "arn:aws:kinesisanalytics:us-east-1:112233445566:application/sampleApp",
 "applicationVersionId": "5",
 "messageType": "ERROR",
 "message": "There is a problem related to the configuration of your input. Please check that the resource exists, the role has the correct permissions to access the resource and that Kinesis Analytics can assume the role provided.",
 "inputId":null,
 "errorCode": "InputError",
 "messageSchemaVersion": "1"
}
```