View a markdown version of this page

Amazon S3 전송 작동 방식 - Amazon Kinesis Data Streams

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

Amazon S3 전송 작동 방식

이 주제를 사용하여 Amazon S3 전송이 Amazon Kinesis Data Streams 스트림의 레코드를 스토리지 구성, 압축, 스토리지 클래스, 레코드 형식 및 암호화를 포함한 범용 Amazon Simple Storage Service 버킷으로 전송하는 방법을 알아봅니다.

전송 작동 방식

Amazon S3 전송은 다음 단계에 따라 레코드를 범용 Amazon S3 버킷으로 전송합니다.

  1. 읽기 - 전송은 Kinesis Data Streams 스트림의 모든 샤드에서 레코드를 읽습니다.

  2. 버퍼 - 데이터 새로 고침 간격에 도달할 때까지 레코드가 버퍼링됩니다.

  3. 검증 - 레코드 형식이 인 경우 STRING각 레코드는 유효한 UTF-8 문자열로 검증되고JSON, 레코드 형식이 인 경우 각 레코드는 유효한 JSON 페이로드로 검증됩니다. 검증에 실패한 레코드는 배달 못한 편지 대기열로 전송됩니다.

  4. 압축 및 형식 - 레코드는 구성된 출력 형식에 따라 형식이 지정되고 지정된 압축 알고리즘을 사용하여 압축됩니다.

  5. 전송 - 결과 객체는 구성된 키 템플릿을 사용하여 대상 Amazon S3 버킷에 기록됩니다.

  6. 배달 못한 편지 대기열 - 검증에 실패한 레코드는 오류 컨텍스트와 함께 배달 못한 편지 대기열에 기록됩니다.

스토리지 구성

Amazon S3 전송을 생성할 때 다음 스토리지 구성을 지정합니다.

  • BucketARN - 대상 Amazon S3 버킷의 ARN입니다.

  • ExpectedBucketOwner - 대상 버킷의 예상 소유자의 12자리 AWS 계정 ID입니다. 이 값은 필수이며 소유권이 변경될 경우 의도하지 않은 버킷으로 전달되지 않도록 하는 데 도움이 됩니다.

  • CompressionType - 전달된 객체에 적용되는 압축 유형입니다. 이 값은 필수입니다. 압축 없이 객체를 전송NONE하도록를 지정합니다. 압축 옵션을(를) 참조하세요.

  • StorageClass - 전송된 객체에 대한 Amazon S3 스토리지 클래스입니다(선택 사항). 스토리지 클래스을(를) 참조하세요.

  • OutputKeyTemplate - Amazon S3 객체 키를 구성하는 데 사용되는 템플릿입니다(선택 사항). Amazon S3 전송을 위한 S3 출력 키 템플릿 Amazon S3을(를) 참조하세요.

압축 옵션

범용 Amazon S3 버킷으로 전송할 압축 유형을 지정해야 합니다. 압축 없이 객체를 전송하려면를 선택합니다NONE. 다음 압축 유형 중 하나를 선택합니다.

  • GZIP - 표준 gzip 압축. 압축률과 속도의 균형이 양호합니다.

  • ZSTD - Zstandard 압축. 더 빠른 압축 해제로 더 높은 압축률.

  • NONE - 압축이 적용되지 않습니다. 레코드는 압축되지 않은 상태로 전송됩니다.

스토리지 클래스

선택적으로 전송된 객체에 대한 Amazon S3 스토리지 클래스를 지정할 수 있습니다. 지정하지 않으면 기본 스토리지 클래스는 STANDARD입니다. 지원되는 스토리지 클래스:

  • STANDARD - 자주 액세스하는 데이터를 위한 범용 스토리지입니다.

  • INTELLIGENT_TIERING - 사용 패턴에 따라 액세스 계층 간에 데이터를 자동으로 이동합니다.

  • GLACIER_IR - 즉각적인 검색이 필요한 데이터를 위한 저비용 스토리지입니다.

Amazon S3 스토리지 클래스에 대한 자세한 내용은 Amazon S3 사용 설명서의 스토리지 클래스 이해 및 관리를 참조하세요.

출력 키 템플릿

전송된 파일의 Amazon S3 객체 키 구조를 제어하도록 출력 키 템플릿을 구성할 수 있습니다. 템플릿은 날짜, 시간 및 전송 메타데이터에 대한 동적 자리 표시자를 지원하여 대상 버킷의 데이터를 구성합니다. 기본 템플릿, 지원되는 변수 및 예제는 섹션을 참조하세요Amazon S3 전송을 위한 S3 출력 키 템플릿 Amazon S3.

데이터 최신성

데이터 신선도는 레코드가 전달되기 전의 최대 버퍼링 시간을 정의합니다. 이 값은 300~900초(5~15분) 사이에서 구성할 수 있습니다. 기본값은 300초입니다. 값이 작을수록 전송 속도가 빨라지고 값이 클수록 객체가 더 적고 커집니다.

Dead Letter Queue(DLQ)

배달 못한 편지 대기열은 범용 Amazon S3 버킷으로 전송하는 데 선택 사항입니다. 배달 못한 편지 대기열 구성을 지정하지 않으면 전송은 기본적으로 오류 접두사가 있는 동일한 대상 버킷에 오류 정보를 기록합니다.

배달 못한 편지 대기열을 지정하는 경우 다음을 제공합니다.

  • BucketARN - 전송할 수 없는 레코드에 대한 정보를 수신하는 Amazon S3 버킷의 ARN입니다.

  • ExpectedBucketOwner - 배달 못한 편지 대기열 버킷의 예상 소유자의 12자리 AWS 계정 ID입니다( 배달 못한 편지 대기열을 지정할 때 필요).

  • ErrorOutputPrefix - 버킷 내에서 실패 메타데이터 객체를 구성하기 위한 선택적 접두사입니다.

레코드 형식

Amazon S3 전송은 범용 Amazon S3 버킷으로 전송하기 위해 다음과 같은 레코드 형식을 지원합니다.

  • JSON - 일반 JSON 레코드입니다.

  • STRING - UTF-8 문자열 레코드입니다.

  • BYTE_ARRAY - 원시 바이너리 레코드입니다.

참고

GSR_JSON 레코드 형식은 범용 Amazon S3 버킷으로 전송하는 데 지원되지 않습니다. AWS Glue 스키마 레지스트리가 필요한 Apache Iceberg의 스트리밍 테이블로 전송하는 경우에만 지원됩니다.

교차 계정 전송

Amazon S3 전송은 범용 Amazon S3 버킷으로의 교차 계정 전송을 지원합니다. 소스 스트림과 대상 버킷은 동일해야 합니다 AWS 리전. 전송 IAM 역할에 객체를 작성할 수 있는 권한을 부여하도록 대상 버킷 정책을 구성합니다.

암호화(Encryption)

Amazon S3 전송은 범용 Amazon S3 버킷으로 전송된 AWS KMS 객체에 대해 고객 관리형 키를 사용한 서버 측 암호화를 지원합니다. 고객 관리형 AWS KMS 키를 지정하여 전송된 객체를 암호화할 수 있습니다.

중요

대상 암호화에는 aws/kinesis AWS KMS 별칭을 사용할 수 없습니다. 고객 관리형 AWS KMS 키를 사용해야 합니다.

소스 Kinesis 데이터 스트림이 암호화된 경우 추가 고려 사항이 적용됩니다. AWS 관리형 키 (aws/kinesis별칭)로 암호화된 스트림은 지원되지 않으며, 서비스 실행 역할에는 소스 레코드를 해독할 AWS KMS 권한이 필요합니다. 소스 스트림 암호화 요구 사항은 섹션을 참조하세요소스 스트림 암호화. 서비스 실행 역할에 필요한 권한은 섹션을 참조하세요 AWS KMS 데이터 전송을 위한 IAM 권한.