

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

# 데이터 전송 모범 사례
<a name="data-delivery-best-practices"></a>

 다음 모범 사례는 Amazon Kinesis Data Streams에서 데이터 전송을 최대한 활용하는 데 도움이 됩니다. 이러한 권장 사항에서 참조되는 전송 지표의 전체 목록은 섹션을 참조하세요[데이터 전송 모니터링](data-delivery-monitoring.md).

## 처리량 및 데이터 신선도
<a name="best-practices-throughput"></a>
+  스트림 처리량에 따라 `DataFreshnessInSeconds` 파라미터를 설정합니다. 값이 낮을수록 전송 빈도가 증가하지만 출력 파일이 작아질 수 있습니다. 값이 높을수록 각 전송 주기에 대해 더 많은 데이터가 누적될 수 있습니다.
+  `DataFreshness` 지표에 Amazon CloudWatch 경보를 생성하여 전송 지연 시간이 허용 가능한 임계값을 초과하는 시기를 감지합니다.
+  동일한 Kinesis Data Streams 스트림에서 여러 전송을 생성할 수 있습니다. 각 전송은 독립적으로 작동하므로 여러 대상으로 동시에 데이터를 전송할 수 있습니다.

## 스키마 관리(Apache Iceberg의 스트리밍 테이블)
<a name="best-practices-schema"></a>
+  전송을 생성하기 전에 AWS Glue 스키마 레지스트리에 스키마를 등록합니다. 전송은 등록된 스키마를 사용하여 대상 테이블 구조를 정의합니다.
+  배달은 스키마 진화를 지원하지 않습니다. 스키마가 변경되면 업데이트된 스키마를 사용하여 전송을 삭제하고 다시 생성해야 합니다.
+  생산자 측 스키마 검증을 사용하여 모든 레코드가 스트림에 기록되기 전에 등록된 스키마를 준수하는지 확인합니다. 이렇게 하면 실패한 레코드 전송이 최소화됩니다.

## S3 객체 레이아웃(범용 Amazon S3 버킷)
<a name="best-practices-s3-layout"></a>
+  다운스트림 소비자의 쿼리 패턴과 일치하는 출력 키 템플릿을 선택합니다. 예를 들어 쿼리가 시간 범위별로 자주 필터링되는 경우 날짜 기반 접두사를 사용합니다.
+  GZIP 또는 ZSTD 압축을 활성화하여 스토리지 비용을 줄이고 다운스트림 분석 워크로드의 읽기 성능을 개선합니다.
+  데이터 액세스 패턴에 따라 적절한 Amazon S3 스토리지 클래스를 선택합니다. 자주 액세스하는 데이터의 경우 STANDARD를 사용하고, Amazon S3가 액세스 계층 간에 객체를 자동으로 이동하도록 하려면 INTELLIGENT\_TIERING을 사용하고, 밀리초 검색이 필요한 거의 액세스하지 않는 데이터의 경우 GLACIER\_IR을 사용합니다.

## 보안
<a name="best-practices-security"></a>
+  IAM 정책의 범위를 전송이 쓰는 특정 버킷 또는 테이블로 지정합니다. 와일드카드 리소스 ARNs 사용하지 마세요.
+  전송에 사용되는 IAM 역할의 신뢰 정책에 `aws:SourceArn` 및 `aws:SourceAccount` 조건 키를 포함합니다. 이렇게 하면 특정 전송만 역할을 수임할 수 있으므로 혼동된 대리자 문제를 방지할 수 있습니다.
+  AWS CloudTrail 로깅을 활성화하여 모든 전송 API 호출 및 구성 변경 사항을 감사합니다.
+  민감한 데이터에 고객 관리형 AWS KMS 키를 사용합니다. 이를 통해 키 교체, 액세스 정책 및 감사 추적을 완벽하게 제어할 수 있습니다.

## Dead Letter Queue(DLQ)
<a name="best-practices-dlq"></a>
+  항상 배달에 대한 배달 못한 편지 대기열을 구성합니다. 대상으로 전송할 수 없는 레코드는 이후 검사를 위해 배달 못한 편지 대기열로 전송됩니다.
+  CloudWatch의 `DLQDeliverySuccess` 지표(`DeliveryToS3.DLQDeliverySuccess` 또는 `DeliveryToIceberg.DLQDeliverySuccess`)를 모니터링하여 레코드가 배달 못한 편지 대기열로 라우팅되는 시기를 감지합니다.
+  배달 못한 편지 대기열 항목을 정기적으로 검사하여 전송 실패의 패턴을 식별하고 생산자 또는 전송 구성 수준에서 수정 조치를 취합니다.

## 모니터링
<a name="best-practices-monitoring"></a>
+  전송 `DataFreshness` 및 실패한 레코드 지표(`DeliveryToS3.FailedRecordCount` 또는 `DeliveryToIceberg.FailedRowCount`)에 대한 CloudWatch 경보를 생성하여 전송 문제를 사전에 감지합니다.
+  전송에 대해 CloudWatch Logs를 활성화하여 자세한 전송 진단 및 오류 메시지를 캡처합니다.
+  전송된 바이트 지표(`DeliveryToS3.BytesOut` 또는 `DeliveryToIceberg.BytesOut`)를 추적하여 처리량을 모니터링하고 예상치 못한 데이터 볼륨 감소를 식별합니다.