

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

# データ配信のモニタリング
<a name="data-delivery-monitoring"></a>

 このトピックでは、Amazon CloudWatch メトリクス、CloudWatch Logs、および を使用して配信をモニタリングする方法について説明します AWS CloudTrail。

## CloudWatch メトリクス
<a name="data-delivery-monitoring-metrics"></a>

 各配信は、 `AWS/Kinesis`名前空間の CloudWatch にメトリクスを発行します。メトリクス名には、汎用 Amazon S3 配信`DeliveryToS3`用とストリーミングテーブル配信`DeliveryToIceberg`用の送信先タイプがプレフィックスとして付けられます。これらのメトリクスを使用して、配信の状態とパフォーマンスをモニタリングします。


**Amazon S3 配信メトリクス (DeliveryToS3)**  

| メトリクス名 | Unit | 説明 | 
| --- | --- | --- | 
| DeliveryToS3.DataFreshness | 秒 | 送信先にまだ配信されていない最も古いレコードの経過時間。値を大きくすると、配信が遅れていることを示します。 | 
| DeliveryToS3.BytesIn | バイト | ストリームから配信パスに読み取られたデータの量。 | 
| DeliveryToS3.BytesProcessed | バイト | 配信によって処理されるデータの量。 | 
| DeliveryToS3.BytesOut | バイト | 送信先に書き込まれたデータの量。 | 
| DeliveryToS3.RecordCount | カウント | ストリームから読み取られたレコードの総数。 | 
| DeliveryToS3.SuccessfulRecordCount | カウント | 送信先に正常に配信されたレコードの数。 | 
| DeliveryToS3.FailedRecordCount | カウント | 配信に失敗したレコードの数。ゼロ以外の値はキーエラーシグナルです。 | 
| DeliveryToS3.DeliverySuccess | カウント | 成功した配信オペレーションの数。 | 
| DeliveryToS3.DLQDeliverySuccess | カウント | デッドレターキューに正常に書き込まれたレコードの数。 | 


**ストリーミングテーブル配信メトリクス (DeliveryToIceberg)**  

| メトリクス名 | Unit | 説明 | 
| --- | --- | --- | 
| DeliveryToIceberg.DataFreshness | 秒 | テーブルにまだ配信されていない最も古いレコードの経過時間。値を大きくすると、配信が遅れていることを示します。 | 
| DeliveryToIceberg.BytesIn | バイト | ストリームから配信パスに読み取られたデータの量。 | 
| DeliveryToIceberg.BytesProcessed | バイト | 配信によって処理されるデータの量。 | 
| DeliveryToIceberg.BytesOut | バイト | テーブルに書き込まれたデータの量。 | 
| DeliveryToIceberg.TotalRowCount | カウント | ストリームから読み取られた行の合計数。 | 
| DeliveryToIceberg.SuccessfulRowCount | カウント | テーブルに正常に配信された行数。 | 
| DeliveryToIceberg.FailedRowCount | カウント | 配信に失敗した行数。ゼロ以外の値はキーエラーシグナルです。 | 
| DeliveryToIceberg.CommitSuccess | カウント | 成功した Iceberg コミットの数。 | 
| DeliveryToIceberg.DLQDeliverySuccess | カウント | デッドレターキューに正常に書き込まれたレコードの数。 | 

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

 配信メトリクスは、次のディメンションで公開されます。
+ `ChannelName` – 配信名。
+ `ChannelId` – 配信の一意の識別子。
+ `StreamName` – ソース Kinesis Data Streams ストリームの名前。

**注記**  
 CloudWatch アラームで特定の配信をターゲットにするには、3 つのディメンションをすべて指定します。`GetMetricData` および を使用してブラウジングまたはクエリを行う場合`ListMetrics`は、`ChannelName`単独でなど、ディメンションのサブセットでフィルタリングできます。

### 推奨アラーム
<a name="data-delivery-monitoring-alarms"></a>


**配信に推奨される CloudWatch アラーム**  

| アラーム | メトリクス | Condition | 説明 | 
| --- | --- | --- | --- | 
| 高い障害率 | DeliveryToS3.FailedRecordCount | > 0 を 5 分間 | レコードの配信が失敗しています。スキーマの不一致または送信先の問題を調査します。 | 
| データ鮮度の低下 | DeliveryToS3.DataFreshness | > しきい値 | データ配信が遅れています。サービス実行ロールに対するアクセス許可の欠落や送信先でのスロットリングなど、配信の問題を調査します。 | 
| データは配信されません | DeliveryToS3.SuccessfulRecordCount | = 15 分間 0 | レコードは配信されていません。ストリームにデータがあり、配信がアクティブであることを確認します。 | 
| DLQ 配信の失敗 | DeliveryToS3.DLQDeliverySuccess | FailedRecordCount > 0 の場合 = 0 | 失敗したレコードをデッドレターキューに書き込むことはできません。DLQ バケットのアクセス許可を確認します。 | 

**注記**  
 上記のアラームは、Amazon S3 配信の`DeliveryToS3`メトリクスを使用します。ストリーミングテーブル配信には、同等の`DeliveryToIceberg`メトリクス (`DeliveryToIceberg.FailedRowCount`、`DeliveryToIceberg.DataFreshness`、`DeliveryToIceberg.SuccessfulRowCount`、) を使用します`DeliveryToIceberg.DLQDeliverySuccess`。

## CloudWatch Logs
<a name="data-delivery-monitoring-logs"></a>

 各配信は、詳細なログを CloudWatch Logs に発行して、デバッグと運用の可視性を実現できます。
+ **デフォルトのロググループ** – `/aws/kinesis/{{channelName}}/{{channelId}}`
+ **ログストリーム** – `DestinationDelivery`

### CLI による CloudWatch Logs の有効化
<a name="data-delivery-monitoring-logs-enable"></a>

 以下を使用して配信を作成または更新するときに CloudWatch Logs を有効にします AWS CLI。

```
aws kinesis create-channel \
    --channel-name "my-channel" \
    --service-execution-role-arn "arn:aws:iam::123456789012:role/my-channel-role" \
    --stream-configuration-list '[
        {
            "StreamARN": "arn:aws:kinesis:us-east-1:123456789012:stream/my-stream",
            "RecordConfiguration": { "RecordFormatType": "JSON" }
        }
    ]' \
    --s3-destination-configuration '{
        "StorageConfiguration": {
            "BucketARN": "arn:aws:s3:::my-destination-bucket",
            "ExpectedBucketOwner": "123456789012",
            "CompressionType": "GZIP"
        }
    }' \
    --logging-configuration '{
        "CloudWatchLogs": {
            "Enabled": true
        }
    }'
```

 ロググループを指定せずに CloudWatch Logs を有効にすると、配信はデフォルトのロググループ を使用します`/aws/kinesis/{{channelName}}/{{channelId}}`。カスタム を指定する場合は`LogGroupName`、サービス実行ロールの CloudWatch Logs アクセス許可が同じロググループにスコープされていることを確認します。必要なアクセス許可については、「[データ配信の IAM アクセス許可](data-delivery-iam.md)」を参照してください。

 `update-channel` コマンドを使用して、既存の配信で CloudWatch Logs を有効化または更新し、同じ`--logging-configuration`値を渡すこともできます。

### 必要なアクセス許可
<a name="data-delivery-monitoring-logs-permissions"></a>

 CloudWatch Logs を有効にするには、配信のサービス実行ロールに次のアクセス許可が必要です。
+ `logs:CreateLogGroup`
+ `logs:CreateLogStream`
+ `logs:PutLogEvents`

 これらのアクセス許可を特定のロググループ ARN にスコープします。完全なポリシーの例[オプションの CloudWatch Logs アクセス許可](data-delivery-iam.md#data-delivery-iam-cloudwatch-logs)については、「」を参照してください。

## AWS CloudTrail ログ記録
<a name="data-delivery-monitoring-cloudtrail"></a>

 すべての配信 API コールは によって記録されます AWS CloudTrail。以下は、 `CreateChannel`呼び出しの AWS CloudTrail イベントの例です。

```
{
    "eventVersion": "1.08",
    "userIdentity": {
        "type": "AssumedRole",
        "principalId": "AROA1EXAMPLE:user-session",
        "arn": "arn:aws:sts::<account-id>:assumed-role/<role-name>/user-session",
        "accountId": "<account-id>"
    },
    "eventTime": "2026-07-20T20:00:00Z",
    "eventSource": "kinesis.amazonaws.com",
    "eventName": "CreateChannel",
    "awsRegion": "us-east-1",
    "sourceIPAddress": "192.0.2.1",
    "userAgent": "aws-cli/2.x",
    "requestParameters": {
        "streamName": "my-stream",
        "channelName": "my-channel"
    },
    "responseElements": {
        "channelARN": "arn:aws:kinesis:us-east-1:<account-id>:channel/<channel-id>"
    },
    "requestID": "a1b2c3d4-example",
    "eventID": "e5f6g7h8-example",
    "readOnly": false,
    "eventType": "AwsApiCall",
    "recipientAccountId": "<account-id>"
}
```