CloudWatch Logs를 사용하여 Amazon Data Firehose 모니터링 - Amazon Data Firehose

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

CloudWatch Logs를 사용하여 Amazon Data Firehose 모니터링

데이터 변환 또는 데이터 전송을 위한 Lambda 호출에 실패할 경우 특정 오류 로그를 확인할 수 있도록 Amazon Data Firehose가 Amazon CloudWatch Logs와 통합됩니다. Firehose 스트림을 생성할 때 Amazon Data Firehose 오류 로깅을 활성화할 수 있습니다.

Amazon Data Firehose 콘솔에서 Amazon Data Firehose 오류 로깅을 활성화하면 Firehose 스트림에 대해 로그 그룹과 해당 로그 스트림이 자동으로 생성됩니다. 로그 그룹 이름의 형식은 /aws/kinesisfirehose/delivery-stream-name이며, 여기서 delivery-stream-name는 해당 Firehose 스트림의 이름입니다. DestinationDelivery는 기본 대상으로의 전송과 관련된 오류를 기록하기 위해 생성되어 사용되는 로그 스트림입니다. BackupDelivery(이)라는 또 다른 로그 스트림은 대상에 대해 S3 백업이 활성화된 경우에만 생성됩니다. BackupDelivery 로그 스트림은 S3 백업으로 전송하는 것과 관련된 오류를 기록하는 데 사용됩니다.

예를 들어 Amazon Redshift를 대상으로 Firehose 스트림 "MyStream"을 생성하고 Amazon Data Firehose 오류 로그를 활성화하면, aws/kinesisfirehose/MyStream이라는 로그 그룹과 DestinationDeliveryBackupDelivery라는 두 개의 로그 스트림이 자동으로 생성됩니다. 이 예시에서 DestinationDelivery은(는) Amazon Redshift 대상 및 중간 S3 대상으로의 전송과 관련된 오류를 기록하는 데 사용됩니다. BackupDelivery, S3 백업이 활성화된 경우 S3 백업 버킷으로의 전송과 관련된 오류를 기록하는 데 사용됩니다.

CloudWatchLoggingOptions 구성을 사용하여 AWS CLI, API 또는 AWS CloudFormation을 통해 Amazon Data Firehose 오류 로그를 활성화할 수 있습니다. 이렇게 하려면 로그 그룹과 로그 스트림을 미리 생성합니다. Amazon Data Firehose 오류 로깅만을 위한 로그 그룹과 로그 스트림을 예약하는 것이 좋습니다. 또한 연결된 IAM 정책에 "logs:putLogEvents" 권한이 있는지도 확인합니다. 자세한 내용은 Amazon Data Firehose를 통한 액세스 제어 섹션을 참조하세요.

Amazon Data Firehose는 모든 전송 오류 로그가 CloudWatch Logs로 전송된다고 보장하지 않습니다. 전송 실패율이 높은 경우 Amazon Data Firehose가 전송 오류 로그를 CloudWatch Logs로 보내기 전에 샘플링합니다.

CloudWatch Logs로 전송되는 오류 로그에는 일반 요금이 부과됩니다. 자세한 내용은 Amazon CloudWatch 요금을 참조하세요.

데이터 전송 오류

다음은 데이터 전송 오류 코드 목록과 각 Amazon Data Firehose 대상에 대한 메시지입니다. 각 오류 메시지는 문제를 해결하기 취해야 하는 적절한 조치도 설명합니다.

Amazon S3 데이터 전송 오류

Amazon Data Firehose는 다음과 같은 Amazon S3 관련 오류를 CloudWatch Logs로 전송할 수 있습니다.

오류 코드 오류 메시지와 정보
S3.KMS.NotFoundException

"입력하신 AWS KMS 키를 찾을 수 없습니다. 현재 사용 중인 키가 정확한 역할의 유효한 AWS KMS 키라고 판단한 경우, AWS KMS 키가 연결된 계정에 문제가 있는지 확인하세요."

S3.KMS.RequestLimitExceeded

"S3 객체 암호화를 시도하는 동안 초당 KMS 요청 제한을 초과했습니다. 초당 제한을 늘리세요."

자세한 정보는 AWS Key Management Service 개발자 안내서제한을 참조하세요.

S3.AccessDenied "액세스가 거부되었습니다. 입력한 IAM 역할에 대한 신뢰 정책에 따라 Amazon Data Firehose가 역할을 사용할 수 있고, 액세스 정책에 따라 S3 버킷에 액세스가 가능해야 합니다."
S3.AccountProblem "AWS 계정에 해당 작업을 성공적으로 완료하지 못하도록 방해하는 문제가 있습니다. AWS Support에 문의하세요.”
S3.AllAccessDisabled "입력하신 계정에 대한 액세스가 거부되었습니다. AWS Support에 문의하세요.”
S3.InvalidPayer "입력하신 계정에 대한 액세스가 거부되었습니다. AWS Support에 문의하세요.”
S3.NotSignedUp "계정이 Amazon S3에 가입되지 않았습니다. 계정에 가입하거나 다른 계정을 사용하세요."
S3.NoSuchBucket "지정된 버킷이 존재하지 않습니다. 버킷을 새로 만들거나, 다른 기존 버킷을 사용하세요."
S3.MethodNotAllowed "지정된 방법이 이 리소스에 허용되지 않습니다. 올바른 Amazon S3 작업 권한을 허용하도록 버킷 정책을 수정하세요."
InternalError "데이터 전송을 시도하는 동안 내부 오류가 발생했습니다. 전송이 다시 시도됩니다. 오류가 지속될 경우 해결을 위해 AWS에 보고됩니다."
S3.KMS.KeyDisabled “제공된 KMS 키가 비활성화되어 있습니다. 키를 활성화하거나 다른 키를 사용하세요.”
S3.KMS.InvalidStateException “제공된 KMS 키가 유효하지 않은 상태입니다. 다른 키를 사용하세요.”
KMS.InvalidStateException “제공된 KMS 키가 유효하지 않은 상태입니다. 다른 키를 사용하세요.”
KMS.DisabledException “제공된 KMS 키가 비활성화되어 있습니다. 키를 수정하거나 다른 키를 사용하세요.”
S3.SlowDown “지정된 버킷에 대한 put 요청 비율이 너무 높았습니다. Firehose 스트림 버퍼 크기를 늘리거나 다른 애플리케이션의 PUT 요청을 줄이세요.”
S3.SubscriptionRequired “S3를 호출하는 중 액세스가 거부되었습니다. 전달된 IAM 역할 및 KMS 키(입력한 경우)가 Amazon S3을 구독하고 있는지 확인하세요.”
S3.InvalidToken “입력된 토큰의 형식이 잘못되었거나 유효하지 않습니다. 입력된 자격 증명을 확인하세요.”
S3.KMS.KeyNotConfigured “KMS 키가 구성되어 있지 않습니다. KMSmasterKeyID를 구성하거나 S3 버킷의 암호화를 비활성화하세요.”
S3.KMS.AsymmetricCMKNotSupported “Amazon S3는 대칭 CMK만 지원합니다. 비대칭 CMK를 사용하여 Amazon S3에서 데이터를 암호화할 수 없습니다. CMK 유형을 확인하려면 KMS DescribeKey 작업을 사용하세요.”
S3.IllegalLocationConstraintException “현재 Firehose는 구성된 s3 버킷으로 데이터를 전송하기 위해 s3 글로벌 엔드포인트를 사용합니다. 구성된 s3 버킷의 리전은 s3 글로벌 엔드포인트를 지원하지 않습니다. s3 버킷과 동일한 리전에 Firehose 스트림을 생성하거나 글로벌 엔드포인트를 지원하는 리전에서 s3 버킷을 사용하세요.”
S3.InvalidPrefixConfigurationException “타임스탬프 평가에 사용된 사용자 지정 s3 접두사가 유효하지 않습니다. s3 접두사에 해당 연도의 현재 날짜 및 시간에 대한 올바른 표현식이 포함되어 있는지 확인하세요.”
DataFormatConversion.MalformedData “토큰 사이에 잘못된 문자가 있습니다.”

Apache Iceberg 테이블 데이터 전송 오류

Apache Iceberg 테이블 데이터 전송 오류에 대해서는, Amazon Data Firehose를 사용하여 Apache Iceberg 테이블에 데이터 전송을 참조하세요.

Amazon Redshift 데이터 전송 오류

Amazon Data Firehose는 다음과 같은 Amazon Redshift 관련 오류를 CloudWatch Logs로 전송할 수 있습니다.

오류 코드 오류 메시지와 정보
Redshift.TableNotFound

"데이터를 로드할 테이블을 찾을 수 없습니다. 지정된 테이블이 있어야 합니다."

S3로부터 데이터를 복사해야 하는 Amazon Redshift의 대상 테이블을 찾을 수 없습니다. Amazon Redshift 테이블이 없는 경우, Amazon Data Firehose는 테이블을 만들지 않습니다.

Redshift.SyntaxError "COPY 명령에 구문 오류가 있습니다. 명령을 다시 시도하세요."
Redshift.AuthenticationFailed "입력하신 사용자 이름과 암호가 인증에 실패했습니다. 유효한 사용자 이름 및 암호를 입력하세요."
Redshift.AccessDenied "액세스가 거부되었습니다. 입력한 IAM 역할에 대한 신뢰 정책에 따라 Amazon 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 "테이블 스키마에 DEFAULT 값 없이 NOT NULL로 정의되어 있고 열 목록에 포함되지 않은 열이 있습니다. 이 열을 제외하고, 로드한 데이터가 항상 이 열에 대한 값을 제공하는지 확인하거나 이 테이블에 대한 Amazon Redshift 스키마에 기본 값을 추가하세요."
Redshift.ConnectionFailed "지정된 Amazon Redshift 클러스터에 연결하지 못했습니다. 보안 설정이 Amazon 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가 요구한 하나 이상의 S3 파일이 S3 버킷에서 제거되었습니다. S3 버킷 정책을 확인하여 S3 파일의 자동 삭제를 제거하세요."
Redshift.InsufficientPrivilege "사용자는 데이터를 테이블에 로드할 권한이 없습니다. Amazon Redshift 사용자 권한에 INSERT 권한이 있는지 확인하세요."
Redshift.ReadOnlyCluster "시스템이 크기 조정 모드에 있기 때문에 쿼리를 실행할 수 없습니다. 나중에 다시 쿼리를 시도하세요."
Redshift.DiskFull "디스크가 가득 차 데이터를 로드할 수 없습니다. Amazon Redshift 클러스터의 용량을 늘리거나 사용하지 않는 데이터를 삭제해 디스크 공간을 확보하세요."
InternalError "데이터 전송을 시도하는 동안 내부 오류가 발생했습니다. 전송이 다시 시도됩니다. 오류가 지속될 경우 해결을 위해 AWS에 보고됩니다."
Redshift.ArgumentNotSupported “COPY 명령에 지원되지 않는 옵션이 포함되어 있습니다.”
Redshift.AnalyzeTableAccessDenied “액세스가 거부되었습니다. 테이블 또는 데이터베이스 소유자만 테이블 분석을 수행할 수 있기 때문에 S3에서 Redshift로의 복사가 실패합니다.”
Redshift.SchemaNotFound "Amazon Redshift 대상 구성의 DataTableName에 지정된 스키마를 찾을 수 없습니다. 유효한 스키마 이름을 지정하세요.”
Redshift.ColumnSpecifiedMoreThanOnce “열 목록에 두 번 이상 지정된 열이 있습니다. 중복된 열은 제거해야 합니다.”
Redshift.ColumnNotNullWithoutDefault “열 목록에 포함되어 있지 않으며 DEFAULT가 없는, null이 아닌 열이 있습니다. 해당 열이 열 목록에 포함되어 있는지 확인하세요.”
Redshift.IncorrectBucketRegion “Redshift가 클러스터와 다른 리전에 있는 버킷을 사용하려고 시도했습니다. 클러스터와 같은 리전 내의 버킷을 지정하세요.”
Redshift.S3SlowDown “S3에 대한 높은 요청율. 전송률이 저하되지 않도록 속도를 낮추세요.”
Redshift.InvalidCopyOptionForJson “json CopyOption에 대해 자동 또는 유효한 S3 경로를 사용하세요.”
Redshift.InvalidCopyOptionJSONPathFormat “COPY 실패 오류 \”잘못된 JSONPath 형식입니다. 배열 인덱스가 범위를 벗어났습니다\”. JSONPath 표현식을 수정하세요.”
Redshift.InvalidCopyOptionRBACAclNotAllowed “COPY 실패 오류 \”권한 전파가 활성화되지 않은 상태에서는 RBAC acl 프레임워크를 사용할 수 없습니다.\”
Redshift.DiskSpaceQuotaExceeded “디스크 공간 할당량 초과로 인해 트랜잭션이 중단되었습니다. 디스크 공간을 확보하거나 스키마의 할당량 증가를 요청하세요.”
Redshift.ConnectionsLimitExceeded “사용자에 대한 연결 제한이 초과되었습니다.”
Redshift.SslNotSupported “서버가 SSL을 지원하지 않기 때문에 지정된 Amazon Redshift 클러스터에 연결하지 못했습니다. 클러스터 설정을 확인하세요.”
Redshift.HoseNotFound “호스가 삭제되었습니다. 호스의 상태를 확인하세요.”
Redshift.Delimiter “CopyCommand의 copyOptions 구분 기호가 잘못되었습니다. 단일 문자여자 합니다.”
Redshift.QueryCancelled “사용자가 COPY 작업을 취소했습니다.”
Redshift.CompressionMismatch “호스는 UNCOMPRESSED로 구성되었지만 CopyOption에 압축 형식이 포함되어 있습니다.”
Redshift.EncryptionCredentials “ENCRYPTED 옵션을 사용하려면 다음 형식의 자격 증명이 필요합니다: 'aws_iam_role=...;master_symmetric_key=...' 또는 'aws_access_key_id=...;aws_secret_access_key=...[;token=...];master_symmetric_key=...'"
Redshift.InvalidCopyOptions “COPY 구성 옵션이 잘못되었습니다.”
Redshift.InvalidMessageFormat “COPY 명령에 잘못된 문자가 있습니다.”
Redshift.TransactionIdLimitReached “거래 ID 한도에 도달했습니다.”
Redshift.DestinationRemoved “redshift 대상이 존재하고 Firehose 구성에 올바르게 설정되어 있는지 확인하세요.”
Redshift.OutOfMemory “Redshift 클러스터에 메모리가 부족합니다. 클러스터의 용량이 충분한지 확인하세요.”
Redshift.CannotForkProcess “Redshift 클러스터에 메모리가 부족합니다. 클러스터의 용량이 충분한지 확인하세요.”
Redshift.SslFailure “핸드셰이크 중에 SSL 연결이 종료되었습니다.”
Redshift.Resize “Redshift 클러스터의 크기가 조정되고 있습니다. 클러스터 크기가 조정되는 동안에는 Firehose가 데이터를 전송할 수 없습니다.”
Redshift.ImproperQualifiedName “인증된 이름이 적절하지 않습니다(점 표시 이름이 너무 많음).”
Redshift.InvalidJsonPathFormat “잘못된 JSONPath 형식입니다.”
Redshift.TooManyConnectionsException “Redshift에 대한 연결이 너무 많습니다.”
Redshift.PSQLException “Redshift에서 PSQlException이 발견되었습니다.”
Redshift.DuplicateSecondsSpecification “날짜/시간 형식의 초 지정이 중복되었습니다.”
Redshift.RelationCouldNotBeOpened “Redshift 오류가 발생했습니다. 관계를 열 수 없습니다. 지정된 DB에 대한 Redshift 로그를 확인하세요.”
Redshift.TooManyClients “Redshift에서 너무 많은 클라이언트 예외가 발생했습니다. 여러 명의 생산자가 동시에 데이터베이스에 데이터를 쓰는 경우 데이터베이스에 대한 최대 연결 수를 다시 확인하세요.”

Snowflake 데이터 전송 오류

Firehose는 다음과 같은 Snowflake 관련 오류를 CloudWatch Logs로 전송할 수 있습니다.

오류 코드 오류 메시지와 정보
Snowflake.InvalidUrl

“Firehose가 Snowflake에 연결할 수 없습니다. Snowflake 대상 구성에서 계정 URL이 올바르게 지정되었는지 확인하세요.”

Snowflake.InvalidUser

“Firehose가 Snowflake에 연결할 수 없습니다. Snowflake 대상 구성에서 사용자가 올바르게 지정되었는지 확인하세요.”

Snowflake.InvalidRole

“지정된 snowflake 역할이 존재하지 않거나 권한이 없습니다. 지정된 사용자에게 역할이 부여되었는지 확인하세요.”

Snowflake.InvalidTable

“제공된 테이블이 없거나 권한이 없습니다.”

Snowflake.InvalidSchema

“제공된 스키마가 존재하지 않거나 권한이 없습니다.”

Snowflake.InvalidDatabase

“제공된 데이터베이스가 존재하지 않거나 권한이 없습니다.”

Snowflake.InvalidPrivateKeyOrPassphrase

“지정된 프라이빗 키 또는 암호가 유효하지 않습니다. 제공된 프라이빗 키는 유효한 PEM RSA 프라이빗 키여야 합니다.”

Snowflake.MissingColumns

“입력 페이로드의 열이 누락되어 삽입 요청이 거부되었습니다. nullable이 아닌 모든 열에 대해 값이 지정되어 있는지 확인합니다.”

Snowflake.ExtraColumns

“추가 열로 인해 삽입 요청이 거부되었습니다. 테이블에 없는 열은 지정하면 안 됩니다.”

Snowflake.InvalidInput

“잘못된 입력 형식으로 인해 전송에 실패했습니다. 제공된 입력 페이로드가 허용되는 JSON 형식인지 확인합니다.”

Snowflake.IncorrectValue

“입력 페이로드의 잘못된 데이터 유형으로 인해 전송에 실패했습니다. 입력 페이로드에 지정된 JSON 값이 Snowflake 테이블 정의에 선언된 데이터 유형을 준수하는지 확인합니다.”

Splunk 데이터 전송 오류

Amazon Data Firehose는 다음과 같은 Splunk 관련 오류를 CloudWatch Logs로 전송할 수 있습니다.

오류 코드 오류 메시지와 정보
Splunk.ProxyWithoutStickySessions

"Amazon Data Firehose 노드와 HEC 노드 사이에 프록시(ELB 또는 기타)가 있는 경우, HEC ACK를 지원하려면 고정 세션을 활성화해야 합니다."

Splunk.DisabledToken "HEC 토큰이 비활성화됩니다. Splunk로의 데이터 전송을 허용하려면 이 토큰을 활성화하세요."
Splunk.InvalidToken "HEC 토큰이 잘못되었습니다. 유효한 HEC 토큰으로 Amazon Data Firehose를 업데이트하세요.”
Splunk.InvalidDataFormat "데이터의 형식이 올바르지 않습니다. 원시 또는 이벤트 HEC 엔드포인트에 대해 데이터 형식을 적절히 지정하는 방법은 Splunk Event Data를 참조하세요."
Splunk.InvalidIndex "HEC 토큰 또는 입력이 잘못된 인덱스로 구성되어 있습니다. 인덱스 구성을 확인한 후 다시 시도하세요."
Splunk.ServerError “HEC 노드의 서버 오류로 인해 Splunk로 데이터를 전송하지 못했습니다. Amazon Data Firehose의 재시도 기간이 0보다 큰 경우 Amazon Data Firehose는 데이터 전송을 재시도합니다. 재시도가 모두 실패하면 Amazon Data Firehose는 데이터를 Amazon S3에 백업합니다.”
Splunk.DisabledAck "HEC 토큰에 대해 인덱서 확인이 비활성화됩니다. 인덱서 확인을 활성화하고 다시 시도하세요. 자세한 정보는 Enable indexer acknowledgement를 참조하세요."
Splunk.AckTimeout "HEC 확인 제한 시간 만료 전에 HEC에서 확인을 받지 않았습니다. 확인 제한 시간에도 불구하고, Splunk에서 데이터를 올바로 인덱싱할 수 있었습니다. Amazon Data Firehose는 확인 제한 시간이 만료된 데이터를 Amazon S3에 백업합니다.”
Splunk.MaxRetriesFailed

"Splunk로의 데이터 전송 또는 확인 수신에 실패했습니다. HEC 상태를 확인한 후 다시 시도하세요."

Splunk.ConnectionTimeout "Splunk 연결 시간을 초과했습니다. 이는 일시적인 오류일 수 있으며 요청이 재시도됩니다. 재시도가 모두 실패하면 Amazon Data Firehose는 데이터를 Amazon S3에 백업합니다.”
Splunk.InvalidEndpoint "HFC 엔드포인트에 연결할 수 없습니다. HEC 엔드포인트 URL이 유효하고 Amazon Data Firehose에서 이 URL에 접근 가능한지 확인합니다."
Splunk.ConnectionClosed "연결 실패로 인해 Splunk에 데이터를 전송할 수 없습니다. 일시적 오류일 수 있습니다. Amazon Data Firehose 구성에서 재시도 지속시간을 늘리면 이러한 일시적 오류를 방지할 수도 있습니다."
Splunk.SSLUnverified "HFC 엔드포인트에 연결할 수 없습니다. 호스트가 피어에 의해 제공된 인증서와 일치하지 않습니다. 인증서와 호스트가 유효한지 확인하세요."
Splunk.SSLHandshake "HFC 엔드포인트에 연결할 수 없습니다. 인증서와 호스트가 유효한지 확인하세요."
Splunk.URLNotFound “Splunk 서버에서 요청된 URL을 찾을 수 없습니다. Splunk 클러스터가 올바르게 구성되었는지 확인하세요.”
Splunk.ServerError.ContentTooLarge “StatusCode: 413(메시지: 클라이언트가 보낸 요청이 너무 큼)과 함께 서버 오류로 인해 Splunk로 데이터를 전송하지 못했습니다. max_content_length 설정은 Splunk 문서를 참조하세요.”
Splunk.IndexerBusy “HEC 노드의 서버 오류로 인해 Splunk로 데이터를 전송하지 못했습니다. HEC 엔드포인트 또는 Elastic Load Balancer가 정상 상태이며 연결 가능한지 확인하세요.”
Splunk.ConnectionRecycled “Firehose와 Splunk의 연결이 다시 순환되었습니다. 전송을 다시 시도합니다.”
Splunk.AcknowledgementsDisabled “POST에 대한 확인을 받을 수 없습니다. HEC 엔드포인트에 확인이 활성화되어 있는지 확인하세요.”
Splunk.InvalidHecResponseCharacter “HEC 응답에 잘못된 문자가 있습니다. 서비스와 HEC 구성을 확인하세요.”

ElasticSearch 데이터 전송 오류

Amazon Data Firehose는 다음과 같은 ElasticSearch 오류를 CloudWatch Logs로 전송할 수 있습니다.

오류 코드 오류 메시지와 정보
ES.AccessDenied "액세스가 거부되었습니다. Firehose와 관련하여 입력된 IAM 역할이 삭제되지 않았는지 확인하세요.”
ES.ResourceNotFound “지정된 AWS Elasticsearch 도메인이 존재하지 않습니다.”

HTTPS 엔드포인트 데이터 전송 오류

Amazon Data Firehose는 다음과 같은 HTTP 엔드포인트 관련 오류를 CloudWatch Logs로 전송할 수 있습니다. 이 오류 중에 현재 발생한 문제와 일치하는 오류가 없는 경우 기본 오류는 다음과 같습니다: “데이터 전송을 시도하는 동안 내부 오류가 발생했습니다. 전송이 다시 시도됩니다. 오류가 지속될 경우 해결을 위해 AWS에 보고됩니다."

오류 코드 오류 메시지와 정보
HttpEndpoint.RequestTimeout

응답을 받기 전에 전송 시간이 초과되었으므로 다시 시도됩니다. 이 오류가 지속되면 AWS Firehose 서비스 팀에 문의하세요.

HttpEndpoint.ResponseTooLarge “엔드포인트에서 수신한 응답이 너무 큽니다. 엔드포인트 소유자에게 문의하여 이 문제를 해결하세요.”
HttpEndpoint.InvalidResponseFromDestination “지정된 엔드포인트에서 받은 응답이 유효하지 않습니다. 엔드포인트 소유자에게 문의하여 이 문제를 해결하세요.”
HttpEndpoint.DestinationException “엔드포인트 대상으로부터 다음 응답을 수신했습니다.”
HttpEndpoint.ConnectionFailed “대상 엔드포인트에 연결할 수 없습니다. 엔드포인트 소유자에게 문의하여 이 문제를 해결하세요.”
HttpEndpoint.ConnectionReset “엔드포인트와의 연결을 유지할 수 없습니다. 엔드포인트 소유자에게 문의하여 이 문제를 해결하세요.”
HttpEndpoint.ConnectionReset “엔드포인트와의 연결을 유지하는 데 문제가 있습니다. 엔드드포인트 소유자에게 문의하세요.”
HttpEndpoint.ResponseReasonPhraseExceededLimit “엔드포인트에서 수신한 응답 이유 문구가 구성된 제한인 64자를 초과했습니다.”
HttpEndpoint.InvalidResponseFromDestination “엔드포인트에서 받은 응답이 유효하지 않습니다. 자세한 내용은 Firehose 설명서의 HTTP 엔드포인트 문제 해결을 참조하세요. 원인: “
HttpEndpoint.DestinationException “엔드포인트로의 전송에 실패했습니다. 자세한 내용은 Firehose 설명서의 HTTP 엔드포인트 문제 해결을 참조하세요. 상태 코드와 함께 응답을 수신함 ”
HttpEndpoint.InvalidStatusCode “잘못된 응답 상태 코드를 수신했습니다.”
HttpEndpoint.SSLHandshakeFailure “엔드포인트를 통한 SSL 핸드셰이크를 완료할 수 없습니다. 엔드포인트 소유자에게 문의하여 이 문제를 해결하세요.”
HttpEndpoint.SSLHandshakeFailure “엔드포인트를 통한 SSL 핸드셰이크를 완료할 수 없습니다. 엔드포인트 소유자에게 문의하여 이 문제를 해결하세요.”
HttpEndpoint.SSLFailure “엔드포인트를 통한 TLS 핸드셰이크를 완료할 수 없습니다. 엔드포인트 소유자에게 문의하여 이 문제를 해결하세요.”
HttpEndpoint.SSLHandshakeCertificatePathFailure “잘못된 인증 경로로 인해 엔드포인트를 통한 SSL 핸드셰이크를 완료할 수 없습니다. 엔드포인트 소유자에게 문의하여 이 문제를 해결하세요.”
HttpEndpoint.SSLHandshakeCertificatePathValidationFailure “인증 경로 검증 실패로 인해 엔드포인트를 통한 SSL 핸드셰이크를 완료할 수 없습니다. 엔드포인트 소유자에게 문의하여 이 문제를 해결하세요.”
HttpEndpoint.MakeRequestFailure.IllegalUriException “잘못된 URI 입력으로 인해 HttpendPoint 요청이 실패했습니다. 입력한 URI의 모든 문자가 올바른지 확인하세요.”
HttpEndpoint.MakeRequestFailure.IllegalCharacterInHeaderValue “잘못된 응답 오류로 인해 HttpendPoint 요청이 실패했습니다. 헤더 값에 잘못된 '\n' 문자가 있습니다.”
HttpEndpoint.IllegalResponseFailure “잘못된 응답 오류로 인해 HttpendPoint 요청이 실패했습니다. HTTP 메시지는 콘텐츠-유형 헤더를 두 개 이상 포함할 수 없습니다.”
HttpEndpoint.IllegalMessageStart “잘못된 응답 오류로 인해 HttpendPoint 요청이 실패했습니다. HTTP 메시지 시작이 잘못되었습니다. 자세한 내용은 Firehose 설명서의 HTTP 엔드포인트 문제 해결을 참조하세요.”

Amazon OpenSearch Service 데이터 전송 오류

OpenSearch Service 대상의 경우 Amazon Data Firehose는 OpenSearch Service에서 오류가 반환되면 이를 CloudWatch Logs에 전송합니다.

OpenSearch 클러스터에서 반환될 수 있는 오류 외에도 다음 두 가지 오류가 발생할 수 있습니다.

  • 대상 OpenSearch Service 클러스터에 데이터를 전달하려고 시도하는 동안 인증/권한 부여 오류가 발생합니다. 이는 권한 문제로 인해 발생하거나 Amazon Data Firehose의 대상 OpenSearch Service 도메인 구성이 수정될 때 간헐적으로 발생할 수 있습니다. 클러스터 정책 및 역할 권한을 확인하세요.

  • 인증/권한 부여 실패로 인해 대상 OpenSearch 서비스 클러스터로 데이터를 전달할 수 없습니다. 이는 권한 문제로 인해 발생하거나 Amazon Data Firehose의 대상 OpenSearch Service 도메인 구성이 수정될 때 간헐적으로 발생할 수 있습니다. 클러스터 정책 및 역할 권한을 확인하세요.

오류 코드 오류 메시지와 정보
OS.AccessDenied "액세스가 거부되었습니다. 입력한 IAM 역할에 대한 신뢰 정책에 따라 Firehose가 역할을 사용할 수 있고, 액세스 정책에 따라 Amazon OpenSearch Service API에 액세스가 가능해야 합니다."
OS.AccessDenied "액세스가 거부되었습니다. 입력한 IAM 역할에 대한 신뢰 정책에 따라 Firehose가 역할을 사용할 수 있고, 액세스 정책에 따라 Amazon OpenSearch Service API에 액세스가 가능해야 합니다."
OS.AccessDenied "액세스가 거부되었습니다. Firehose와 관련하여 입력된 IAM 역할이 삭제되지 않았는지 확인하세요.”
OS.AccessDenied "액세스가 거부되었습니다. Firehose와 관련하여 입력된 IAM 역할이 삭제되지 않았는지 확인하세요.”
OS.ResourceNotFound “지정된 Amazon OpenSearch Service 도메인이 존재하지 않습니다.”
OS.ResourceNotFound “지정된 Amazon OpenSearch Service 도메인이 존재하지 않습니다.”
OS.AccessDenied "액세스가 거부되었습니다. 입력한 IAM 역할에 대한 신뢰 정책에 따라 Firehose가 역할을 사용할 수 있고, 액세스 정책에 따라 Amazon OpenSearch Service API에 액세스가 가능해야 합니다."
OS.RequestTimeout “Amazon OpenSearch Service 클러스터 또는 OpenSearch Serverless 컬렉션에 대한 요청 시간이 초과되었습니다. 클러스터 또는 컬렉션에 현재 워크로드에 필요한 용량이 충분한지 확인하세요.”
OS.ClusterError “Amazon OpenSearch Service 클러스터가 지정되지 않은 오류를 반환했습니다.”
OS.RequestTimeout “Amazon OpenSearch Service 클러스터에 대한 요청 시간이 초과되었습니다. 클러스터에 현재 워크로드에 필요한 용량이 충분한지 확인하세요.”
OS.ConnectionFailed “Amazon OpenSearch Service 클러스터 또는 OpenSearch Serverless 컬렉션에 연결하는 데 문제가 있습니다. 클러스터 또는 컬렉션이 정상 상태이고 연결 가능한지 확인하세요.”
OS.ConnectionReset “Amazon OpenSearch Service 클러스터 또는 OpenSearch Serverless 컬렉션과의 연결을 유지할 수 없습니다. 클러스터 또는 컬렉션 소유자에게 문의하여 이 문제를 해결하세요.”
OS.ConnectionReset “Amazon OpenSearch Service 클러스터 또는 OpenSearch Serverless 컬렉션과의 연결을 유지하는 데 문제가 있습니다. 클러스터 또는 컬렉션이 정상 상태이고 현재 워크로드에 필요한 용량이 충분한지 확인하세요.”
OS.ConnectionReset “Amazon OpenSearch Service 클러스터 또는 OpenSearch Serverless 컬렉션과의 연결을 유지하는 데 문제가 있습니다. 클러스터 또는 컬렉션이 정상 상태이고 현재 워크로드에 필요한 용량이 충분한지 확인하세요.”
OS.AccessDenied "액세스가 거부되었습니다. Amazon OpenSearch Service 클러스터의 액세스 정책이 구성된 IAM 역할에 대한 액세스를 허용하는지 확인하세요.”
OS.ValidationException “OpenSearch 클러스터가 ESServiceException을 반환했습니다. 한 가지 원인으로는, 클러스터가 OS 2.x 이상으로 업그레이드되었지만 호스에 여전히 TypeName 파라미터가 구성되어 있기 때문입니다. TypeName을 빈 문자열로 설정하여 호스 구성을 업데이트하거나 엔드포인트를 Type 파라미터를 지원하는 클러스터로 변경하세요.”
OS.ValidationException “구성원은 다음 정규 표현식 패턴을 충족해야 합니다: [a-z][a-z0-9\\ -]+
OS.JsonParseException “Amazon OpenSearch Service 클러스터가 JSONParseException을 반환했습니다. 입력되는 데이터가 유효한지 확인하세요.”
OS.AmazonOpenSearchServiceParseException “Amazon OpenSearch Service 클러스터가 AmazonOpenSearchServiceParseException를 반환했습니다. 입력되는 데이터가 유효한지 확인하세요.”
OS.ExplicitIndexInBulkNotAllowed “Amazon OpenSearch Service 클러러스터에 rest.action.multi.allow_explicit_index가 true로 설정되어 있는지 확인하세요.”
OS.ClusterError “Amazon OpenSearch Service 클러스터 또는 OpenSearch Serverless 컬렉션이 지정되지 않은 오류를 반환했습니다.”
OS.ClusterBlockException “클러스터가 ClusterBlockException를 반환했습니다. 과부하가 발생했을 수 있습니다.”
OS.InvalidARN “입력된 Amazon OpenSearch Service ARN이 유효하지 않습니다. DeliveryStream 구성을 확인하세요.”
OS.MalformedData “하나 이상의 레코드 형식이 잘못되었습니다. 각 레코드는 하나의 유효한 JSON 객체여야 하며, 줄 바꿈이 포함되지 않아야 합니다.”
OS.InternalError "데이터 전송을 시도하는 동안 내부 오류가 발생했습니다. 전송이 다시 시도됩니다. 오류가 지속될 경우 해결을 위해 AWS에 보고됩니다."
OS.AliasWithMultipleIndicesNotAllowed “별칭에 연결된 인덱스가 두 개 이상 있습니다. 별칭에 연결된 인덱스는 하나만 있어야 합니다.”
OS.UnsupportedVersion “Amazon OpenSearch Service 6.0은 현재 Amazon Data Firehose에서 지원되지 않습니다. 자세한 정보는 AWS Support에 문의하세요.”
OS.CharConversionException “하나 이상의 레코드에 잘못된 문자가 포함되어 있습니다.”
OS.InvalidDomainNameLength “도메인 이름 길이가 유효한 OS 한도를 벗어났습니다.”
OS.VPCDomainNotSupported “VPC 내의 Amazon OpenSearch Service 도메인은 현재 지원되지 않습니다.”
OS.ConnectionError “http 서버가 예기치 않게 연결을 끊었습니다. Amazon OpenSearch Service 클러스터 또는 OpenSearch Serverless 컬렉션의 상태를 확인하세요.”
OS.LargeFieldData “Amazon OpenSearch Service 클러스터에 허용된 것보다 큰 필드 데이터가 포함되어 있어 요청을 중단했습니다.”
OS.BadGateway “Amazon OpenSearch Service 클러스터 또는 OpenSearch Serverless 컬렉션은 502 Bad Gateway 응답과 함께 요청을 중단했습니다.”
OS.ServiceException “Amazon OpenSearch Service 클러스터 또는 OpenSearch Serverless 컬렉션으로부터 오류가 수신되었습니다. 클러스터 또는 컬렉션이 VPC 뒤에 있는 경우 네트워크 구성이 연결을 허용하는지 확인하세요.”
OS.GatewayTimeout “Amazon OpenSearch Service 클러스터 또는 OpenSearch Serverless 컬렉션에 연결하는 도중 Firehoe에 시간 초과 오류가 발생했습니다.”
OS.MalformedData “Amazon Data Firehose는 Firehose 레코드 내에 Amazon OpenSearch Service Bulk API 명령을 지원하지 않습니다.”
OS.ResponseEntryCountMismatch “Bulk API의 응답에 전송된 레코드 수보다 많은 항목이 포함되었습니다. 각 레코드에 하나의 JSON 객체만 포함될 수 있으며 줄 바꿈이 없어야 합니다.”

Lambda 호출 오류

Amazon Data Firehose는 다음과 같은 Lambda 호출 오류를 CloudWatch Logs로 전송할 수 있습니다.

오류 코드 오류 메시지와 정보
Lambda.AssumeRoleAccessDenied

"액세스가 거부되었습니다. 입력한 IAM 역할에 대한 신뢰 정책에 따라 Amazon Data Firehose가 역할을 사용할 수 있어야 합니다."

Lambda.InvokeAccessDenied

"액세스가 거부되었습니다. 액세스 정책이 Lambda 함수에 대한 액세스를 허용해야 합니다."

Lambda.JsonProcessingException

"Lambda 함수에서 반환한 레코드를 구문 분석하는 중 오류가 발생했습니다. 반환된 레코드가 Amazon Data Firehose에서 요구하는 상태 모델을 따르는지 확인하세요."

자세한 내용은 데이터 변환에 필요한 파라미터 섹션을 참조하세요.

Lambda.InvokeLimitExceeded

"Lambda 동시 실행 한도를 초과했습니다. 동시 실행 한도를 늘리세요."

자세한 정보는 AWS Lambda 개발자 안내서AWS Lambda 제한을 참조하세요.

Lambda.DuplicatedRecordId

"동일한 레코드 ID로 여러 레코드가 반환되었습니다. Lambda 함수가 각 레코드에 고유한 레코드 ID를 반환하는지 확인하세요."

자세한 내용은 데이터 변환에 필요한 파라미터 섹션을 참조하세요.

Lambda.MissingRecordId

"하나 이상의 레코드 ID가 반환되었습니다. Lambda 함수가 수신한 모든 레코드 ID를 반환하는지 확인하세요."

자세한 내용은 데이터 변환에 필요한 파라미터 섹션을 참조하세요.

Lambda.ResourceNotFound

"지정된 Lambda 함수가 존재하지 않습니다. 다른 기존 함수를 사용하세요."

Lambda.InvalidSubnetIDException

"Lambda 함수 VPC 구성에서 지정된 서브넷 ID가 유효하지 않습니다. 서브넷 ID가 유효한지 확인하세요."

Lambda.InvalidSecurityGroupIDException

"Lambda 함수 VPC 구성에서 지정된 보안 그룹 ID가 유효하지 않습니다. 보안 그룹 ID가 유효한지 확인하세요."

Lambda.SubnetIPAddressLimitReachedException

"하나 이상의 구성된 서브넷에 사용 가능한 IP 주소가 없어 AWS Lambda가 Lambda 함수에 대한 VPC 액세스를 설정하지 못했습니다. IP 주소 제한을 늘리세요."

자세한 내용은 Amazon VPC 사용 설명서Amazon VPC 제한 - VPC 및 서브넷을 참조하세요.

Lambda.ENILimitReachedException

"네트워크 인터페이스 제한에 도달했기 때문에 Lambda 함수 구성의 일부로 지정된 VPC에서 AWS Lambda가 Elastic Network Interface(ENI)를 생성하지 못했습니다. 네트워크 인터페이스 제한을 늘리세요."

자세한 내용은 Amazon VPC 사용 설명서Amazon VPC 제한 - 네트워크 인터페이스를 참조하세요.

Lambda.FunctionTimedOut

Lambda 함수가 시간을 초과했습니다. Lambda 함수의 Timeout 설정을 늘리세요. 자세한 내용은 함수 제한 시간을 참조하세요.

Lambda.FunctionError

이는 다음 오류 중 하나로 인해 발생할 수 있습니다.

  • 잘못된 출력 구조. 함수를 확인하고 출력이 필수 형식인지 확인하세요. 또한 처리된 레코드에 Dropped, Ok 또는 ProcessingFailed의 유효한 결과 상태가 포함되어 있는지 확인하세요.

  • Lambda 함수가 성공적으로 호출되었지만 오류 결과를 반환했습니다.

  • KMS 액세스가 거부되었기 때문에 Lambda가 환경 변수를 복호화할 수 없습니다. 함수의 KMS 키 설정과 키 정책을 확인하세요. 자세한 내용은 키 액세스 문제 해결을 참조하세요.

Lambda.FunctionRequestTimedOut

Amazon Data Firehose에서 Lambda를 호출하는 중 Request did not complete before the request timeout configuration(요청 시간 초과 구성 전에 요청이 완료되지 않음) 오류가 발생했습니다. Lambda 코드를 다시 검토하여 Lambda 코드가 구성된 제한 시간을 초과하여 실행되어야 하는지 확인하세요. 그런 경우, 메모리, 제한 시간을 포함한 Lambda 구성 설정의 조정을 고려하세요. 자세한 내용은 Lambda 함수 옵션 구성을 참조하세요.

Lambda.TargetServerFailedToRespond

Amazon Data Firehose에 오류가 발생했습니다. 대상 서버가 AWS Lambda 서비스를 호출하는 중 발생한 오류에 응답하지 못했습니다.

Lambda.InvalidZipFileException

Amazon Data Firehose에서 Lambda 함수를 호출하는 중 InvalidZipFileException 오류가 발생했습니다. Lambda 함수 구성 설정 및 Lambda 코드 압축 파일을 확인하세요.

Lambda.InternalServerError

“Amazon Data Firehose에서 AWS Lambda 서비스를 호출하는 중 내부 서버 오류가 발생했습니다. Amazon Data Firehose는 정해진 횟수만큼 데이터 전송을 재시도합니다. CreateDeliveryStream 또는 UpdateDestination API를 사용하여 재시도 옵션을 정의하거나 재정의할 수 있습니다. 오류가 지속될 경우 AWS Lambda 지원팀에 문의하세요.

Lambda.ServiceUnavailable

Amazon Data Firehose에서 AWS Lambda 서비스를 호출하는 중 ServiceUnavailableException 오류가 발생했습니다. Amazon Data Firehose는 정해진 횟수만큼 데이터 전송을 재시도합니다. CreateDeliveryStream 또는 UpdateDestination API를 사용하여 재시도 옵션을 정의하거나 재정의할 수 있습니다. 오류가 지속될 경우 AWS Lambda 지원팀에 문의하세요.

Lambda.InvalidSecurityToken

잘못된 보안 토큰으로 인해 Lambda 함수를 호출할 수 없습니다. 파티션 간 Lambda 호출은 지원되지 않습니다.

Lambda.InvocationFailure

이는 다음 오류 중 하나로 인해 발생할 수 있습니다.

  • Amazon Data Firehose에서 AWS Lambda를 호출하는 중 오류가 발생했습니다. 작업이 다시 시도됩니다. 오류가 지속될 경우 해결을 위해 AWS에 보고됩니다."

  • Amazon Data Firehose에서 Lambda의 KMSInvalidStateException 오류가 발생했습니다. 오류: 사용된 KMS 키가 복호화에 대해 잘못된 상태에 있으므로 Lambda가 환경 변수를 복호화할 수 없습니다. Lambda 함수의 KMS 키를 확인하세요.

  • Amazon Data Firehose에서 Lambda의 AWS LambdaException 오류가 발생했습니다. Lambda가 제공된 컨테이너 이미지를 초기화하지 못했습니다. 이미지를 확인하세요.

  • Amazon Data Firehose에서 AWS Lambda를 호출하는 중 시간 초과 오류가 발생했습니다. 지원되는 함수 제한 시간은 최대 5분입니다. 자세한 내용은 데이터 변환 실행 기간간을 참조하세요.

Lambda.JsonMappingException

Lambda 함수에서 반환한 레코드를 구문 분석하는 중 오류가 발생했습니다. 데이터 필드가 Base-64로 인코딩되었는지 확인하세요.

Kinesis 호출 오류

Amazon Data Firehose는 다음과 같은 Kinesis 호출 오류를 CloudWatch Logs로 전송할 수 있습니다.

오류 코드 오류 메시지와 정보
Kinesis.AccessDenied “Kinesis를 호출하는 동안 액세스가 거부되었습니다. 사용된 IAM 역할의 액세스 정책이 해당 Kinesis API에 대한 액세스를 허용하는지 확인하세요.”
Kinesis.ResourceNotFound “Firehose가 스트림에서 데이터를 읽지 못했습니다. Firehose가 Kinesis Stream에 연결되어 있는 경우 스트림이 존재하지 않거나 샤드가 병합 또는 분할되었을 수 있습니다. Firehose가 DirectPut 유형인 경우 Firehose가 더 이상 존재하지 않을 수 있습니다.”
Kinesis.SubscriptionRequired “Kinesis를 호출하는 동안 액세스가 거부되었습니다. Kinesis 스트림 액세스를 위해 전달된 IAM 역할에 AWS Kinesis 구독이 있는지 확인하세요.”
Kinesis.Throttling “Kinesis를 호출하는 동안 제한(Throttling)오류가 발생했습니다. 이는 다른 애플리케이션이 Firehose 스트림과 동일한 API를 호출하거나, 사용자가 소스와 동일한 Kinesis 스트림을 사용하여 Firehose 스트림을 너무 많이 생성했기 때문일 수 있습니다.”
Kinesis.Throttling “Kinesis를 호출하는 동안 제한(Throttling)오류가 발생했습니다. 이는 다른 애플리케이션이 Firehose 스트림과 동일한 API를 호출하거나, 사용자가 소스와 동일한 Kinesis 스트림을 사용하여 Firehose 스트림을 너무 많이 생성했기 때문일 수 있습니다.”
Kinesis.AccessDenied “Kinesis를 호출하는 동안 액세스가 거부되었습니다. 사용된 IAM 역할의 액세스 정책이 해당 Kinesis API에 대한 액세스를 허용하는지 확인하세요.”
Kinesis.AccessDenied “기본 Kinesis Stream에서 API 작업을 호출하려고 시도하는 동안 액세스가 거부되었습니다. IAM 역할이 전파되어 있고 유효한지 확인하세요.”
Kinesis.KMS.AccessDeniedException “Firehose가 Kinesis 스트림을 암호화/복호화하는 데 사용되는 KMS 키에 액세스할 수 없습니다. Firehose 전송 역할에 키에 대한 액세스 권한을 부여하세요.”
Kinesis.KMS.KeyDisabled “암호화/복호화에 사용되는 KMS 키가 비활성화되어 있기 때문에 Firehose가 소스 Kinesis Stream을 읽을 수 없습니다. 읽기를 계속할 수 있도록 키를 활성화하세요.”
Kinesis.KMS.InvalidStateException “암호화에 사용되는 KMS 키가 유효하지 않은 상태기 때문에 Firehose가 소스 Kinesis Stream을 읽을 수 없습니다.”
Kinesis.KMS.NotFoundException “암호화에 사용되는 KMS 키를 찾을 수 없기 때문에 Firehose가 소스 Kinesis Stream을 읽을 수 없습니다.”

Kinesis DirectPut 호출 오류

Amazon Data Firehose는 다음과 같은 Kinesis DirectPut 호출 오류를 CloudWatch Logs로 전송할 수 있습니다.

오류 코드 오류 메시지와 정보
Firehose.KMS.AccessDeniedException “Firehose가 KMS 키에 액세스할 수 없습니다. 키 정책을 확인하세요.”
Firehose.KMS.InvalidStateException “암호화에 사용되는 KMS 키가 유효하지 않은 상태기 때문에 Firehose가 데이터를 복호화할 수 없습니다.”
Firehose.KMS.NotFoundException “암호화에 사용되는 KMS 키를 찾을 수 없기 때문에 Firehose가 데이터를 복호화할 수 없습니다.”
Firehose.KMS.KeyDisabled “데이터 암호화에 사용되는 KMS 키가 비활성화되어 있기 때문에 Firehose가 데이터를 복호화할 수 없습니다. 데이터 전송을 계속할 수 있도록 키를 활성화하세요.”

AWS Glue 호출 오류

Amazon Data Firehose는 다음과 같은 AWS Glue 호출 오류를 CloudWatch Logs로 전송할 수 있습니다.

오류 코드 오류 메시지와 정보
DataFormatConversion.InvalidSchema “스키마가 유효하지 않습니다.”
DataFormatConversion.EntityNotFound “지정된 테이블 또는 데이터베이스를 찾을 수 없습니다. 테이블/데이터베이스가 존재하고 스키마 구성에 제공된 값이 특히 대/소문자와 관련하여 올바른지 확인하세요.”
DataFormatConversion.InvalidInput “Glue에서 일치하는 스키마를 찾을 수 없습니다. 제공된 카탈로그 ID를 가진 지정된 데이터베이스가 존재하는지 확인하세요.”
DataFormatConversion.InvalidInput “Glue에서 일치하는 스키마를 찾을 수 없습니다. 전달된 ARN이 올바른 형식인지 확인하세요.”
DataFormatConversion.InvalidInput “Glue에서 일치하는 스키마를 찾을 수 없습니다. 제공된 CataloGID가 유효한지 확인하세요.”
DataFormatConversion.InvalidVersionId “Glue에서 일치하는 스키마를 찾을 수 없습니다. 지정된 버전의 테이블이 존재하는지 확인하세요.”
DataFormatConversion.NonExistentColumns “Glue에서 일치하는 스키마를 찾을 수 없습니다. 테이블이 대상 열을 포함한, null이 아닌 스토리지 설명자로 구성되어 있는지 확인하세요.”
DataFormatConversion.AccessDenied “역할 수임 중 액세스가 거부되었습니다. 데이터 형식 변환 구성에 지정된 역할이 Firehose 서비스에 역할을 사용할 수 있는 권한을 부여했는지 확인하세요.”
DataFormatConversion.ThrottledByGlue “Glue를 호출하는 동안 제한(Throttling)오류가 발생했습니다. 요청 비율 제한을 늘리거나 다른 애플리케이션을 통해 Glue를 호출하는 현재 비율을 낮추세요.”
DataFormatConversion.AccessDenied “Glue를 호출하는 동안 액세스가 거부되었습니다. 데이터 형식 변환 구성에 지정된 역할에 필수 권한이 있는지 확인하세요.”
DataFormatConversion.InvalidGlueRole “잘못된 역할입니다. 데이터 형식 변환 구성에 지정된 역할이 존재하는지 확인하세요.”
DataFormatConversion.InvalidGlueRole “요청에 포함된 보안 토큰이 잘못되었습니다. Firehose와 관련하여 입력된 IAM 역할이 삭제되지 않았는지 확인하세요.”
DataFormatConversion.GlueNotAvailableInRegion “지정한 리전에서 AWS Glue가 아직 제공되지 않습니다. 다른 리전을 지정하세요.”
DataFormatConversion.GlueEncryptionException “마스터 키를 검색하는 중 오류가 발생했습니다. 키가 존재하고 올바른 액세스 권한이 있는지 확인하세요.”
DataFormatConversion.SchemaValidationTimeout “Glue에서 테이블을 가져오는 중 시간이 초과되었습니다. Glue 테이블 버전이 많은 경우 'Glue:GettableVersion' 권한을 추가하거나 (권장) 사용하지 않는 테이블 버전을 삭제하세요. Glue에 테이블 수가 많지 않은 경우 AWS Support에 문의하세요.”
DataFirehose.InternalError “Glue에서 테이블을 가져오는 중 시간이 초과되었습니다. Glue 테이블 버전이 많은 경우 'Glue:GettableVersion' 권한을 추가하거나 (권장) 사용하지 않는 테이블 버전을 삭제하세요. Glue에 테이블 수가 많지 않은 경우 AWS Support에 문의하세요.”
DataFormatConversion.GlueEncryptionException “마스터 키를 검색하는 중 오류가 발생했습니다. 키가 존재하고 상태가 정상인지 확인하세요.”

DataFormatConversion 호출 오류

Amazon Data Firehose는 다음과 같은 DataFormatConversion 호출 오류를 CloudWatch Logs로 전송할 수 있습니다.

오류 코드 오류 메시지와 정보
DataFormatConversion.InvalidSchema “스키마가 유효하지 않습니다.”
DataFormatConversion.ValidationException “열 이름과 유형은 비어 있지 않은 문자열이어야 합니다.”
DataFormatConversion.ParseError “잘못된 JSON 형식입니다.”
DataFormatConversion.MalformedData “데이터가 스키마와 일치하지 않습니다.”
DataFormatConversion.MalformedData “json 키의 길이는 262144를 초과할 수 없습니다.”
DataFormatConversion.MalformedData “데이터를 UTF-8 형식으로 디코딩할 수 없습니다.”
DataFormatConversion.MalformedData “토큰 사이에 잘못된 문자가 있습니다.”
DataFormatConversion.InvalidTypeFormat “잘못된 Type 형식입니다. Type 구문을 확인하세요.”
DataFormatConversion.InvalidSchema “잘못된 스키마입니다. 열 이름에 특수 문자나 공백이 있는지 확인하세요.”
DataFormatConversion.InvalidRecord “레코드가 스키마와 다릅니다. 맵<스트링,문자열>에 대해 하나 이상의 맵 키가 유효하지 않습니다.”
DataFormatConversion.MalformedData “입력 JSON의 최상위 레벨에 프리미티브가 포함되어 있습니다. 최상위 레벨은 객체 또는 배열이어야 합니다.”
DataFormatConversion.MalformedData “입력 JSON의 최상위 레벨에 프리미티브가 포함되어 있습니다. 최상위 레벨은 객체 또는 배열이어야 합니다.”
DataFormatConversion.MalformedData “레코드가 비어 있거나 공백만 포함되어 있습니다.”
DataFormatConversion.MalformedData “잘못된 문자입니다.”
DataFormatConversion.MalformedData “유효하지 않거나 지원되지 않는 타임스탬프 형식입니다. 지원되는 타임스탬프 형식은 Firehose 개발자 가이드를 참조하세요.”
DataFormatConversion.MalformedData “데이터에서 스칼라 유형을 찾았지만 스키마에 복합 유형이 지정되었습니다.”
DataFormatConversion.MalformedData “데이터가 스키마와 일치하지 않습니다.”
DataFormatConversion.MalformedData “데이터에서 스칼라 유형을 찾았지만 스키마에 복합 유형이 지정되었습니다.”
DataFormatConversion.ConversionFailureException "ConversionFailureException"
DataFormatConversion.DataFormatConversionCustomerErrorException "DataFormatConversionCustomerErrorException"
DataFormatConversion.DataFormatConversionCustomerErrorException "DataFormatConversionCustomerErrorException"
DataFormatConversion.MalformedData “데이터가 스키마와 일치하지 않습니다.”
DataFormatConversion.InvalidSchema “스키마가 유효하지 않습니다.”
DataFormatConversion.MalformedData “데이터가 스키마와 일치하지 않습니다. 하나 이상의 날짜의 형식이 잘못되었습니다.”
DataFormatConversion.MalformedData “데이터에 지원되지 않으며 고도로 중첩된 JSON 구조가 포함되어 있습니다.”
DataFormatConversion.EntityNotFound “지정된 테이블 또는 데이터베이스를 찾을 수 없습니다. 테이블/데이터베이스가 존재하고 스키마 구성에 제공된 값이 특히 대/소문자와 관련하여 올바른지 확인하세요.”
DataFormatConversion.InvalidInput “Glue에서 일치하는 스키마를 찾을 수 없습니다. 제공된 카탈로그 ID를 가진 지정된 데이터베이스가 존재하는지 확인하세요.”
DataFormatConversion.InvalidInput “Glue에서 일치하는 스키마를 찾을 수 없습니다. 전달된 ARN이 올바른 형식인지 확인하세요.”
DataFormatConversion.InvalidInput “Glue에서 일치하는 스키마를 찾을 수 없습니다. 제공된 CataloGID가 유효한지 확인하세요.”
DataFormatConversion.InvalidVersionId “Glue에서 일치하는 스키마를 찾을 수 없습니다. 지정된 버전의 테이블이 존재하는지 확인하세요.”
DataFormatConversion.NonExistentColumns “Glue에서 일치하는 스키마를 찾을 수 없습니다. 테이블이 대상 열을 포함한, null이 아닌 스토리지 설명자로 구성되어 있는지 확인하세요.”
DataFormatConversion.AccessDenied “역할 수임 중 액세스가 거부되었습니다. 데이터 형식 변환 구성에 지정된 역할이 Firehose 서비스에 역할을 사용할 수 있는 권한을 부여했는지 확인하세요.”
DataFormatConversion.ThrottledByGlue “Glue를 호출하는 동안 제한(Throttling)오류가 발생했습니다. 요청 비율 제한을 늘리거나 다른 애플리케이션을 통해 Glue를 호출하는 현재 비율을 낮추세요.”
DataFormatConversion.AccessDenied “Glue를 호출하는 동안 액세스가 거부되었습니다. 데이터 형식 변환 구성에 지정된 역할에 필수 권한이 있는지 확인하세요.”
DataFormatConversion.InvalidGlueRole “잘못된 역할입니다. 데이터 형식 변환 구성에 지정된 역할이 존재하는지 확인하세요.”
DataFormatConversion.GlueNotAvailableInRegion “지정한 리전에서 AWS Glue가 아직 제공되지 않습니다. 다른 리전을 지정하세요.”
DataFormatConversion.GlueEncryptionException “마스터 키를 검색하는 중 오류가 발생했습니다. 키가 존재하고 올바른 액세스 권한이 있는지 확인하세요.”
DataFormatConversion.SchemaValidationTimeout “Glue에서 테이블을 가져오는 중 시간이 초과되었습니다. Glue 테이블 버전이 많은 경우 'Glue:GettableVersion' 권한을 추가하거나 (권장) 사용하지 않는 테이블 버전을 삭제하세요. Glue에 테이블 수가 많지 않은 경우 AWS Support에 문의하세요.”
DataFirehose.InternalError “Glue에서 테이블을 가져오는 중 시간이 초과되었습니다. Glue 테이블 버전이 많은 경우 'Glue:GettableVersion' 권한을 추가하거나 (권장) 사용하지 않는 테이블 버전을 삭제하세요. Glue에 테이블 수가 많지 않은 경우 AWS Support에 문의하세요.”
DataFormatConversion.MalformedData “하나 이상의 필드 형식이 잘못되었습니다.”