

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

# Amazon S3 전송 작동 방식
<a name="data-delivery-s3-about"></a>

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

## 전송 작동 방식
<a name="data-delivery-s3-how-it-works"></a>

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

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

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

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

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

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

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

## 스토리지 구성
<a name="data-delivery-s3-storage-configuration"></a>

 Amazon S3 전송을 생성할 때 다음 스토리지 구성을 지정합니다.
+  **BucketARN** - 대상 Amazon S3 버킷의 ARN입니다.
+  **ExpectedBucketOwner** - 대상 버킷의 예상 소유자의 12자리 AWS 계정 ID입니다. 이 값은 필수이며 소유권이 변경될 경우 의도하지 않은 버킷으로 전달되지 않도록 하는 데 도움이 됩니다.
+  **CompressionType** - 전달된 객체에 적용되는 압축 유형입니다. 이 값은 필수입니다. 압축 없이 객체를 전송`NONE`하도록를 지정합니다. [압축 옵션](#data-delivery-s3-compression)을(를) 참조하세요.
+  **StorageClass** - 전송된 객체에 대한 Amazon S3 스토리지 클래스입니다(선택 사항). [스토리지 클래스](#data-delivery-s3-storage-class)을(를) 참조하세요.
+  **OutputKeyTemplate** - Amazon S3 객체 키를 구성하는 데 사용되는 템플릿입니다(선택 사항). [Amazon S3 전송을 위한 S3 출력 키 템플릿 Amazon S3](data-delivery-s3-key-template.md)을(를) 참조하세요.

## 압축 옵션
<a name="data-delivery-s3-compression"></a>

 범용 Amazon S3 버킷으로 전송할 압축 유형을 지정해야 합니다. 압축 없이 객체를 전송하려면를 선택합니다`NONE`. 다음 압축 유형 중 하나를 선택합니다.
+ **GZIP** - 표준 gzip 압축. 압축률과 속도의 균형이 양호합니다.
+ **ZSTD** - Zstandard 압축. 더 빠른 압축 해제로 더 높은 압축률.
+ **NONE** - 압축이 적용되지 않습니다. 레코드는 압축되지 않은 상태로 전송됩니다.

## 스토리지 클래스
<a name="data-delivery-s3-storage-class"></a>

 선택적으로 전송된 객체에 대한 Amazon S3 스토리지 클래스를 지정할 수 있습니다. 지정하지 않으면 기본 스토리지 클래스는 STANDARD입니다. 지원되는 스토리지 클래스: 
+ **STANDARD** - 자주 액세스하는 데이터를 위한 범용 스토리지입니다.
+ **INTELLIGENT\_TIERING** - 사용 패턴에 따라 액세스 계층 간에 데이터를 자동으로 이동합니다.
+ **GLACIER\_IR** - 즉각적인 검색이 필요한 데이터를 위한 저비용 스토리지입니다.

 Amazon S3 스토리지 클래스에 대한 자세한 내용은 *Amazon S3 사용 설명서*의 [스토리지 클래스 이해 및 관리를](https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage-class-intro.html) 참조하세요.

## 출력 키 템플릿
<a name="data-delivery-s3-key-template-about"></a>

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

## 데이터 최신성
<a name="data-delivery-s3-data-freshness"></a>

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

## Dead Letter Queue(DLQ)
<a name="data-delivery-s3-dead-letter-queue"></a>

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

 배달 못한 편지 대기열을 지정하는 경우 다음을 제공합니다.
+  **BucketARN** - 전송할 수 없는 레코드에 대한 정보를 수신하는 Amazon S3 버킷의 ARN입니다.
+  **ExpectedBucketOwner** - 배달 못한 편지 대기열 버킷의 예상 소유자의 12자리 AWS 계정 ID입니다( 배달 못한 편지 대기열을 지정할 때 필요).
+  **ErrorOutputPrefix** - 버킷 내에서 실패 메타데이터 객체를 구성하기 위한 선택적 접두사입니다.

## 레코드 형식
<a name="data-delivery-s3-record-formats"></a>

 Amazon S3 전송은 범용 Amazon S3 버킷으로 전송하기 위해 다음과 같은 레코드 형식을 지원합니다.
+ **JSON** - 일반 JSON 레코드입니다.
+ **STRING** - UTF-8 문자열 레코드입니다.
+ **BYTE\_ARRAY** - 원시 바이너리 레코드입니다.

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

## 교차 계정 전송
<a name="data-delivery-s3-cross-account"></a>

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

## 암호화(Encryption)
<a name="data-delivery-s3-encryption"></a>

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

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

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