を使用して Kinesis Data Firehose のモニタリング CloudWatch ログ - Amazon Kinesis Data Firehose

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

を使用して Kinesis Data Firehose のモニタリング CloudWatch ログ

Kinesis Data Firehose は Amazon と統合します CloudWatch ログは、データ変換用の Lambda 呼び出しまたはデータ配信が失敗した場合の特定のエラーログを表示できます。Kinesis Data Firehose のエラーログ記録は、配信ストリームの作成時に有効にすることができます。

Kinesis Data Firehose コンソールで Kinesis Data Firehose エラーログ記録を有効にすると、ロググループと対応するログストリームが、お客様に代わって配信ストリーム用に作成されます。ロググループ名の形式は /aws/kinesisfirehose/delivery-stream-name です (delivery-stream-name は対応する配信ストリームの名前です)。ログストリーム名は S3DeliveryRedshiftDelivery、または AmazonOpenSearchServiceDelivery で、配信先によって異なります。データ変換の Lambda 呼び出しエラーも、データ配信エラーに使用されるログストリームに記録されます。

たとえば、Amazon Redshift を送信先とする配信ストリーム「MyStream」を作成し、Kinesis Data Firehose エラーのログ記録を有効にした場合、aws/kinesisfirehose/MyStream という名前のロググループと、S3Delivery および RedshiftDelivery という名前の 2 つのログストリームが作成されます。この例では、S3Delivery ログストリームは、中間 S3 バケットへの配信失敗に関連するエラーのログ記録に使用されます。RedshiftDelivery ログストリームは、Lambda 呼び出し失敗および Amazon Redshift クラスターへの配信失敗に関連するエラーのログ記録に使用されます。

Kinesis Data Firehose エラーログ記録を、AWS CLI、API、または CloudWatchLoggingOptions 設定を使用する AWS CloudFormation を使用して有効にできます。これを行うには、事前にロググループとログストリームを作成します。そのロググループとログストリームを、Kinesis Data Firehose エラーログ記録専用に予約することをお勧めします。また、関連付けられた IAM ポリシーに "logs:putLogEvents" アクセス許可があることを確認します。詳細については、「Amazon Kinesis Data Firehose によるアクセスの制御 」を参照してください。

Kinesis Data Firehose では、すべての配信エラーログがに送信されることは保証されません。 CloudWatch ログ。配信失敗率が高い状況では、Kinesis Data Firehose は配信エラーログをサンプリングしてから、に送信します。 CloudWatch ログ。

に送信されるエラーログには、わずかな金額が課金されます。 CloudWatch ログ。詳細については、次を参照してください。アマゾン CloudWatch 料金

データ配信エラー

以下に示しているのは、Kinesis Data Firehose の送信先ごとのデータ配信エラーコードおよびメッセージのリストです。各エラーメッセージには、問題を解決するために実行する適切なアクションも示されます。

Amazon S3 データ配信エラー

Kinesis Data Firehose は、次の Amazon S3 関連のエラーを CloudWatch ログ。

エラーコード エラーメッセージおよび情報
S3.KMS.NotFoundException

"指定された AWS KMS キーが見つかりませんでした。正しいロールを持つ有効な AWS KMS キーであると考えるものを使用している場合は、AWS KMS キーがアタッチされるアカウントに問題がないかどうか確認してください。"

S3.KMS.RequestLimitExceeded

"S3 オブジェクトを暗号化しようとしているときに、KMS リクエスト/秒の制限を超えました。1 秒あたりのリクエストの制限を引き上げてください。"

詳細については、AWS Key Management Service デベロッパーガイドの「制限」を参照してください。

S3.AccessDenied 「アクセスが拒否されました。指定された IAM ロールの信頼ポリシーで、Kinesis Data Firehose によるロールの引き受けが許可されること、およびアクセスポリシーで S3 バケットへのアクセスが許可されることを確認してください。」
S3.AccountProblem 「AWS アカウントに問題があり、それによりオペレーションを正常に完了することができません。AWS サポートにお問い合わせください。」
S3.AllAccessDisabled 「指定されたアカウントへのアクセスが無効になっています。AWS サポートにお問い合わせください。」
S3.InvalidPayer 「指定されたアカウントへのアクセスが無効になっています。AWS サポートにお問い合わせください。」
S3.NotSignedUp 「アカウントは Amazon S3 に対してサインアップされていません。アカウントにサインアップするか、別のアカウントを使用します。」
S3.NoSuchBucket 「指定されたバケットが存在しません。バケットを作成するか、存在する別のバケットを使用します。」
S3.MethodNotAllowed 「指定されたメソッドは、このリソースに対して許可されていません。Amazon S3 オペレーションの正しいアクセス許可を許可するようバケットのポリシーを変更します。」
InternalError 「データを配信しようとして内部エラーが発生しました。配信は再試行されます。エラーが解消されない場合は、解決のため AWS に報告されます。」

Amazon Redshift データ配信エラー

Kinesis Data Firehose は、次の Amazon RedShift 関連のエラーを CloudWatch ログ。

エラーコード エラーメッセージおよび情報
Redshift.TableNotFound

「データのロード先となるテーブルが見つかりませんでした。指定されたテーブルが存在することを確認してください。」

S3 からのデータのコピー先となる Amazon Redshift の送信先テーブルが見つかりませんでした。Amazon Redshift テーブルが存在しない場合、Kinesis Data Firehose は Amazon Redshift テーブルを作成しないことに注意してください。

Redshift.SyntaxError 「COPY コマンドには構文エラーが含まれています。コマンドを再試行してください。」
Redshift.AuthenticationFailed 「指定されたユーザー名とパスワードで認証に失敗しました。有効なユーザー名とパスワードを指定してください。」
Redshift.AccessDenied 「アクセスが拒否されました。指定された IAM ロールの信頼ポリシーで、Kinesis Data Firehose がロールを引き受けられることを確認します。」
Redshift.S3BucketAccessDenied 「COPY コマンドは S3 バケットにアクセスできませんでした。指定した IAM ロールのアクセスポリシーで、S3 バケットへのアクセスが許可されることを確認してください。」
Redshift.DataLoadFailed 「テーブルへのデータのロードに失敗しました。詳細については、STL_LOAD_ERRORS システムテーブルを確認してください。」
Redshift.ColumnNotFound 「COPY コマンドの列がテーブルに存在しません。有効な列名を指定してください。」
Redshift.DatabaseNotFound 「Amazon Redshift の送信先設定または JDBC URL で指定されたデータベースは見つかりませんでした。有効なデータベース名を指定してください。」
Redshift.IncorrectCopyOptions

「競合するか冗長な COPY のオプションが指定されました。一部のオプションは、特定の組み合わせと互換性がありません。詳細については、COPY コマンドのリファレンスを参照してください。」

詳細については、Amazon Redshift データベース開発者ガイドの「Amazon Redshift COPY コマンド」を参照してください。

Redshift.MissingColumn 「デフォルト値がなく、列リストに含まれていない、NOT NULL としてテーブルスキーマに定義されている列があります。この列を除外し、ロードされたデータが常にこの列の値を提供することを確認するか、このテーブルの Amazon Redshift スキーマにデフォルト値を追加します。」
Redshift.ConnectionFailed 「指定された Amazon Redshift クラスターへの接続に失敗しました。セキュリティ設定により、Kinesis Data Firehose 接続が許可され、Amazon Redshift の送信先設定または JDBC URL で指定されたクラスターまたはデータベースが正しく、クラスターが使用可能なことを確認してください。」
Redshift.ColumnMismatch 「COPY コマンドの jsonpaths の数および宛先テーブルの列数が一致する必要があります。コマンドを再試行してください。」
Redshift.IncorrectOrMissingRegion 「Amazon Redshift は、S3 バケットにアクセスするために間違ったリージョンのエンドポイントを使用しようとしました。COPY コマンドのオプションで正しいリージョンの値を指定するか、S3 バケットが Amazon Redshift データベースと同じリージョンにあることを確認します。」
Redshift.IncorrectJsonPathsFile 「指定された jsonpaths ファイルが、サポートされている JSON 形式ではありません。コマンドを再試行してください。」
Redshift.MissingS3File 「Amazon Redshift で必要な 1 つまたは複数の S3 ファイルが S3 バケットから削除されました。S3 バケットポリシーを確認し、S3 ファイルの自動削除がある場合はそれを除外します。」
Redshift.InsufficientPrivilege 「データをテーブルにロードするアクセス許可がユーザーにありません。INSERT 権限に対する Amazon Redshift ユーザー権限を確認してください。」
Redshift.ReadOnlyCluster 「システムがサイズ変更モードであるため、クエリを実行できません。後でもう一度クエリの実行を試みてください。」
Redshift.DiskFull 「ディスクがいっぱいのため、データをロードできませんでした。Amazon Redshift クラスターの容量を増やすか、使用されていないデータを削除してディスク容量を解放してください。」
InternalError 「データを配信しようとして内部エラーが発生しました。配信は再試行されます。エラーが解消されない場合は、解決のため AWS に報告されます。」

Splunk データ配信エラー

Kinesis Data Firehose は、次の Splunk 関連のエラーを CloudWatch ログ。

エラーコード エラーメッセージおよび情報
Splunk.ProxyWithoutStickySessions

「Kinesis Data Firehose と HEC ノードの間にプロキシ (ELB など) がある場合、HEC ACK をサポートするには、スティッキーセッションを有効にする必要があります。」

Splunk.DisabledToken "The HEC token is disabled. Enable the token to allow data delivery to Splunk."
Splunk.InvalidToken "The HEC token is invalid. Update Kinesis Data Firehose with a valid HEC token."
Splunk.InvalidDataFormat "The data is not formatted correctly. To see how to properly format data for Raw or Event HEC endpoints, see Splunk Event Data."
Splunk.InvalidIndex "The HEC token or input is configured with an invalid index. Check your index configuration and try again."
Splunk.ServerError "Data delivery to Splunk failed due to a server error from the HEC node. Kinesis Data Firehose will retry sending the data if the retry duration in your Kinesis Data Firehose is greater than 0. f all the retries fail, Kinesis Data Firehose backs up the data to Amazon S3."
Splunk.DisabledAck "Indexer acknowledgement is disabled for the HEC token. Enable indexer acknowledgement and try again. For more info, see Enable indexer acknowledgement."
Splunk.AckTimeout "Did not receive an acknowledgement from HEC before the HEC acknowledgement timeout expired. Despite the acknowledgement timeout, it's possible the data was indexed successfully in Splunk. Kinesis Data Firehose backs up in Amazon S3 data for which the acknowledgement timeout expired."
Splunk.MaxRetriesFailed

"Failed to deliver data to Splunk or to receive acknowledgment. Check your HEC health and try again."

Splunk.ConnectionTimeout "The connection to Splunk timed out. This might be a transient error and the request will be retried. Kinesis Data Firehose backs up the data to Amazon S3 if all retries fail."
Splunk.InvalidEndpoint "Could not connect to the HEC endpoint. Make sure that the HEC endpoint URL is valid and reachable from Kinesis Data Firehose."
Splunk.ConnectionClosed "Unable to send data to Splunk due to a connection failure. This might be a transient error. Increasing the retry duration in your Kinesis Data Firehose configuration might guard against such transient failures."
Splunk.SSLUnverified "Could not connect to the HEC endpoint. ホストがピアによって提供された証明書と一致しません。証明書とホストが有効であることを確認してください。"
Splunk.SSLHandshake "Could not connect to the HEC endpoint. 証明書とホストが有効であることを確認してください。"

HTTPS エンドポイントデータ配信エラー

Kinesis Data Firehose は、次の HTTP エンドポイント関連のエラーを CloudWatch ログ。これらのエラーのいずれも発生している問題と一致しない場合、デフォルトのエラーは次のとおりです。「データを配信しようとして内部エラーが発生しました。配信は再試行されます。エラーが解消されない場合は、解決のため AWS に報告されます。」

エラーコード エラーメッセージおよび情報
HttpEndpoint.RequestTimeout

レスポンスを受信する前に配信がタイムアウトし、再試行されます。このエラーが解決しない場合は、AWS Firehose サービスチームにお問い合わせください。

HttpEndpoint.ResponseTooLarge 「エンドポイントから受信したレスポンスが大きすぎます。この問題を解決するには、エンドポイントの所有者にお問い合わせください。」
HttpEndpoint.InvalidResponseFromDestination 「指定されたエンドポイントから受信したレスポンスは無効です。問題を解決するには、エンドポイントの所有者にお問い合わせください。」
HttpEndpoint.DestinationException 「エンドポイントの送信先から次のレスポンスが受信されました。」
HttpEndpoint.ConnectionFailed 「送信先エンドポイントに接続できません。この問題を解決するには、エンドポイントの所有者にお問い合わせください。」
HttpEndpoint.ConnectionReset 「エンドポイントとの接続を維持できません。この問題を解決するには、エンドポイントの所有者にお問い合わせください。」
HttpEndpoint.ConnectionReset 「エンドポイントとの接続の維持に問題があります。エンドポイントの所有者に連絡してください。」

アマゾン OpenSearch サービスデータ配信エラー

向けの OpenSearch サービスの送信先、Kinesis Data Firehose がエラーをに送信します CloudWatch によって返されたときのログを記録する OpenSearch サービス。

Lambda 呼び出しエラー

Kinesis Data Firehose は、次の Lambda 呼び出しエラーを CloudWatch ログ。

エラーコード エラーメッセージおよび情報
Lambda.AssumeRoleAccessDenied

「アクセスが拒否されました。指定された IAM ロールの信頼ポリシーで、Kinesis Data Firehose がロールを引き受けられることを確認します。」

Lambda.InvokeAccessDenied

「アクセスが拒否されました。アクセスポリシーで、Lambda 関数へのアクセスが許可されていることを確認してください。」

Lambda.JsonProcessingException

「Lambda 関数から返されたレコードの解析時にエラーが発生しました。返されたレコードが Kinesis Data Firehose からリクエストされたステータスモデルに従っていることを確認してください。」

詳細については、「データ変換とステータスモデル」を参照してください。

Lambda.InvokeLimitExceeded

「Lambda の同時実行の制限を超えています。同時実行の制限を引き上げてください。」

詳細については、AWS Lambda 開発者ガイドの「AWS Lambda の制限」を参照してください。

Lambda.DuplicatedRecordId

「複数のレコードに対して同じレコード ID が返されました。Lambda 関数がレコードごとに一意のレコード ID を返すことを確認してください。」

詳細については、「データ変換とステータスモデル」を参照してください。

Lambda.MissingRecordId

「1 つ以上のレコード ID が返されませんでした。Lambda 関数がすべての渡されたレコード ID を返すことを確認してください。」

詳細については、「データ変換とステータスモデル」を参照してください。

Lambda.ResourceNotFound

「指定した Lambda 関数は存在しません。存在する別の関数を使用してください。」

Lambda.InvalidSubnetIDException

「Lambda 関数の VPC 設定で指定したサブネット ID が無効です。サブネット ID が有効であることを確認してください。」

Lambda.InvalidSecurityGroupIDException

「Lambda 関数の VPC 設定で指定したセキュリティグループ ID が無効です。セキュリティグループ ID が有効であることを確認してください。」

Lambda.SubnetIPAddressLimitReachedException

「AWS Lambda は、1 つ以上の設定済みサブネットに使用可能な IP アドレスがないため、Lambda 関数の VPC アクセスを設定できませんでした。IP アドレスの制限を引き上げてください。」

詳細については、Amazon VPC ユーザーガイドの「Amazon VPC の制限 - VPC とサブネット」を参照してください。

Lambda.ENILimitReachedException

「AWS Lambda は、ネットワークインターフェイスの制限に達したため、Lambda 関数設定で指定した VPC に Elastic Network Interface (ENI) を作成できませんでした。ネットワークインターフェイスの制限を引き上げてください。」

詳細については、Amazon VPC ユーザーガイドの「Amazon VPC の制限 - ネットワークインターフェイス」を参照してください。

へのアクセス CloudWatch Kinesis Data Firehose のログ

Kinesis Data Firehose コンソールまたは、Kinesis Data Firehose のデータ配信失敗に関連するエラーログを表示できます。 CloudWatch console. 次の手順は、これらの 2 つの方法を使用してエラーログにアクセスする方法を示しています。

Kinesis Data Firehose コンソールを使用してエラーログにアクセスするには

  1. AWS Management Console にサインインし、Kinesis コンソール (https://console.aws.amazon.com/kinesis) を開きます。

  2. ナビゲーションペインの [Data Firehose] を選択します。

  3. ナビゲーションバーで、AWS リージョンを選択します。

  4. 配信ストリーム名を選択して、配信ストリームの詳細ページに移動します。

  5. データ配信の失敗に関連するエラーログのリストを表示するには、[Error Log] を選択します。

を使用してエラーログにアクセスするには CloudWatch コンソール

  1. を開く CloudWatch コンソールでhttps://console.aws.amazon.com/cloudwatch/

  2. ナビゲーションバーで、リージョンを選択します。

  3. ナビゲーションペインで [ログ] を選択します。

  4. データ配信の失敗に関連するエラーログのリストを表示するには、ロググループとログストリームを選択します。