
백엔드
알리는사람들의 Amazon Data Firehose로 Amazon DynamoDB를 Amazon S3 tables로 실시간 복제하기
두줄요약
DynamoDB 변경 이벤트를 Firehose와 Iceberg S3 Tables로 실시간 복제하는 파이프라인 구성을 소개했습니다. Athena와 QuickSight로 분석 가능한 구조와 권한 설정, 변환 시 주의점까지 정리했습니다.
핵심 내용
- DynamoDB Streams 변경 이벤트를 Kinesis Data Stream, Amazon Data Firehose, Transform Lambda를 거쳐 S3 Tables의 Iceberg 테이블로 실시간 복제하는 파이프라인 구성
- DynamoDB 운영 데이터의 분석 한계를 보완하기 위해 Athena와 QuickSight에서 조회 가능한 구조로 전환
- S3 Table Bucket, Namespace, Iceberg 테이블, Resource Link, Lake Formation 권한 설정까지 포함한 전체 연동 절차 정리
주의할 점
- Firehose의 DestinationDatabaseName은 원본 Glue Database가 아니라 Resource Link로 만든 DB 이름 사용
- 컬럼명은 camelCase와 snake_case 혼용을 피하고, Iceberg 스키마와 정확히 일치시키기
- NewImage 또는 OldImage 누락, glue:GetTable 오류, 중복 적재 등 예외 상황 점검 필요
적용해볼 점
- 실시간 운영 데이터를 배치 덤프 없이 분석 테이블로 직접 적재하는 스트리밍 아키텍처 검토
- CloudWatch Logs와 Athena 쿼리로 적재·변환·쿼리 결과를 함께 검증하는 운영 방식 적용
- 멀티 테이블 연동, 지표 자동화, 대시보드 연계로 확장 가능
